From 69191bf82b22803f965c3972fe7e65cfbd23cb3e Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 20 Nov 2013 19:22:33 +0100 Subject: [PATCH] new inference: accept Object/null type argument equivalence (cherry picked from commit e631676784df65aa2f68a4fcaddcae3802d3d7df) --- .../graphInference/constraints/SubtypingConstraint.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/constraints/SubtypingConstraint.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/constraints/SubtypingConstraint.java index 96f9f3c60788..ef4dd45ef0a8 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/constraints/SubtypingConstraint.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/graphInference/constraints/SubtypingConstraint.java @@ -41,7 +41,8 @@ public class SubtypingConstraint implements ConstraintFormula { public boolean reduce(InferenceSession session, List constraints) { if (myIsRefTypes) { if (session.isProperType(myS) && session.isProperType(myT)) { - if (myT == null || myS == null) return myS == myT; + if (myT == null) return myS == null || myS.equalsToText(CommonClassNames.JAVA_LANG_OBJECT); + if (myS == null) return myT.equalsToText(CommonClassNames.JAVA_LANG_OBJECT); return TypeConversionUtil.isAssignable(myT, myS); } InferenceVariable inferenceVariable = session.getInferenceVariable(myS);