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 11 } 12 13 @Target(ElementType.TYPE_USE) 14 @Retention(RetentionPolicy.RUNTIME) 15 @Repeatable(TypeAnno1Container.class) 16 @interface TypeAnno1 { 17 String value(); 18 } 19 @Target(ElementType.TYPE_USE) 20 @Retention(RetentionPolicy.RUNTIME) 21 @Repeatable(TypeAnno2Container.class) 22 @interface TypeAnno2 { 23 String value(); 24 } 25 @Target(ElementType.TYPE_USE) 26 @Retention(RetentionPolicy.RUNTIME) 27 @Repeatable(TypeAnno3Container.class) 28 @interface TypeAnno3 { 29 } 30 @Target(ElementType.TYPE_USE) 31 @Retention(RetentionPolicy.RUNTIME) 32 @interface TypeAnno1Container { 33 TypeAnno1[] value(); 34 } 35 @Target(ElementType.TYPE_USE) 36 @Retention(RetentionPolicy.RUNTIME) 37 @interface TypeAnno2Container { 38 TypeAnno2[] value(); 39 } 40 @Target(ElementType.TYPE_USE) 41 @Retention(RetentionPolicy.RUNTIME) 42 @interface TypeAnno3Container { 43 TypeAnno3[] value(); 44 } 45 46 class TypeAnnoCls1< T > { 47 48 public T m() {return null;} 49 50 } 51 52 53 class TypeAnnoCls2< T extends Object> { 54 55 public T m() {return null;} 56 57 } 58 59 60 class TypeAnnoCls3< T extends Object & Serializable> { 61 62 public T m() {return null;} 63 64 } 65 66 67 class TypeAnnoCls4< T > { 68 69 public T m() {return null;} 70 71 } 72 73 74 class TypeAnnoCls5< T extends @TypeAnno1("TypeAnno1") Object> { 75 76 public T m() {return null;} 77 78 } 79 80 81 class TypeAnnoCls6< T extends @TypeAnno1("TypeAnno1") Object & @TypeAnno1("TypeAnno1") Serializable> { 82 83 public T m() {return null;} 84 85 } 86 87 88 class TypeAnnoCls7< T > { 89 90 public T m() {return null;} 91 92 } 93 94 95 class TypeAnnoCls8< T extends @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3 Object> { 96 97 public T m() {return null;} 98 99 } 100 101 102 class TypeAnnoCls9< T extends @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3 Object & @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3 Serializable> { 103 104 public T m() {return null;} 105 106 } 107 108 109 class TypeAnnoCls10< T > { 110 111 public T m() {return null;} 112 113 } 114 115 116 class TypeAnnoCls11< T extends @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") Object> { 117 118 public T m() {return null;} 119 120 } 121 122 123 class TypeAnnoCls12< T extends @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") Object & @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") Serializable> { 124 125 public T m() {return null;} 126 127 } 128 129 130 class TypeAnnoCls13< T > { 131 132 public T m() {return null;} 133 134 } 135 136 137 class TypeAnnoCls14< T extends @TypeAnno3 @TypeAnno3 @TypeAnno3 Object> { 138 139 public T m() {return null;} 140 141 } 142 143 144 class TypeAnnoCls15< T extends @TypeAnno3 @TypeAnno3 @TypeAnno3 Object & @TypeAnno3 @TypeAnno3 @TypeAnno3 Serializable> { 145 146 public T m() {return null;} 147 148 } 149 150 151 class TypeAnnoCls16< T > { 152 153 public T m() {return null;} 154 155 } 156 157 158 class TypeAnnoCls17< T extends @TypeAnno3 Object> { 159 160 public T m() {return null;} 161 162 } 163 164 165 class TypeAnnoCls18< T extends @TypeAnno3 Object & @TypeAnno3 Serializable> { 166 167 public T m() {return null;} 168 169 } 170 171