test/tools/javac/InterfaceMemberClassModifiers.java

Thu, 15 Jul 2010 16:31:02 +0100

author
mcimadamore
date
Thu, 15 Jul 2010 16:31:02 +0100
changeset 607
b49b0d72c071
parent 1
9a66ca7c79fa
child 611
4172cfff05f0
permissions
-rw-r--r--

6967002: JDK7 b99 javac compilation error (java.lang.AssertionError)
Summary: bug in JavacParser related to parsing of type annotations in varargs position
Reviewed-by: jjg
Contributed-by: mahmood@notnoop.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 -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