1 package p2: 2 annotation @A: @Retention(RUNTIME) 3 int value 4 annotation @B: @Retention(RUNTIME) 5 annotation @C: @Retention(RUNTIME) 6 annotation @D: @Retention(CLASS) 7 String value 8 annotation @F: 9 String value 10 annotation @E: @Retention(CLASS) 11 annotation-field p2.A[] first 12 annotation-field p2.F second 13 enum Foo third 14 Class fourth // <? extends java.util.Map<?,?>> 15 Class fifth 16 17 package p1: 18 class Foo: @p2.A(value=12) 19 bound 0 &1: @p2.B 20 bound 1 &0: @p2.C 21 inner-type 1, 0, 2, 0, 3, 1: @p2.B 22 23 field bar: 24 25 field baz: 26 type: @p2.B 27 inner-type 0, 0: @p2.C 28 29 method <init>(Ljava/util/Set;)V: @p2.B 30 bound 2 &0: @p2.C 31 inner-type 0, 0: @p2.B 32 parameter #0: @p2.B 33 type: 34 inner-type 0, 0: @p2.C 35 receiver: @p2.D(value="spam") 36 local 1 #3+5: @p2.B 37 type: 38 inner-type 0, 0: @p2.C 39 typecast #7: @p2.B 40 inner-type 0, 0: @p2.C 41 instanceof #199: @p2.C 42 inner-type 1, 0: @p2.B 43 new #0: 44 inner-type 0, 0: @p2.C 45 46 method mapAllElements(Ljava/util/Map;)Ljava/util/Set;: 47 48 class 49 Bar 50 : 51 @ 52 p2.E 53 ( 54 first 55 = 56 { 57 @ 58 p2.A 59 ( 60 value 61 = 62 -1 63 ) 64 , 65 @ 66 p2.A 67 ( 68 value=-6 69 ), 70 } 71 ,second=@p2.F(value="thestring"), 72 third=fooconstant, 73 fourth=java.util.Map.class, 74 fifth=[[I.class 75 ) 76 77 // Test comment 78 // Test all the forms of class tokens 79 class Baz: @p2.E(first={}, second=@p2.F(value="hello"), third=FOO_FOO, fourth=java.util.LinkedHashMap.class, fifth=void.class) 80