mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
new inference: method refs: do not provide raw substitutor when containing class provides empty one
This commit is contained in:
@@ -131,7 +131,10 @@ public class PsiMethodReferenceUtil {
|
||||
if (resolve instanceof PsiClass) {
|
||||
containingClass = (PsiClass)resolve;
|
||||
substitutor = resolveResult.getSubstitutor();
|
||||
return new QualifierResolveResult(containingClass, substitutor, true);
|
||||
final PsiElement element = methodReferenceExpression.getReferenceNameElement();
|
||||
final boolean isConstructor = element instanceof PsiKeyword && PsiKeyword.NEW.equals(element.getText());
|
||||
final boolean isRawSubst = (!isConstructor && PsiTreeUtil.isAncestor(containingClass, methodReferenceExpression, true)) && PsiUtil.isRawSubstitutor(containingClass, substitutor);
|
||||
return new QualifierResolveResult(containingClass, isRawSubst ? PsiSubstitutor.EMPTY : substitutor, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user