test/tools/javac/annotations/neg/8022765/T8022765.java

Wed, 13 Aug 2014 14:50:00 -0700

author
katleman
date
Wed, 13 Aug 2014 14:50:00 -0700
changeset 2549
0b6cc4ea670f
parent 0
959103a6100f
permissions
-rw-r--r--

Added tag jdk8u40-b01 for changeset bf89a471779d

     1 /**
     2  * @test /nodynamiccopyright/
     3  * @bug 8022765
     4  * @summary javac should not crash for incorrect attribute values
     5  * @build VerifyAnnotationsAttributed
     6  * @run main VerifyAnnotationsAttributed T8022765.java
     7  * @compile/fail/ref=T8022765.out -XDrawDiagnostics T8022765.java
     8  */
     9 @Ann(@Override)
    10 @Primitive(@Override)
    11 @Str(@Override)
    12 @En(@Override)
    13 @ArrAnn(@Override)
    14 @ArrPrimitive(@Override)
    15 @ArrStr(@Override)
    16 @ArrEn(@Override)
    17 class AnnC { }
    19 class PrimitiveC {
    20     private static final int C = 1;
    21     @Ann(C)
    22     @Primitive(C)
    23     @Str(C)
    24     @En(C)
    25     @ArrAnn(C)
    26     @ArrPrimitive(C)
    27     @ArrStr(C)
    28     @ArrEn(C)
    29     class I {
    30     }
    31 }
    33 class StringC {
    35     private static final String C = "";
    37     @Ann(C)
    38     @Primitive(C)
    39     @Str(C)
    40     @En(C)
    41     @ArrAnn(C)
    42     @ArrPrimitive(C)
    43     @ArrStr(C)
    44     @ArrEn(C)
    45     class I {
    46     }
    47 }
    49 @Ann(E.A)
    50 @Primitive(E.A)
    51 @Str(E.A)
    52 @En(E.A)
    53 @ArrAnn(E.A)
    54 @ArrPrimitive(E.A)
    55 @ArrStr(E.A)
    56 @ArrEn(E.A)
    57 class EnC { }
    59 @Ann({@Override})
    60 @Primitive({@Override})
    61 @Str({@Override})
    62 @En({@Override})
    63 @ArrAnn({@Override})
    64 @ArrPrimitive({@Override})
    65 @ArrStr({@Override})
    66 @ArrEn({@Override})
    67 class ArrAnnC { }
    69 class ArrPrimitiveC {
    70     private static final int C = 1;
    71     @Ann({C})
    72     @Primitive({C})
    73     @Str({C})
    74     @En({C})
    75     @ArrAnn({C})
    76     @ArrPrimitive({C})
    77     @ArrStr({C})
    78     @ArrEn({C})
    79     class I {
    80     }
    81 }
    83 class ArrStringC {
    84     private static final String C = "";
    85     @Ann({C})
    86     @Primitive({C})
    87     @Str({C})
    88     @En({C})
    89     @ArrAnn({C})
    90     @ArrPrimitive({C})
    91     @ArrStr({C})
    92     @ArrEn({C})
    93     class I {
    94     }
    95 }
    97 @Ann({E.A})
    98 @Primitive({E.A})
    99 @Str({E.A})
   100 @En({E.A})
   101 @ArrAnn({E.A})
   102 @ArrPrimitive({E.A})
   103 @ArrStr({E.A})
   104 @ArrEn({E.A})
   105 class ArrEnC { }
   107 @interface Ann {
   108     Override value();
   109 }
   111 @interface Primitive {
   112     int value();
   113 }
   115 @interface Str {
   116     String value();
   117 }
   119 @interface En {
   120     E value();
   121 }
   123 @interface ArrAnn {
   124     Override[] value();
   125 }
   127 @interface ArrPrimitive {
   128     int[] value();
   129 }
   131 @interface ArrStr {
   132     String[] value();
   133 }
   135 @interface ArrEn {
   136     E[] value();
   137 }
   139 enum E {
   140     A;
   141 }

mercurial