langtools/test/tools/javac/InterfaceObjectInheritance.java
author lana
Thu, 21 Jan 2016 09:46:01 -0800
changeset 35340 38f7386ed942
parent 26529 10ec5e52bf75
permissions -rw-r--r--
Added tag jdk-9+102 for changeset 7e3feb2ba5b3

/*
 * @test /nodynamiccopyright/
 * @bug 4526026
 * @summary javac allows access to interface members inherited protected from Object
 * @author gafter
 *
 * @compile/fail/ref=InterfaceObjectInheritance.out -XDrawDiagnostics  InterfaceObjectInheritance.java
 */

interface InterfaceObjectInheritance {
    class Inner {
        static void bar(InterfaceObjectInheritance i) {
            try {
                // An inner class has access to any protected members, but
                // according to JLS 9.2, an interface has no protected members,
                // so this reference to finalize should not compile.
                i.finalize();
            } catch (Throwable t) {
            }
        }
    }
}