Thu, 10 Oct 2013 20:12:08 -0400
8008762: Type annotation on inner class in anonymous class show up as regular type annotations
8015257: type annotation with TYPE_USE and FIELD attributed differently if repeated.
8013409: test failures for type annotations
Summary: Fixes to address some problems in type annotations
Reviewed-by: jfranck, jjg
2 import java.util.*;
3 import java.lang.annotation.*;
5 class Test<K> { GOuter<@TC Object, String> entrySet() { return null; } }
7 @interface A {}
8 @interface B {}
9 @interface C {}
10 @interface D {}
11 @interface E {}
12 @interface F {}
14 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface TA {}
15 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface TB {}
16 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface TC {}
17 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface TD {}
18 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface TE {}
19 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface TF {}
20 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface TG {}
21 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface TH {}
22 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface TI {}
23 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface TJ {}
24 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface TK {}
25 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface TL {}
26 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface TM {}
28 @Repeatable(RTAs.class) @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface RTA {}
29 @Repeatable(RTBs.class) @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface RTB {}
30 @ContainerFor(RTA.class) @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface RTAs { RTA[] value(); }
31 @ContainerFor(RTB.class) @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface RTBs { RTB[] value(); }
32 @Target(value={ElementType.TYPE,ElementType.FIELD,ElementType.METHOD,ElementType.PARAMETER,ElementType.CONSTRUCTOR,ElementType.LOCAL_VARIABLE})
33 @interface Decl {}