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