public class com.sun.tools.classfile.Annotation
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.classfile.Annotation
  super_class: java.lang.Object
{
  public final int type_index;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int num_element_value_pairs;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final com.sun.tools.classfile.Annotation$element_value_pair[] element_value_pairs;
    descriptor: [Lcom/sun/tools/classfile/Annotation$element_value_pair;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  void <init>(com.sun.tools.classfile.ClassReader);
    descriptor: (Lcom/sun/tools/classfile/ClassReader;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.tools.classfile.Annotation this
        start local 1 // com.sun.tools.classfile.ClassReader cr
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 47
            aload 0 /* this */
            aload 1 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            putfield com.sun.tools.classfile.Annotation.type_index:I
         2: .line 48
            aload 0 /* this */
            aload 1 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            putfield com.sun.tools.classfile.Annotation.num_element_value_pairs:I
         3: .line 49
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.classfile.Annotation.num_element_value_pairs:I
            anewarray com.sun.tools.classfile.Annotation$element_value_pair
            putfield com.sun.tools.classfile.Annotation.element_value_pairs:[Lcom/sun/tools/classfile/Annotation$element_value_pair;
         4: .line 50
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         5: goto 8
         6: .line 51
      StackMap locals: com.sun.tools.classfile.Annotation com.sun.tools.classfile.ClassReader int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.Annotation.element_value_pairs:[Lcom/sun/tools/classfile/Annotation$element_value_pair;
            iload 2 /* i */
            new com.sun.tools.classfile.Annotation$element_value_pair
            dup
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.Annotation$element_value_pair.<init>:(Lcom/sun/tools/classfile/ClassReader;)V
            aastore
         7: .line 50
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.tools.classfile.Annotation.element_value_pairs:[Lcom/sun/tools/classfile/Annotation$element_value_pair;
            arraylength
            if_icmplt 6
        end local 2 // int i
         9: .line 52
            return
        end local 1 // com.sun.tools.classfile.ClassReader cr
        end local 0 // com.sun.tools.classfile.Annotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/tools/classfile/Annotation;
            0   10     1    cr  Lcom/sun/tools/classfile/ClassReader;
            5    9     2     i  I
    Exceptions:
      throws java.io.IOException, com.sun.tools.classfile.Annotation$InvalidAnnotation
    MethodParameters:
      Name  Flags
      cr    

  public void <init>(com.sun.tools.classfile.ConstantPool, int, com.sun.tools.classfile.Annotation$element_value_pair[]);
    descriptor: (Lcom/sun/tools/classfile/ConstantPool;I[Lcom/sun/tools/classfile/Annotation$element_value_pair;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.sun.tools.classfile.Annotation this
        start local 1 // com.sun.tools.classfile.ConstantPool constant_pool
        start local 2 // int type_index
        start local 3 // com.sun.tools.classfile.Annotation$element_value_pair[] element_value_pairs
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            iload 2 /* type_index */
            putfield com.sun.tools.classfile.Annotation.type_index:I
         2: .line 58
            aload 0 /* this */
            aload 3 /* element_value_pairs */
            arraylength
            putfield com.sun.tools.classfile.Annotation.num_element_value_pairs:I
         3: .line 59
            aload 0 /* this */
            aload 3 /* element_value_pairs */
            putfield com.sun.tools.classfile.Annotation.element_value_pairs:[Lcom/sun/tools/classfile/Annotation$element_value_pair;
         4: .line 60
            return
        end local 3 // com.sun.tools.classfile.Annotation$element_value_pair[] element_value_pairs
        end local 2 // int type_index
        end local 1 // com.sun.tools.classfile.ConstantPool constant_pool
        end local 0 // com.sun.tools.classfile.Annotation this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    5     0                 this  Lcom/sun/tools/classfile/Annotation;
            0    5     1        constant_pool  Lcom/sun/tools/classfile/ConstantPool;
            0    5     2           type_index  I
            0    5     3  element_value_pairs  [Lcom/sun/tools/classfile/Annotation$element_value_pair;
    MethodParameters:
                     Name  Flags
      constant_pool        
      type_index           
      element_value_pairs  

  public int length();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // com.sun.tools.classfile.Annotation this
         0: .line 63
            iconst_4
            istore 1 /* n */
        start local 1 // int n
         1: .line 64
            aload 0 /* this */
            getfield com.sun.tools.classfile.Annotation.element_value_pairs:[Lcom/sun/tools/classfile/Annotation$element_value_pair;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: com.sun.tools.classfile.Annotation int top int int com.sun.tools.classfile.Annotation$element_value_pair[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* pair */
        start local 2 // com.sun.tools.classfile.Annotation$element_value_pair pair
         3: .line 65
            iload 1 /* n */
            aload 2 /* pair */
            invokevirtual com.sun.tools.classfile.Annotation$element_value_pair.length:()I
            iadd
            istore 1 /* n */
        end local 2 // com.sun.tools.classfile.Annotation$element_value_pair pair
         4: .line 64
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 66
            iload 1 /* n */
            ireturn
        end local 1 // int n
        end local 0 // com.sun.tools.classfile.Annotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/classfile/Annotation;
            1    7     1     n  I
            3    4     2  pair  Lcom/sun/tools/classfile/Annotation$element_value_pair;
}
SourceFile: "Annotation.java"
NestMembers:
  com.sun.tools.classfile.Annotation$Annotation_element_value  com.sun.tools.classfile.Annotation$Array_element_value  com.sun.tools.classfile.Annotation$Class_element_value  com.sun.tools.classfile.Annotation$Enum_element_value  com.sun.tools.classfile.Annotation$InvalidAnnotation  com.sun.tools.classfile.Annotation$Primitive_element_value  com.sun.tools.classfile.Annotation$element_value  com.sun.tools.classfile.Annotation$element_value$Visitor  com.sun.tools.classfile.Annotation$element_value_pair
InnerClasses:
  public Annotation_element_value = com.sun.tools.classfile.Annotation$Annotation_element_value of com.sun.tools.classfile.Annotation
  public Array_element_value = com.sun.tools.classfile.Annotation$Array_element_value of com.sun.tools.classfile.Annotation
  public Class_element_value = com.sun.tools.classfile.Annotation$Class_element_value of com.sun.tools.classfile.Annotation
  public Enum_element_value = com.sun.tools.classfile.Annotation$Enum_element_value of com.sun.tools.classfile.Annotation
  InvalidAnnotation = com.sun.tools.classfile.Annotation$InvalidAnnotation of com.sun.tools.classfile.Annotation
  public Primitive_element_value = com.sun.tools.classfile.Annotation$Primitive_element_value of com.sun.tools.classfile.Annotation
  public abstract element_value = com.sun.tools.classfile.Annotation$element_value of com.sun.tools.classfile.Annotation
  public element_value_pair = com.sun.tools.classfile.Annotation$element_value_pair of com.sun.tools.classfile.Annotation