From 124be9ead78a753df41e10d09944afc8b9d64b31 Mon Sep 17 00:00:00 2001 From: Andrey Vlasovskikh Date: Mon, 28 Jan 2013 22:30:18 +0400 Subject: [PATCH] Cleanup --- .../python/psi/types/PyTypeChecker.java | 92 +++++++++---------- 1 file changed, 44 insertions(+), 48 deletions(-) diff --git a/python/src/com/jetbrains/python/psi/types/PyTypeChecker.java b/python/src/com/jetbrains/python/psi/types/PyTypeChecker.java index b47dacb6f48a..648f655e64e2 100644 --- a/python/src/com/jetbrains/python/psi/types/PyTypeChecker.java +++ b/python/src/com/jetbrains/python/psi/types/PyTypeChecker.java @@ -326,7 +326,7 @@ public class PyTypeChecker { if (callable instanceof PyFunction) { final PyExpression callee = call.getCallee(); final PyExpression receiver = callee instanceof PyQualifiedExpression ? ((PyQualifiedExpression)callee).getQualifier() : null; - return new AnalyzeCallResults((PyFunction)callable, receiver, arguments); + return new AnalyzeCallResults(callable, receiver, arguments); } } } @@ -336,41 +336,39 @@ public class PyTypeChecker { @Nullable public static AnalyzeCallResults analyzeCall(@NotNull PyBinaryExpression expr, @NotNull TypeEvalContext context) { final PsiPolyVariantReference ref = expr.getReference(PyResolveContext.noImplicits().withTypeEvalContext(context)); - if (ref != null) { - final ResolveResult[] resolveResult = ref.multiResolve(false); - AnalyzeCallResults firstResults = null; - for (ResolveResult result : resolveResult) { - final PsiElement resolved = result.getElement(); - if (resolved instanceof PyTypedElement) { - final PyTypedElement typedElement = (PyTypedElement)resolved; - final PyType type = typedElement.getType(context); - if (!(type instanceof PyFunctionType)) { - return null; - } - final Callable callable = ((PyFunctionType)type).getCallable(); - final boolean isRight = PyNames.isRightOperatorName(typedElement.getName()); - final PyExpression arg = isRight ? expr.getLeftExpression() : expr.getRightExpression(); - final PyExpression receiver = isRight ? expr.getRightExpression() : expr.getLeftExpression(); - final PyParameter[] parameters = callable.getParameterList().getParameters(); - if (parameters.length >= 2) { - final PyNamedParameter param = parameters[1].getAsNamed(); - if (arg != null && param != null) { - final Map arguments = new LinkedHashMap(); - arguments.put(arg, param); - final AnalyzeCallResults results = new AnalyzeCallResults(callable, receiver, arguments); - if (firstResults == null) { - firstResults = results; - } - if (match(param.getType(context), arg.getType(context), context)) { - return results; - } + final ResolveResult[] resolveResult = ref.multiResolve(false); + AnalyzeCallResults firstResults = null; + for (ResolveResult result : resolveResult) { + final PsiElement resolved = result.getElement(); + if (resolved instanceof PyTypedElement) { + final PyTypedElement typedElement = (PyTypedElement)resolved; + final PyType type = typedElement.getType(context); + if (!(type instanceof PyFunctionType)) { + return null; + } + final Callable callable = ((PyFunctionType)type).getCallable(); + final boolean isRight = PyNames.isRightOperatorName(typedElement.getName()); + final PyExpression arg = isRight ? expr.getLeftExpression() : expr.getRightExpression(); + final PyExpression receiver = isRight ? expr.getRightExpression() : expr.getLeftExpression(); + final PyParameter[] parameters = callable.getParameterList().getParameters(); + if (parameters.length >= 2) { + final PyNamedParameter param = parameters[1].getAsNamed(); + if (arg != null && param != null) { + final Map arguments = new LinkedHashMap(); + arguments.put(arg, param); + final AnalyzeCallResults results = new AnalyzeCallResults(callable, receiver, arguments); + if (firstResults == null) { + firstResults = results; + } + if (match(param.getType(context), arg.getType(context), context)) { + return results; } } } } - if (firstResults != null) { - return firstResults; - } + } + if (firstResults != null) { + return firstResults; } return null; } @@ -378,22 +376,20 @@ public class PyTypeChecker { @Nullable public static AnalyzeCallResults analyzeCall(@NotNull PySubscriptionExpression expr, @NotNull TypeEvalContext context) { final PsiReference ref = expr.getReference(PyResolveContext.noImplicits().withTypeEvalContext(context)); - if (ref != null) { - final PsiElement resolved = ref.resolve(); - if (resolved instanceof PyTypedElement) { - final PyType type = ((PyTypedElement)resolved).getType(context); - if (type instanceof PyFunctionType) { - final Callable callable = ((PyFunctionType)type).getCallable(); - final PyParameter[] parameters = callable.getParameterList().getParameters(); - if (parameters.length == 2) { - final PyNamedParameter param = parameters[1].getAsNamed(); - if (param != null) { - final Map arguments = new LinkedHashMap(); - final PyExpression arg = expr.getIndexExpression(); - if (arg != null) { - arguments.put(arg, param); - return new AnalyzeCallResults(callable, expr.getOperand(), arguments); - } + final PsiElement resolved = ref.resolve(); + if (resolved instanceof PyTypedElement) { + final PyType type = ((PyTypedElement)resolved).getType(context); + if (type instanceof PyFunctionType) { + final Callable callable = ((PyFunctionType)type).getCallable(); + final PyParameter[] parameters = callable.getParameterList().getParameters(); + if (parameters.length == 2) { + final PyNamedParameter param = parameters[1].getAsNamed(); + if (param != null) { + final Map arguments = new LinkedHashMap(); + final PyExpression arg = expr.getIndexExpression(); + if (arg != null) { + arguments.put(arg, param); + return new AnalyzeCallResults(callable, expr.getOperand(), arguments); } } }