test/tools/javac/InterfaceMemberClassModifiers.java

Thu, 31 Aug 2017 15:17:03 +0800

author
aoqi
date
Thu, 31 Aug 2017 15:17:03 +0800
changeset 2525
2eb010b6cb22
parent 611
4172cfff05f0
parent 0
959103a6100f
permissions
-rw-r--r--

merge

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

mercurial