EA-52436 - IAE: PsiElementFactoryImpl.createType

This commit is contained in:
anna
2013-11-28 14:14:44 +01:00
parent 055d3bffc5
commit 34cbde3a4e
2 changed files with 6 additions and 2 deletions
@@ -87,6 +87,7 @@ public class PsiMethodReferenceUtil {
myReferenceTypeQualified = referenceTypeQualified;
}
@Nullable
public PsiClass getContainingClass() {
return myContainingClass;
}
@@ -115,8 +115,11 @@ public class PsiMethodReferenceCompatibilityConstraint implements ConstraintForm
constraints.add(new TypeCompatibilityConstraint(GenericsUtil.eliminateWildcards(returnType), psiSubstitutor.substitute(applicableMethodReturnType)));
} else if (applicableMember instanceof PsiClass || applicableMember instanceof PsiMethod && ((PsiMethod)applicableMember).isConstructor()) {
final PsiElementFactory elementFactory = JavaPsiFacade.getElementFactory(applicableMember.getProject());
final PsiClassType classType = elementFactory.createType(qualifierResolveResult.getContainingClass(), psiSubstitutor);
constraints.add(new TypeCompatibilityConstraint(GenericsUtil.eliminateWildcards(returnType), classType));
final PsiClass containingClass = qualifierResolveResult.getContainingClass();
if (containingClass != null) {
final PsiClassType classType = elementFactory.createType(containingClass, psiSubstitutor);
constraints.add(new TypeCompatibilityConstraint(GenericsUtil.eliminateWildcards(returnType), classType));
}
}
}
return true;