ExpressionUtils#getEffectiveQualifier: fix for static qualifier

GitOrigin-RevId: 48c9242ba7813841bd74c3d5f400b705e25fd3c9
This commit is contained in:
Tagir Valeev
2019-11-07 02:40:58 +00:00
committed by intellij-monorepo-bot
parent ef177e7a04
commit c785fc97ed
@@ -939,13 +939,13 @@ public class ExpressionUtils {
}
PsiClass memberClass = member.getContainingClass();
if (memberClass != null) {
if (member.hasModifierProperty(PsiModifier.STATIC)) {
return factory.createReferenceExpression(memberClass);
}
PsiClass containingClass = ClassUtils.getContainingClass(ref);
if (containingClass == null) {
containingClass = PsiTreeUtil.getContextOfType(ref, PsiClass.class);
}
if (containingClass != null && member.hasModifierProperty(PsiModifier.STATIC)) {
return factory.createReferenceExpression(containingClass);
}
if (!InheritanceUtil.isInheritorOrSelf(containingClass, memberClass, true)) {
containingClass = ClassUtils.getContainingClass(containingClass);
while (containingClass != null && !InheritanceUtil.isInheritorOrSelf(containingClass, memberClass, true)) {