new inference: accept Object/null type argument equivalence

(cherry picked from commit e631676784df65aa2f68a4fcaddcae3802d3d7df)
This commit is contained in:
anna
2013-11-25 16:48:07 +01:00
parent 3188589850
commit 69191bf82b
@@ -41,7 +41,8 @@ public class SubtypingConstraint implements ConstraintFormula {
public boolean reduce(InferenceSession session, List<ConstraintFormula> 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);