test/tools/javac/InterfaceMemberClassModifiers.java

Thu, 25 Aug 2011 17:18:25 -0700

author
schien
date
Thu, 25 Aug 2011 17:18:25 -0700
changeset 1067
f497fac86cf9
parent 611
4172cfff05f0
child 2525
2eb010b6cb22
permissions
-rw-r--r--

Added tag jdk8-b02 for changeset b3c059de2a61

duke@1 1 /*
duke@1 2 * @test /nodynamiccopyright/
duke@1 3 * @bug 4294065 4785453
duke@1 4 * @summary Verify that invalid access modifiers on interface members don't cause crash.
duke@1 5 * @author maddox
duke@1 6 *
jjg@611 7 * @compile/fail/ref=InterfaceMemberClassModifiers.out -XDdiags=%b:%l:%_%m InterfaceMemberClassModifiers.java
duke@1 8 */
duke@1 9
duke@1 10 public interface InterfaceMemberClassModifiers {
duke@1 11
duke@1 12 Object nullWriter = null;
duke@1 13
duke@1 14 class SomeClass1 implements InterfaceMemberClassModifiers { // OK
duke@1 15 public Object getOut() {
duke@1 16 return nullWriter;
duke@1 17 }
duke@1 18 }
duke@1 19
duke@1 20 public class SomeClass2 implements InterfaceMemberClassModifiers { // OK
duke@1 21 public Object getOut() {
duke@1 22 return nullWriter;
duke@1 23 }
duke@1 24 }
duke@1 25
duke@1 26 // Compiler used to crash on these! (after reporting error)
duke@1 27
duke@1 28 protected class SomeClass3 implements InterfaceMemberClassModifiers { // illegal
duke@1 29 public Object getOut() {
duke@1 30 return nullWriter;
duke@1 31 }
duke@1 32 }
duke@1 33
duke@1 34 private class SomeClass4 implements InterfaceMemberClassModifiers { // illegal
duke@1 35 public Object getOut() {
duke@1 36 return nullWriter;
duke@1 37 }
duke@1 38 }
duke@1 39
duke@1 40 }

mercurial