1 2 import java.io.*; 3 import java.util.*; 4 import java.lang.*; 5 import java.lang.reflect.*; 6 import java.lang.annotation.*; 7 8 9 class TypeAnnoCls0 { 10 public Class< ? extends Object> f11; 11 public HashMap< ? extends Object, ? extends Object> f12; 12 public Class< ? super Object> f13; 13 public HashMap< ? super Object, ? super Object> f14; 14 public @TypeAnno1("TypeAnno1") Class< ? extends @TypeAnno1("TypeAnno1") Object> f21; 15 public @TypeAnno1("TypeAnno1") HashMap< ? extends @TypeAnno1("TypeAnno1") Object, ? extends @TypeAnno1("TypeAnno1") Object> f22; 16 public @TypeAnno1("TypeAnno1") Class< ? super @TypeAnno1("TypeAnno1") Object> f23; 17 public @TypeAnno1("TypeAnno1") HashMap< ? super @TypeAnno1("TypeAnno1") Object, ? super @TypeAnno1("TypeAnno1") Object> f24; 18 public @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3 Class< ? extends @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3 Object> f31; 19 public @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3 HashMap< ? extends @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3 Object, ? extends @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3 Object> f32; 20 public @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3 Class< ? super @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3 Object> f33; 21 public @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3 HashMap< ? super @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3 Object, ? super @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3 Object> f34; 22 public @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") Class< ? extends @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") Object> f41; 23 public @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") HashMap< ? extends @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") Object, ? extends @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") Object> f42; 24 public @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") Class< ? super @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") Object> f43; 25 public @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") HashMap< ? super @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") Object, ? super @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") Object> f44; 26 public @TypeAnno3 @TypeAnno3 @TypeAnno3 Class< ? extends @TypeAnno3 @TypeAnno3 @TypeAnno3 Object> f51; 27 public @TypeAnno3 @TypeAnno3 @TypeAnno3 HashMap< ? extends @TypeAnno3 @TypeAnno3 @TypeAnno3 Object, ? extends @TypeAnno3 @TypeAnno3 @TypeAnno3 Object> f52; 28 public @TypeAnno3 @TypeAnno3 @TypeAnno3 Class< ? super @TypeAnno3 @TypeAnno3 @TypeAnno3 Object> f53; 29 public @TypeAnno3 @TypeAnno3 @TypeAnno3 HashMap< ? super @TypeAnno3 @TypeAnno3 @TypeAnno3 Object, ? super @TypeAnno3 @TypeAnno3 @TypeAnno3 Object> f54; 30 public @TypeAnno3 Class< ? extends @TypeAnno3 Object> f61; 31 public @TypeAnno3 HashMap< ? extends @TypeAnno3 Object, ? extends @TypeAnno3 Object> f62; 32 public @TypeAnno3 Class< ? super @TypeAnno3 Object> f63; 33 public @TypeAnno3 HashMap< ? super @TypeAnno3 Object, ? super @TypeAnno3 Object> f64; 34 35 } 36 37 @Target(ElementType.TYPE_USE) 38 @Retention(RetentionPolicy.RUNTIME) 39 @Repeatable(TypeAnno1Container.class) 40 @interface TypeAnno1 { 41 String value(); 42 } 43 @Target(ElementType.TYPE_USE) 44 @Retention(RetentionPolicy.RUNTIME) 45 @Repeatable(TypeAnno2Container.class) 46 @interface TypeAnno2 { 47 String value(); 48 } 49 @Target(ElementType.TYPE_USE) 50 @Retention(RetentionPolicy.RUNTIME) 51 @Repeatable(TypeAnno3Container.class) 52 @interface TypeAnno3 { 53 } 54 @Target(ElementType.TYPE_USE) 55 @Retention(RetentionPolicy.RUNTIME) 56 @interface TypeAnno1Container { 57 TypeAnno1[] value(); 58 } 59 @Target(ElementType.TYPE_USE) 60 @Retention(RetentionPolicy.RUNTIME) 61 @interface TypeAnno2Container { 62 TypeAnno2[] value(); 63 } 64 @Target(ElementType.TYPE_USE) 65 @Retention(RetentionPolicy.RUNTIME) 66 @interface TypeAnno3Container { 67 TypeAnno3[] value(); 68 } 69