summaryrefslogtreecommitdiff
path: root/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference')
-rw-r--r--java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/InferenceSession.java4
-rw-r--r--java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/constraints/InputOutputConstraintFormula.java5
2 files changed, 6 insertions, 3 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 361462430105..9d9c373159f9 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
@@ -1070,7 +1070,7 @@ public class InferenceSession {
session.addConstraint(new StrictSubtypingConstraint(tReturnType, sReturnType));
return true;
} else {
- return TypeConversionUtil.isAssignable(sReturnType, tReturnType);
+ return sReturnType != null && tReturnType != null && TypeConversionUtil.isAssignable(tReturnType, sReturnType);
}
}
}
@@ -1115,7 +1115,7 @@ public class InferenceSession {
session.addConstraint(new StrictSubtypingConstraint(tReturnType, sReturnType));
return true;
} else {
- return TypeConversionUtil.isAssignable(sReturnType, tReturnType);
+ return sReturnType != null && tReturnType != null && TypeConversionUtil.isAssignable(tReturnType, sReturnType);
}
}
diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/constraints/InputOutputConstraintFormula.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/constraints/InputOutputConstraintFormula.java
index 6ff17092dfd6..67097df574a0 100644
--- a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/constraints/InputOutputConstraintFormula.java
+++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/constraints/InputOutputConstraintFormula.java
@@ -65,7 +65,10 @@ public abstract class InputOutputConstraintFormula implements ConstraintFormula
}
}
- collectReturnTypeVariables(session, psiExpression, substitutor.substitute(interfaceMethod.getReturnType()), result);
+ final PsiType returnType = interfaceMethod.getReturnType();
+ if (returnType != null) {
+ collectReturnTypeVariables(session, psiExpression, substitutor.substitute(returnType), result);
+ }
return result;
}