From: peter Date: Wed, 4 May 2016 10:55:25 +0000 (+0200) Subject: add clarifying comments around JavaResolveUtil.getContextClass X-Git-Tag: appcode/146.1711~12^2~4 X-Git-Url: https://git.jetbrains.org/?p=idea%2Fcommunity.git;a=commitdiff_plain;h=59e086aa8867e602172f72f7ee44407f137266e5 add clarifying comments around JavaResolveUtil.getContextClass --- diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveUtil.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveUtil.java index fba9855a7229..83ca4fc4b781 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveUtil.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveUtil.java @@ -38,6 +38,7 @@ public class JavaResolveUtil { PsiElement prev = element; PsiElement scope = element.getContext(); while (scope != null) { + // skip the class if coming from its extends/implements list: those references only rely on the outer context for resolve if (scope instanceof PsiClass && (prev instanceof PsiMember || prev instanceof PsiDocComment)) { return (PsiClass)scope; } @@ -115,6 +116,7 @@ public class JavaResolveUtil { if (memberClass == null) { return false; } + // if resolving supertype reference, skip its containing class with getContextClass PsiClass contextClass = member instanceof PsiClass ? getContextClass(place) : PsiTreeUtil.getContextOfType(place, PsiClass.class, false); while (contextClass != null) {