langtools/test/tools/javac/InterfaceObjectInheritance.java
author lana
Tue, 25 Apr 2017 07:38:50 +0000
changeset 44909 b53c770dc04f
parent 26529 10ec5e52bf75
permissions -rw-r--r--
Added tag jdk-10+1 for changeset 3a409afd3f86

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