langtools/test/tools/javac/T5003235/T5003235a.java
author duke
Wed, 05 Jul 2017 16:37:21 +0200
changeset 572 18dc4ba4739a
parent 10 06bc494ca11e
child 6150 d055fa8ced62
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     1
/*
06bc494ca11e Initial load
duke
parents:
diff changeset
     2
 * @test  /nodynamiccopyright/
06bc494ca11e Initial load
duke
parents:
diff changeset
     3
 * @bug     5003235
06bc494ca11e Initial load
duke
parents:
diff changeset
     4
 * @summary Private inner class accessible from subclasses
06bc494ca11e Initial load
duke
parents:
diff changeset
     5
 * @author  Peter von der Ah\u00e9
06bc494ca11e Initial load
duke
parents:
diff changeset
     6
 * @compile/fail/ref=T5003235a.out -XDstdout -XDdiags=%b:%l:%_%m T5003235a.java
06bc494ca11e Initial load
duke
parents:
diff changeset
     7
 */
06bc494ca11e Initial load
duke
parents:
diff changeset
     8
06bc494ca11e Initial load
duke
parents:
diff changeset
     9
class Super {
06bc494ca11e Initial load
duke
parents:
diff changeset
    10
    Inner i;
06bc494ca11e Initial load
duke
parents:
diff changeset
    11
    private class Inner {
06bc494ca11e Initial load
duke
parents:
diff changeset
    12
        void defaultM() {}
06bc494ca11e Initial load
duke
parents:
diff changeset
    13
        protected void protectedM() {}
06bc494ca11e Initial load
duke
parents:
diff changeset
    14
        public void publicM() {}
06bc494ca11e Initial load
duke
parents:
diff changeset
    15
        private void privateM() {}
06bc494ca11e Initial load
duke
parents:
diff changeset
    16
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
    17
}
06bc494ca11e Initial load
duke
parents:
diff changeset
    18
06bc494ca11e Initial load
duke
parents:
diff changeset
    19
class Sub extends Super {
06bc494ca11e Initial load
duke
parents:
diff changeset
    20
    void foo() {
06bc494ca11e Initial load
duke
parents:
diff changeset
    21
        i.defaultM();
06bc494ca11e Initial load
duke
parents:
diff changeset
    22
        i.protectedM();
06bc494ca11e Initial load
duke
parents:
diff changeset
    23
        i.publicM();
06bc494ca11e Initial load
duke
parents:
diff changeset
    24
        i.privateM();
06bc494ca11e Initial load
duke
parents:
diff changeset
    25
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
    26
}