public abstract class com.sun.tools.javac.code.AnnoConstruct implements javax.lang.model.AnnotatedConstruct
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.tools.javac.code.AnnoConstruct
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.AnnoConstruct this
         0: .line 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.tools.javac.code.AnnoConstruct this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/AnnoConstruct;

  public abstract com.sun.tools.javac.util.List<? extends com.sun.tools.javac.code.Attribute$Compound> getAnnotationMirrors();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lcom/sun/tools/javac/util/List<+Lcom/sun/tools/javac/code/Attribute$Compound;>;

  protected <A extends java.lang.annotation.Annotation> com.sun.tools.javac.code.Attribute$Compound getAttribute(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)Lcom/sun/tools/javac/code/Attribute$Compound;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.code.AnnoConstruct this
        start local 1 // java.lang.Class annoType
         0: .line 63
            aload 1 /* annoType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 65
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.AnnoConstruct.getAnnotationMirrors:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: com.sun.tools.javac.code.AnnoConstruct java.lang.Class java.lang.String top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Attribute$Compound
            astore 3 /* anno */
        start local 3 // com.sun.tools.javac.code.Attribute$Compound anno
         3: .line 66
            aload 2 /* name */
            aload 3 /* anno */
            getfield com.sun.tools.javac.code.Attribute$Compound.type:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flatName:()Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 67
            aload 3 /* anno */
            areturn
        end local 3 // com.sun.tools.javac.code.Attribute$Compound anno
         5: .line 65
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 70
            aconst_null
            areturn
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class annoType
        end local 0 // com.sun.tools.javac.code.AnnoConstruct this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/sun/tools/javac/code/AnnoConstruct;
            0    7     1  annoType  Ljava/lang/Class<TA;>;
            1    7     2      name  Ljava/lang/String;
            3    5     3      anno  Lcom/sun/tools/javac/code/Attribute$Compound;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)Lcom/sun/tools/javac/code/Attribute$Compound;
    MethodParameters:
          Name  Flags
      annoType  

  protected <A extends java.lang.annotation.Annotation> A[] getInheritedAnnotations(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.AnnoConstruct this
        start local 1 // java.lang.Class annoType
         0: .line 76
            aload 1 /* annoType */
            iconst_0
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.annotation.Annotation[]
            areturn
        end local 1 // java.lang.Class annoType
        end local 0 // com.sun.tools.javac.code.AnnoConstruct this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/sun/tools/javac/code/AnnoConstruct;
            0    1     1  annoType  Ljava/lang/Class<TA;>;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)[TA;
    MethodParameters:
          Name  Flags
      annoType  

  public <A extends java.lang.annotation.Annotation> A[] getAnnotationsByType(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=16, args_size=2
        start local 0 // com.sun.tools.javac.code.AnnoConstruct this
        start local 1 // java.lang.Class annoType
         0: .line 84
            aload 1 /* annoType */
            invokevirtual java.lang.Class.isAnnotation:()Z
            ifne 4
         1: .line 85
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not an annotation type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 86
            aload 1 /* annoType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 85
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 89
      StackMap locals:
      StackMap stack:
            aload 1 /* annoType */
            invokestatic com.sun.tools.javac.code.AnnoConstruct.getContainer:(Ljava/lang/Class;)Ljava/lang/Class;
            astore 2 /* containerType */
        start local 2 // java.lang.Class containerType
         5: .line 90
            aload 2 /* containerType */
            ifnonnull 14
         6: .line 91
            aload 0 /* this */
            aload 1 /* annoType */
            invokevirtual com.sun.tools.javac.code.AnnoConstruct.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            astore 3 /* res */
        start local 3 // java.lang.annotation.Annotation res
         7: .line 92
            aload 3 /* res */
            ifnonnull 8
            iconst_0
            goto 9
      StackMap locals: java.lang.Class java.lang.annotation.Annotation
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: istore 4 /* size */
        start local 4 // int size
        10: .line 95
            aload 1 /* annoType */
            iload 4 /* size */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.annotation.Annotation[]
            astore 5 /* arr */
        start local 5 // java.lang.annotation.Annotation[] arr
        11: .line 96
            aload 3 /* res */
            ifnull 13
        12: .line 97
            aload 5 /* arr */
            iconst_0
            aload 3 /* res */
            aastore
        13: .line 98
      StackMap locals: int java.lang.annotation.Annotation[]
      StackMap stack:
            aload 5 /* arr */
            areturn
        end local 5 // java.lang.annotation.Annotation[] arr
        end local 4 // int size
        end local 3 // java.lang.annotation.Annotation res
        14: .line 102
      StackMap locals:
      StackMap stack:
            aload 1 /* annoType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* annoTypeName */
        start local 3 // java.lang.String annoTypeName
        15: .line 103
            aload 2 /* containerType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 4 /* containerTypeName */
        start local 4 // java.lang.String containerTypeName
        16: .line 104
            iconst_m1
            istore 5 /* directIndex */
        start local 5 // int directIndex
        17: iconst_m1
            istore 6 /* containerIndex */
        start local 6 // int containerIndex
        18: .line 105
            aconst_null
            astore 7 /* direct */
        start local 7 // com.sun.tools.javac.code.Attribute$Compound direct
        19: aconst_null
            astore 8 /* container */
        start local 8 // com.sun.tools.javac.code.Attribute$Compound container
        20: .line 107
            iconst_m1
            istore 9 /* index */
        start local 9 // int index
        21: .line 108
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.AnnoConstruct.getAnnotationMirrors:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 32
      StackMap locals: com.sun.tools.javac.code.AnnoConstruct java.lang.Class java.lang.Class java.lang.String java.lang.String int int com.sun.tools.javac.code.Attribute$Compound com.sun.tools.javac.code.Attribute$Compound int top java.util.Iterator
      StackMap stack:
        22: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Attribute$Compound
            astore 10 /* attribute */
        start local 10 // com.sun.tools.javac.code.Attribute$Compound attribute
        23: .line 109
            iinc 9 /* index */ 1
        24: .line 110
            aload 10 /* attribute */
            getfield com.sun.tools.javac.code.Attribute$Compound.type:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flatName:()Lcom/sun/tools/javac/util/Name;
            aload 3 /* annoTypeName */
            invokevirtual com.sun.tools.javac.util.Name.contentEquals:(Ljava/lang/CharSequence;)Z
            ifeq 28
        25: .line 111
            iload 9 /* index */
            istore 5 /* directIndex */
        26: .line 112
            aload 10 /* attribute */
            astore 7 /* direct */
        27: .line 113
            goto 32
      StackMap locals: com.sun.tools.javac.code.AnnoConstruct java.lang.Class java.lang.Class java.lang.String java.lang.String int int com.sun.tools.javac.code.Attribute$Compound com.sun.tools.javac.code.Attribute$Compound int com.sun.tools.javac.code.Attribute$Compound java.util.Iterator
      StackMap stack:
        28: aload 4 /* containerTypeName */
            ifnull 32
        29: .line 114
            aload 10 /* attribute */
            getfield com.sun.tools.javac.code.Attribute$Compound.type:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.flatName:()Lcom/sun/tools/javac/util/Name;
            aload 4 /* containerTypeName */
            invokevirtual com.sun.tools.javac.util.Name.contentEquals:(Ljava/lang/CharSequence;)Z
            ifeq 32
        30: .line 115
            iload 9 /* index */
            istore 6 /* containerIndex */
        31: .line 116
            aload 10 /* attribute */
            astore 8 /* container */
        end local 10 // com.sun.tools.javac.code.Attribute$Compound attribute
        32: .line 108
      StackMap locals: com.sun.tools.javac.code.AnnoConstruct java.lang.Class java.lang.Class java.lang.String java.lang.String int int com.sun.tools.javac.code.Attribute$Compound com.sun.tools.javac.code.Attribute$Compound int top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        33: .line 121
            aload 7 /* direct */
            ifnonnull 36
            aload 8 /* container */
            ifnonnull 36
        34: .line 122
            aload 1 /* annoType */
            ldc Ljava/lang/annotation/Inherited;
            invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 36
        35: .line 123
            aload 0 /* this */
            aload 1 /* annoType */
            invokevirtual com.sun.tools.javac.code.AnnoConstruct.getInheritedAnnotations:(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
            areturn
        36: .line 125
      StackMap locals: com.sun.tools.javac.code.AnnoConstruct java.lang.Class java.lang.Class java.lang.String java.lang.String int int com.sun.tools.javac.code.Attribute$Compound com.sun.tools.javac.code.Attribute$Compound int
      StackMap stack:
            aload 0 /* this */
            aload 8 /* container */
            invokevirtual com.sun.tools.javac.code.AnnoConstruct.unpackContained:(Lcom/sun/tools/javac/code/Attribute$Compound;)[Lcom/sun/tools/javac/code/Attribute$Compound;
            astore 10 /* contained */
        start local 10 // com.sun.tools.javac.code.Attribute$Compound[] contained
        37: .line 129
            aload 7 /* direct */
            ifnonnull 40
            aload 10 /* contained */
            arraylength
            ifne 40
        38: .line 130
            aload 1 /* annoType */
            ldc Ljava/lang/annotation/Inherited;
            invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 40
        39: .line 131
            aload 0 /* this */
            aload 1 /* annoType */
            invokevirtual com.sun.tools.javac.code.AnnoConstruct.getInheritedAnnotations:(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
            areturn
        40: .line 133
      StackMap locals: com.sun.tools.javac.code.Attribute$Compound[]
      StackMap stack:
            aload 7 /* direct */
            ifnonnull 41
            iconst_0
            goto 42
      StackMap locals:
      StackMap stack:
        41: iconst_1
      StackMap locals:
      StackMap stack: int
        42: aload 10 /* contained */
            arraylength
            iadd
            istore 11 /* size */
        start local 11 // int size
        43: .line 135
            aload 1 /* annoType */
            iload 11 /* size */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.annotation.Annotation[]
            astore 12 /* arr */
        start local 12 // java.lang.annotation.Annotation[] arr
        44: .line 138
            iconst_m1
            istore 13 /* insert */
        start local 13 // int insert
        45: .line 139
            aload 12 /* arr */
            arraylength
            istore 14 /* length */
        start local 14 // int length
        46: .line 140
            iload 5 /* directIndex */
            iflt 55
            iload 6 /* containerIndex */
            iflt 55
        47: .line 141
            iload 5 /* directIndex */
            iload 6 /* containerIndex */
            if_icmpge 51
        48: .line 142
            aload 12 /* arr */
            iconst_0
            aload 7 /* direct */
            aload 1 /* annoType */
            invokestatic com.sun.tools.javac.model.AnnotationProxyMaker.generateAnnotation:(Lcom/sun/tools/javac/code/Attribute$Compound;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            aastore
        49: .line 143
            iconst_1
            istore 13 /* insert */
        50: .line 144
            goto 59
        51: .line 145
      StackMap locals: com.sun.tools.javac.code.AnnoConstruct java.lang.Class java.lang.Class java.lang.String java.lang.String int int com.sun.tools.javac.code.Attribute$Compound com.sun.tools.javac.code.Attribute$Compound int com.sun.tools.javac.code.Attribute$Compound[] int java.lang.annotation.Annotation[] int int
      StackMap stack:
            aload 12 /* arr */
            aload 12 /* arr */
            arraylength
            iconst_1
            isub
            aload 7 /* direct */
            aload 1 /* annoType */
            invokestatic com.sun.tools.javac.model.AnnotationProxyMaker.generateAnnotation:(Lcom/sun/tools/javac/code/Attribute$Compound;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            aastore
        52: .line 146
            iconst_0
            istore 13 /* insert */
        53: .line 147
            iinc 14 /* length */ -1
        54: .line 149
            goto 59
      StackMap locals:
      StackMap stack:
        55: iload 5 /* directIndex */
            iflt 58
        56: .line 150
            aload 12 /* arr */
            iconst_0
            aload 7 /* direct */
            aload 1 /* annoType */
            invokestatic com.sun.tools.javac.model.AnnotationProxyMaker.generateAnnotation:(Lcom/sun/tools/javac/code/Attribute$Compound;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            aastore
        57: .line 151
            aload 12 /* arr */
            areturn
        58: .line 154
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* insert */
        59: .line 157
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        60: goto 63
        61: .line 158
      StackMap locals: int
      StackMap stack:
            aload 12 /* arr */
            iload 13 /* insert */
            iload 15 /* i */
            iadd
            aload 10 /* contained */
            iload 15 /* i */
            aaload
            aload 1 /* annoType */
            invokestatic com.sun.tools.javac.model.AnnotationProxyMaker.generateAnnotation:(Lcom/sun/tools/javac/code/Attribute$Compound;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            aastore
        62: .line 157
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        63: iload 15 /* i */
            iload 13 /* insert */
            iadd
            iload 14 /* length */
            if_icmplt 61
        end local 15 // int i
        64: .line 160
            aload 12 /* arr */
            areturn
        end local 14 // int length
        end local 13 // int insert
        end local 12 // java.lang.annotation.Annotation[] arr
        end local 11 // int size
        end local 10 // com.sun.tools.javac.code.Attribute$Compound[] contained
        end local 9 // int index
        end local 8 // com.sun.tools.javac.code.Attribute$Compound container
        end local 7 // com.sun.tools.javac.code.Attribute$Compound direct
        end local 6 // int containerIndex
        end local 5 // int directIndex
        end local 4 // java.lang.String containerTypeName
        end local 3 // java.lang.String annoTypeName
        end local 2 // java.lang.Class containerType
        end local 1 // java.lang.Class annoType
        end local 0 // com.sun.tools.javac.code.AnnoConstruct this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   65     0               this  Lcom/sun/tools/javac/code/AnnoConstruct;
            0   65     1           annoType  Ljava/lang/Class<TA;>;
            5   65     2      containerType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            7   14     3                res  TA;
           10   14     4               size  I
           11   14     5                arr  [Ljava/lang/annotation/Annotation;
           15   65     3       annoTypeName  Ljava/lang/String;
           16   65     4  containerTypeName  Ljava/lang/String;
           17   65     5        directIndex  I
           18   65     6     containerIndex  I
           19   65     7             direct  Lcom/sun/tools/javac/code/Attribute$Compound;
           20   65     8          container  Lcom/sun/tools/javac/code/Attribute$Compound;
           21   65     9              index  I
           23   32    10          attribute  Lcom/sun/tools/javac/code/Attribute$Compound;
           37   65    10          contained  [Lcom/sun/tools/javac/code/Attribute$Compound;
           43   65    11               size  I
           44   65    12                arr  [Ljava/lang/annotation/Annotation;
           45   65    13             insert  I
           46   65    14             length  I
           60   64    15                  i  I
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)[TA;
    MethodParameters:
          Name  Flags
      annoType  

  private com.sun.tools.javac.code.Attribute$Compound[] unpackContained(com.sun.tools.javac.code.Attribute$Compound);
    descriptor: (Lcom/sun/tools/javac/code/Attribute$Compound;)[Lcom/sun/tools/javac/code/Attribute$Compound;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // com.sun.tools.javac.code.AnnoConstruct this
        start local 1 // com.sun.tools.javac.code.Attribute$Compound container
         0: .line 165
            aconst_null
            astore 2 /* contained0 */
        start local 2 // com.sun.tools.javac.code.Attribute[] contained0
         1: .line 166
            aload 1 /* container */
            ifnull 3
         2: .line 167
            aload 1 /* container */
            invokestatic com.sun.tools.javac.code.AnnoConstruct.unpackAttributes:(Lcom/sun/tools/javac/code/Attribute$Compound;)[Lcom/sun/tools/javac/code/Attribute;
            astore 2 /* contained0 */
         3: .line 168
      StackMap locals: com.sun.tools.javac.code.Attribute[]
      StackMap stack:
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 3 /* compounds */
        start local 3 // com.sun.tools.javac.util.ListBuffer compounds
         4: .line 169
            aload 2 /* contained0 */
            ifnull 11
         5: .line 170
            aload 2 /* contained0 */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 10
      StackMap locals: com.sun.tools.javac.code.AnnoConstruct com.sun.tools.javac.code.Attribute$Compound com.sun.tools.javac.code.Attribute[] com.sun.tools.javac.util.ListBuffer top int int com.sun.tools.javac.code.Attribute[]
      StackMap stack:
         6: aload 7
            iload 5
            aaload
            astore 4 /* a */
        start local 4 // com.sun.tools.javac.code.Attribute a
         7: .line 171
            aload 4 /* a */
            instanceof com.sun.tools.javac.code.Attribute$Compound
            ifeq 9
         8: .line 172
            aload 3 /* compounds */
            aload 4 /* a */
            checkcast com.sun.tools.javac.code.Attribute$Compound
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            astore 3 /* compounds */
        end local 4 // com.sun.tools.javac.code.Attribute a
         9: .line 170
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        10: iload 5
            iload 6
            if_icmplt 6
        11: .line 174
      StackMap locals: com.sun.tools.javac.code.AnnoConstruct com.sun.tools.javac.code.Attribute$Compound com.sun.tools.javac.code.Attribute[] com.sun.tools.javac.util.ListBuffer
      StackMap stack:
            aload 3 /* compounds */
            aload 3 /* compounds */
            invokevirtual com.sun.tools.javac.util.ListBuffer.size:()I
            anewarray com.sun.tools.javac.code.Attribute$Compound
            invokevirtual com.sun.tools.javac.util.ListBuffer.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Attribute$Compound[]
            areturn
        end local 3 // com.sun.tools.javac.util.ListBuffer compounds
        end local 2 // com.sun.tools.javac.code.Attribute[] contained0
        end local 1 // com.sun.tools.javac.code.Attribute$Compound container
        end local 0 // com.sun.tools.javac.code.AnnoConstruct this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lcom/sun/tools/javac/code/AnnoConstruct;
            0   12     1   container  Lcom/sun/tools/javac/code/Attribute$Compound;
            1   12     2  contained0  [Lcom/sun/tools/javac/code/Attribute;
            4   12     3   compounds  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Attribute$Compound;>;
            7    9     4           a  Lcom/sun/tools/javac/code/Attribute;
    MethodParameters:
           Name  Flags
      container  

  public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.AnnoConstruct this
        start local 1 // java.lang.Class annoType
         0: .line 181
            aload 1 /* annoType */
            invokevirtual java.lang.Class.isAnnotation:()Z
            ifne 2
         1: .line 182
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not an annotation type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* annoType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* annoType */
            invokevirtual com.sun.tools.javac.code.AnnoConstruct.getAttribute:(Ljava/lang/Class;)Lcom/sun/tools/javac/code/Attribute$Compound;
            astore 2 /* c */
        start local 2 // com.sun.tools.javac.code.Attribute$Compound c
         3: .line 185
            aload 2 /* c */
            ifnonnull 4
            aconst_null
            goto 5
      StackMap locals: com.sun.tools.javac.code.Attribute$Compound
      StackMap stack:
         4: aload 2 /* c */
            aload 1 /* annoType */
            invokestatic com.sun.tools.javac.model.AnnotationProxyMaker.generateAnnotation:(Lcom/sun/tools/javac/code/Attribute$Compound;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
      StackMap locals:
      StackMap stack: java.lang.annotation.Annotation
         5: areturn
        end local 2 // com.sun.tools.javac.code.Attribute$Compound c
        end local 1 // java.lang.Class annoType
        end local 0 // com.sun.tools.javac.code.AnnoConstruct this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/sun/tools/javac/code/AnnoConstruct;
            0    6     1  annoType  Ljava/lang/Class<TA;>;
            3    6     2         c  Lcom/sun/tools/javac/code/Attribute$Compound;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)TA;
    MethodParameters:
          Name  Flags
      annoType  

  private static java.lang.Class<? extends java.lang.annotation.Annotation> getContainer(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Class annoType
         0: .line 190
            aload 0 /* annoType */
            ldc Ljava/lang/annotation/Repeatable;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast java.lang.annotation.Repeatable
            astore 1 /* repeatable */
        start local 1 // java.lang.annotation.Repeatable repeatable
         1: .line 191
            aload 1 /* repeatable */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: java.lang.annotation.Repeatable
      StackMap stack:
         2: aload 1 /* repeatable */
            invokeinterface java.lang.annotation.Repeatable.value:()Ljava/lang/Class;
      StackMap locals:
      StackMap stack: java.lang.Class
         3: areturn
        end local 1 // java.lang.annotation.Repeatable repeatable
        end local 0 // java.lang.Class annoType
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0    annoType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            1    4     1  repeatable  Ljava/lang/annotation/Repeatable;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    MethodParameters:
          Name  Flags
      annoType  

  private static com.sun.tools.javac.code.Attribute[] unpackAttributes(com.sun.tools.javac.code.Attribute$Compound);
    descriptor: (Lcom/sun/tools/javac/code/Attribute$Compound;)[Lcom/sun/tools/javac/code/Attribute;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Attribute$Compound container
         0: .line 199
            aload 0 /* container */
            aload 0 /* container */
            getfield com.sun.tools.javac.code.Attribute$Compound.type:Lcom/sun/tools/javac/code/Type;
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.name:Lcom/sun/tools/javac/util/Name;
            getfield com.sun.tools.javac.util.Name.table:Lcom/sun/tools/javac/util/Name$Table;
            getfield com.sun.tools.javac.util.Name$Table.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.value:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Attribute$Compound.member:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Attribute;
            checkcast com.sun.tools.javac.code.Attribute$Array
            getfield com.sun.tools.javac.code.Attribute$Array.values:[Lcom/sun/tools/javac/code/Attribute;
            areturn
        end local 0 // com.sun.tools.javac.code.Attribute$Compound container
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  container  Lcom/sun/tools/javac/code/Attribute$Compound;
    MethodParameters:
           Name  Flags
      container  

  public java.util.List getAnnotationMirrors();
    descriptor: ()Ljava/util/List;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.code.AnnoConstruct.getAnnotationMirrors:()Lcom/sun/tools/javac/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "AnnoConstruct.java"
InnerClasses:
  public Array = com.sun.tools.javac.code.Attribute$Array of com.sun.tools.javac.code.Attribute
  public Compound = com.sun.tools.javac.code.Attribute$Compound of com.sun.tools.javac.code.Attribute
  public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
  public abstract Table = com.sun.tools.javac.util.Name$Table of com.sun.tools.javac.util.Name