test/tools/javac/InterfaceMemberClassModifiers.java

Fri, 24 Jul 2009 13:40:15 -0700

author
xdono
date
Fri, 24 Jul 2009 13:40:15 -0700
changeset 322
0695e8ebae88
parent 1
9a66ca7c79fa
child 611
4172cfff05f0
permissions
-rw-r--r--

Added tag jdk7-b66 for changeset 634f519d6f9a

     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 -XDstdout -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