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