langtools/test/tools/javac/annotations/AnnotationTypeElementModifiers.java
changeset 21895 2afdc45dcc5b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/annotations/AnnotationTypeElementModifiers.java	Tue Nov 26 13:33:33 2013 +0100
@@ -0,0 +1,46 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8028428
+ * @summary Test that only 'public' and 'abstract' elements compile
+ * @compile/fail/ref=AnnotationTypeElementModifiers.out -XDrawDiagnostics AnnotationTypeElementModifiers.java
+ */
+
+public @interface AnnotationTypeElementModifiers {
+    // First 4 should work
+    public int A();
+    public int AA() default  1;
+
+    abstract int B();
+    abstract int BB() default  1;
+
+    // These shouldn't work
+    private int C();
+    private int CC() default  1;
+
+    protected int D();
+    protected int DD() default  1;
+
+    static int E();
+    static int EE() default  1;
+
+    final int F();
+    final int FF() default  1;
+
+    synchronized int H();
+    synchronized int HH() default  1;
+
+    volatile int I();
+    volatile int II() default  1;
+
+    transient int J();
+    transient int JJ() default  1;
+
+    native int K();
+    native int KK() default  1;
+
+    strictfp float L();
+    strictfp float LL() default  0.1f;
+
+    default int M();
+    default int MM() default  1;
+}