import java.io.*; import java.util.*; import java.lang.*; import java.lang.reflect.*; import java.lang.annotation.*; class TypeAnnoCls0 { public String f1; public @TypeAnno1("TypeAnno1") String f2; public @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3 String f3; public @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") String f4; public @TypeAnno3 @TypeAnno3 @TypeAnno3 String f5; public @TypeAnno3 String f6; } @Target(ElementType.TYPE_USE) @Retention(RetentionPolicy.RUNTIME) @Repeatable(TypeAnno1Container.class) @interface TypeAnno1 { String value(); } @Target(ElementType.TYPE_USE) @Retention(RetentionPolicy.RUNTIME) @Repeatable(TypeAnno2Container.class) @interface TypeAnno2 { String value(); } @Target(ElementType.TYPE_USE) @Retention(RetentionPolicy.RUNTIME) @Repeatable(TypeAnno3Container.class) @interface TypeAnno3 { } @Target(ElementType.TYPE_USE) @Retention(RetentionPolicy.RUNTIME) @interface TypeAnno1Container { TypeAnno1[] value(); } @Target(ElementType.TYPE_USE) @Retention(RetentionPolicy.RUNTIME) @interface TypeAnno2Container { TypeAnno2[] value(); } @Target(ElementType.TYPE_USE) @Retention(RetentionPolicy.RUNTIME) @interface TypeAnno3Container { TypeAnno3[] value(); }