1 package annotations.tests.classfile.foo: 2 annotation @A: @Retention(value=RUNTIME) @java.lang.annotation.Target(value={TYPE_USE}) 3 4 annotation @B: @Retention(value=RUNTIME) @java.lang.annotation.Target(value={TYPE_USE}) 5 String value 6 7 // annotation @C: @Retention(value=CLASS) @java.lang.annotation.Target(value={TYPE_USE}) 8 annotation @C: @Retention(value=RUNTIME) @java.lang.annotation.Target(value={TYPE_USE}) 9 int fieldA 10 String fieldB 11 12 annotation @D: @Retention(value=RUNTIME) @java.lang.annotation.Target(value={TYPE_USE}) 13 int fieldA 14 String fieldB 15 int[] fieldC 16 17 annotation @E: @Retention(value=RUNTIME) @java.lang.annotation.Target(value={TYPE_USE}) 18 int fieldA 19 String fieldB 20 21 annotation @F: @Retention(value=RUNTIME) @java.lang.annotation.Target(value={TYPE_USE}) 22 int fieldA 23 String fieldB 24 25 annotation @G: @Retention(value=RUNTIME) @java.lang.annotation.Target(value={TYPE_USE}) 26 int fieldA 27 String fieldB 28 boolean[] fieldC 29 int fieldD 30 int fieldE 31 32 package annotations.tests.classfile.cases: 33 class TestFieldGeneric: @annotations.tests.classfile.foo.A 34 field s: @annotations.tests.classfile.foo.F(fieldA=1, fieldB="fi") 35 field list: @annotations.tests.classfile.foo.G(fieldA=3, fieldB="three", fieldC={true, false}, fieldD=2, fieldE=4) 36 field set: @annotations.tests.classfile.foo.E(fieldA=2, fieldB = "rh") 37 @annotations.tests.classfile.foo.F(fieldA = 1, fieldB = "if") 38 field testFieldGeneric: 39 type: 40 inner-type 3, 0 : @annotations.tests.classfile.foo.A 41 42 43 // Set<TestFieldGeneric<Set<TestFieldGeneric>>> nestedSet; 44 45 field nestedSet: @annotations.tests.classfile.foo.B(value="nested") 46 type: 47 inner-type 3, 0 : @annotations.tests.classfile.foo.F(fieldA=1, fieldB="n") 48 inner-type 3, 0 : @annotations.tests.classfile.foo.A 49 inner-type 3, 0, 3, 0 : @annotations.tests.classfile.foo.B(value="nil") 50 inner-type 3, 0 : @annotations.tests.classfile.foo.C(fieldA=-2, fieldB="nl") 51 inner-type 3, 0, 3, 0, 3, 0 : @annotations.tests.classfile.foo.D(fieldA=-1, fieldB="hello", fieldC={3,2,4}) 52 53 // Map<Set<TestFieldGeneric>, TestFieldGeneric<T>> nestedMap; 54 55 field nestedMap: @annotations.tests.classfile.foo.C(fieldA=1, fieldB="nested") 56 type: 57 inner-type 3, 1 : @annotations.tests.classfile.foo.A 58 inner-type 3, 1, 3, 0 : @annotations.tests.classfile.foo.B(value="inner most T") 59 inner-type 3, 0, 3, 0 : @annotations.tests.classfile.foo.C(fieldA=256, fieldB="hello") 60 inner-type 3, 0 : @annotations.tests.classfile.foo.B(value="inner most F") 61 62 63 64 65