test/langtools/tools/javac/InterfaceObjectInheritance.java
author dmarkov
Mon, 23 Sep 2019 17:18:03 +0100
changeset 58328 fe46ee1d42ee
parent 47216 71c04702a3d5
permissions -rw-r--r--
8230782: Robot.createScreenCapture() fails if “awt.robot.gtk” is set to false Reviewed-by: prr, serb
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
}