IDEA-106119 (more rigorous check for "this" qualifier)

This commit is contained in:
Roman Shevchenko
2013-04-24 17:01:31 +02:00
parent c75897f520
commit 44e359d268
2 changed files with 10 additions and 3 deletions
@@ -1357,9 +1357,9 @@ public class HighlightUtil extends HighlightUtilBase {
}
}
final PsiClass aClass;
PsiClass aClass;
if (qualifier != null) {
final PsiElement resolved = qualifier.resolve();
PsiElement resolved = qualifier.advancedResolve(true).getElement();
if (resolved != null && !(resolved instanceof PsiClass)) {
String description = JavaErrorMessages.message("class.expected");
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(qualifier).descriptionAndTooltip(description).create();
@@ -1393,7 +1393,7 @@ public class HighlightUtil extends HighlightUtilBase {
}
return null;
}
private static boolean isInsideDefaultMethod(PsiMethod method, PsiClass aClass) {
while (method != null && method.getContainingClass() != aClass) {
method = PsiTreeUtil.getParentOfType(method, PsiMethod.class, true);
@@ -15,3 +15,10 @@ class R {
System.out.println(<error descr="'Z' is not an enclosing class">Z.super</error>.toString());
}
}
class W {
static String some = "";
static void m() {
synchronized (<error descr="Class name expected here">some</error>.this) { }
}
}