1 import java.io.*;
   2 import java.util.*;
   3 import java.lang.*;
   4 import java.lang.reflect.*;
   5 import java.lang.annotation.*;
   6 
   7  
   8 class TypeAnnoCls0 {
   9 
  10 }
  11 
  12 @Target(ElementType.TYPE_USE)
  13 @Retention(RetentionPolicy.RUNTIME)
  14 @Repeatable(TypeAnno1Container.class)
  15 @interface TypeAnno1 {
  16     String value();
  17 }
  18 @Target(ElementType.TYPE_USE)
  19 @Retention(RetentionPolicy.RUNTIME)
  20 @Repeatable(TypeAnno2Container.class)
  21 @interface TypeAnno2 {
  22     String value();
  23 }
  24 @Target(ElementType.TYPE_USE)
  25 @Retention(RetentionPolicy.RUNTIME)
  26 @Repeatable(TypeAnno3Container.class)
  27 @interface TypeAnno3 {
  28 }
  29 @Target(ElementType.TYPE_USE)
  30 @Retention(RetentionPolicy.RUNTIME)
  31 @interface TypeAnno1Container {
  32     TypeAnno1[] value();
  33 }
  34 @Target(ElementType.TYPE_USE)
  35 @Retention(RetentionPolicy.RUNTIME)
  36 @interface TypeAnno2Container {
  37     TypeAnno2[] value();
  38 }
  39 @Target(ElementType.TYPE_USE)
  40 @Retention(RetentionPolicy.RUNTIME)
  41 @interface TypeAnno3Container {
  42     TypeAnno3[] value();
  43 }
  44  
  45 class TypeAnnoCls1 {
  46 
  47     public  TypeAnnoCls1() {}
  48 }
  49 
  50  
  51 class TypeAnnoCls2 {
  52 
  53     public @TypeAnno1("TypeAnno1")  TypeAnnoCls2() {}
  54 }
  55 
  56  
  57 class TypeAnnoCls3 {
  58 
  59     public @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3  TypeAnnoCls3() {}
  60 }
  61 
  62  
  63 class TypeAnnoCls4 {
  64 
  65     public @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2")  TypeAnnoCls4() {}
  66 }
  67 
  68  
  69 class TypeAnnoCls5 {
  70 
  71     public @TypeAnno3 @TypeAnno3 @TypeAnno3  TypeAnnoCls5() {}
  72 }
  73 
  74  
  75 class TypeAnnoCls6 {
  76 
  77     public @TypeAnno3  TypeAnnoCls6() {}
  78 }
  79