Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/ExplicitConstructorInvocation.java
Bas Leijdekkers e7ee84d0ca Java: correctly check if class is inner class according to the JLS (IDEA-336426)
and clarify error message

GitOrigin-RevId: 4614ced685521a06fee1bb681001e1484f9dca7d
2024-01-05 11:51:41 +00:00

62 lines
1.1 KiB
Java

class A {
class S {
}
class C extends S {
C(A c) {
c.super();
}
C(B b) {
b.super();
}
}
}
class B extends A {}
class A1 {
static class S {
}
class C extends S {
C(A1 c) {
<error descr="Qualifier is not allowed because superclass 'A1.S' is not a non-static inner class">c</error>.super();
}
}
}
class C2 {
C2(String c){
<error descr="Qualifier is not allowed because superclass 'java.lang.Object' is not a non-static inner class">c</error>.super();
}
}
class Scratch {
void method() {
class A {}
class B extends A {
B() {
new Scratch().super();
}
}
}
static void method2() {
class A {}
class B extends A {
B() {
<error descr="Qualifier is not allowed because superclass 'A' is not a non-static inner class">new Scratch()</error>.super();
}
}
}
}
class A3 {
class S {
}
class C extends S {
C(String c) {
<error descr="Incompatible types. Found: 'java.lang.String', required: 'A3'">c</error>.super();
}
}
}