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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     1
/*
26529
10ec5e52bf75 8055079: Group 9c: golden files for tests in tools/javac dir
sogoel
parents: 5520
diff changeset
     2
 * @test /nodynamiccopyright/
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     3
 * @bug 4526026
06bc494ca11e Initial load
duke
parents:
diff changeset
     4
 * @summary javac allows access to interface members inherited protected from Object
06bc494ca11e Initial load
duke
parents:
diff changeset
     5
 * @author gafter
06bc494ca11e Initial load
duke
parents:
diff changeset
     6
 *
26529
10ec5e52bf75 8055079: Group 9c: golden files for tests in tools/javac dir
sogoel
parents: 5520
diff changeset
     7
 * @compile/fail/ref=InterfaceObjectInheritance.out -XDrawDiagnostics  InterfaceObjectInheritance.java
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     8
 */
06bc494ca11e Initial load
duke
parents:
diff changeset
     9
06bc494ca11e Initial load
duke
parents:
diff changeset
    10
interface InterfaceObjectInheritance {
06bc494ca11e Initial load
duke
parents:
diff changeset
    11
    class Inner {
06bc494ca11e Initial load
duke
parents:
diff changeset
    12
        static void bar(InterfaceObjectInheritance i) {
06bc494ca11e Initial load
duke
parents:
diff changeset
    13
            try {
06bc494ca11e Initial load
duke
parents:
diff changeset
    14
                // An inner class has access to any protected members, but
06bc494ca11e Initial load
duke
parents:
diff changeset
    15
                // according to JLS 9.2, an interface has no protected members,
06bc494ca11e Initial load
duke
parents:
diff changeset
    16
                // so this reference to finalize should not compile.
06bc494ca11e Initial load
duke
parents:
diff changeset
    17
                i.finalize();
06bc494ca11e Initial load
duke
parents:
diff changeset
    18
            } catch (Throwable t) {
06bc494ca11e Initial load
duke
parents:
diff changeset
    19
            }
06bc494ca11e Initial load
duke
parents:
diff changeset
    20
        }
06bc494ca11e Initial load
duke
parents:
diff changeset
    21
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
    22
}