jdk-24/langtools/test/tools/javac/AnonymousClass/AnonymousInSuperCallNegTest.java
Srikanth Adayapalam 4688e355c5 8166108: VerifyError passing anonymous inner class to supertype constructor
Anonymous classes instantitated in explicit constructor calls cannot have enclosing instance

Reviewed-by: vromero
2016-09-20 05:28:54 +05:30

31 lines
725 B
Java

/*
* @test /nodynamiccopyright/
* @bug 8166108
* @summary Verify that a program cannot access instance state before construction
* @compile/fail/ref=AnonymousInSuperCallNegTest.out -XDrawDiagnostics AnonymousInSuperCallNegTest.java
*/
public class AnonymousInSuperCallNegTest {
static class Base {
Base(Object o) {}
}
static class Outer {
class Inner {}
}
public static class JavacBug extends Base {
int x;
JavacBug() {
super(new Outer().new Inner() {
void foo() {
System.out.println("x = " + x);
}
}); }
}
public static void main(String[] args) {
new JavacBug();
}
}