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

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

mercurial