mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-122519 No enclosing instance of type XXX in scope
This commit is contained in:
+1
-1
@@ -786,7 +786,7 @@ public class HighlightClassUtil {
|
||||
if (PsiKeyword.THIS.equals(methodCallExpression.getMethodExpression().getReferenceName())) continue;
|
||||
PsiReferenceExpression referenceExpression = methodCallExpression.getMethodExpression();
|
||||
PsiExpression qualifierExpression = PsiUtil.skipParenthesizedExprDown(referenceExpression.getQualifierExpression());
|
||||
if (!(qualifierExpression instanceof PsiReferenceExpression) && !(qualifierExpression instanceof PsiNewExpression)) return false;
|
||||
if (!(qualifierExpression instanceof PsiReferenceExpression) && !(qualifierExpression instanceof PsiCallExpression)) return false;
|
||||
PsiType type = qualifierExpression.getType();
|
||||
if (!(type instanceof PsiClassType)) return false;
|
||||
PsiClass resolved = ((PsiClassType)type).resolve();
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
class ClassA {
|
||||
public abstract class InnerAbstractA {
|
||||
}
|
||||
}
|
||||
|
||||
class ClassC {
|
||||
static ClassA classA = new ClassA();
|
||||
|
||||
public static ClassA getClassA() {
|
||||
return classA;
|
||||
}
|
||||
}
|
||||
|
||||
class ClassB {
|
||||
public static class InnerClassA extends ClassA.InnerAbstractA {
|
||||
public InnerClassA() {
|
||||
ClassC.getClassA().super();
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
@@ -165,6 +165,7 @@ public class LightAdvHighlightingJdk7Test extends LightDaemonAnalyzerTestCase {
|
||||
public void testUncheckedWarningIDEA26738() { doTest(true, false); }
|
||||
public void testUncheckedWarningIDEA99536() { doTest(true, false); }
|
||||
public void testEnclosingInstance() { doTest(false, false); }
|
||||
public void testIDEA122519EnclosingInstance() { doTest(false, false); }
|
||||
public void testWrongArgsAndUnknownTypeParams() { doTest(false, false); }
|
||||
public void testAmbiguousMethodCallIDEA97983() { doTest(false, false); }
|
||||
public void testAmbiguousMethodCallIDEA100314() { doTest(false, false); }
|
||||
|
||||
Reference in New Issue
Block a user