langtools/test/tools/javac/AnonymousClass/AnonymousInSuperCallNegTest.java
author sadayapalam
Tue, 20 Sep 2016 05:28:54 +0530
changeset 41154 ed8625a2f0f1
permissions -rw-r--r--
8166108: VerifyError passing anonymous inner class to supertype constructor Summary: Anonymous classes instantitated in explicit constructor calls cannot have enclosing instance Reviewed-by: vromero

/*
 * @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();
    }
}