test/tools/javac/InterfaceMemberClassModifiers.java

Thu, 07 Jun 2012 20:30:57 -0700

author
erikj
date
Thu, 07 Jun 2012 20:30:57 -0700
changeset 1273
ac29cc95b5c5
parent 611
4172cfff05f0
child 2525
2eb010b6cb22
permissions
-rw-r--r--

7170079: Adjustments to build-infra makefiles
Reviewed-by: ohair, ohrstrom, ihse, jonas
Contributed-by: jonas <jonas.oreland@oracle.com>, erikj <erik.joelsson@oracle.com>, ihse <magnus.ihse.bursie@oracle.com>, tgranat <torbjorn.granat@oracle.com>, ykantser <yekaterina.kantserova@oracle.com>

     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