From 0407c16b6434bfd7656a0f48dc3b397fe5e49d75 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Fri, 28 Feb 2014 19:28:09 +0100 Subject: [PATCH] new inference: cleanup --- .../source/resolve/graphInference/InferenceSession.java | 6 ------ .../constraints/ExpressionCompatibilityConstraint.java | 6 +++++- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/InferenceSession.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/InferenceSession.java index d46d56d7d96c..727352e5e972 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/InferenceSession.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/InferenceSession.java @@ -20,7 +20,6 @@ import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.Pair; import com.intellij.psi.*; -import com.intellij.psi.impl.PsiImplUtil; import com.intellij.psi.impl.source.resolve.graphInference.constraints.*; import com.intellij.psi.infos.MethodCandidateInfo; import com.intellij.psi.search.GlobalSearchScope; @@ -360,16 +359,11 @@ public class InferenceSession { } return sameMethodCall; } - - public void addCapturedVariable(PsiTypeParameter param) { - initBounds(param); - } private void initReturnTypeConstraint(PsiMethod method, final PsiCallExpression context) { if (PsiPolyExpressionUtil.isMethodCallPolyExpression(context, method)) { PsiType returnType = method.getReturnType(); if (!PsiType.VOID.equals(returnType) && returnType != null) { - returnType = PsiImplUtil.normalizeWildcardTypeByPosition(returnType, context); PsiType targetType = PsiTypesUtil.getExpectedTypeByParent(context); if (targetType == null) { targetType = getTargetType(context); diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/constraints/ExpressionCompatibilityConstraint.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/constraints/ExpressionCompatibilityConstraint.java index dcfd45104a25..8db944aaf904 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/constraints/ExpressionCompatibilityConstraint.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/constraints/ExpressionCompatibilityConstraint.java @@ -129,7 +129,11 @@ public class ExpressionCompatibilityConstraint extends InputOutputConstraintForm final PsiParameter[] parameters = method.getParameterList().getParameters(); callSession.initExpressionConstraints(parameters, args, myExpression, method); } - callSession.registerConstraints(returnType, myT); + final boolean accepted = callSession.repeatInferencePhases(true); + if (!accepted) { + //todo return false; + } + callSession.registerConstraints(returnType, substitutor.substitute(returnType)); if (callSession.repeatInferencePhases(true)) { final Collection inferenceVariables = callSession.getInferenceVariables(); if (sameMethodCall) {