0N/A/*
0N/A * @test /nodynamiccopyright/
0N/A * @bug 4294065 4785453
0N/A * @summary Verify that invalid access modifiers on interface members don't cause crash.
0N/A * @author maddox
0N/A *
610N/A * @compile/fail/ref=InterfaceMemberClassModifiers.out -XDdiags=%b:%l:%_%m InterfaceMemberClassModifiers.java
0N/A */
0N/A
0N/Apublic interface InterfaceMemberClassModifiers {
0N/A
0N/A Object nullWriter = null;
0N/A
0N/A class SomeClass1 implements InterfaceMemberClassModifiers { // OK
0N/A public Object getOut() {
0N/A return nullWriter;
0N/A }
0N/A }
0N/A
0N/A public class SomeClass2 implements InterfaceMemberClassModifiers { // OK
0N/A public Object getOut() {
0N/A return nullWriter;
0N/A }
0N/A }
0N/A
0N/A // Compiler used to crash on these! (after reporting error)
0N/A
0N/A protected class SomeClass3 implements InterfaceMemberClassModifiers { // illegal
0N/A public Object getOut() {
0N/A return nullWriter;
0N/A }
0N/A }
0N/A
0N/A private class SomeClass4 implements InterfaceMemberClassModifiers { // illegal
0N/A public Object getOut() {
0N/A return nullWriter;
0N/A }
0N/A }
0N/A
0N/A}