IDEA-117780 Bad code is green: non-static class T cannot be referenced from a static context

This commit is contained in:
Anna Kozlova
2013-12-06 20:51:59 +01:00
parent 8970cc321d
commit a0ba534c1d
2 changed files with 6 additions and 1 deletions
@@ -1079,7 +1079,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
final PsiTypeParameterListOwner owner = ((PsiTypeParameter)resolved).getOwner();
if (owner instanceof PsiClass) {
final PsiClass outerClass = (PsiClass)owner;
if (!InheritanceUtil.hasEnclosingInstanceInScope(outerClass, ref, true, false)) {
if (!InheritanceUtil.hasEnclosingInstanceInScope(outerClass, ref, false, false)) {
myHolder.add(HighlightClassUtil.reportIllegalEnclosingUsage(ref, aClass, (PsiClass)owner, ref));
}
}
@@ -10,4 +10,9 @@ class Test<T> {
class B extends ArrayList<T> {
void foo(T r){}
}
static class C extends Test<<error descr="'Test.this' cannot be referenced from a static context">T</error>> {}
static class D extends Test {
<error descr="'Test.this' cannot be referenced from a static context">T</error> t;
}
}