public class com.sun.tools.classfile.Attributes implements java.lang.Iterable<com.sun.tools.classfile.Attribute>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.classfile.Attributes
  super_class: java.lang.Object
{
  public final com.sun.tools.classfile.Attribute[] attrs;
    descriptor: [Lcom/sun/tools/classfile/Attribute;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final java.util.Map<java.lang.String, com.sun.tools.classfile.Attribute> map;
    descriptor: Ljava/util/Map;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/classfile/Attribute;>;

  void <init>(com.sun.tools.classfile.ClassReader);
    descriptor: (Lcom/sun/tools/classfile/ClassReader;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.tools.classfile.Attributes this
        start local 1 // com.sun.tools.classfile.ClassReader cr
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 46
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.classfile.Attributes.map:Ljava/util/Map;
         2: .line 47
            aload 1 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            istore 2 /* attrs_count */
        start local 2 // int attrs_count
         3: .line 48
            aload 0 /* this */
            iload 2 /* attrs_count */
            anewarray com.sun.tools.classfile.Attribute
            putfield com.sun.tools.classfile.Attributes.attrs:[Lcom/sun/tools/classfile/Attribute;
         4: .line 49
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 12
         6: .line 50
      StackMap locals: com.sun.tools.classfile.Attributes com.sun.tools.classfile.ClassReader int int
      StackMap stack:
            aload 1 /* cr */
            invokestatic com.sun.tools.classfile.Attribute.read:(Lcom/sun/tools/classfile/ClassReader;)Lcom/sun/tools/classfile/Attribute;
            astore 4 /* attr */
        start local 4 // com.sun.tools.classfile.Attribute attr
         7: .line 51
            aload 0 /* this */
            getfield com.sun.tools.classfile.Attributes.attrs:[Lcom/sun/tools/classfile/Attribute;
            iload 3 /* i */
            aload 4 /* attr */
            aastore
         8: .line 53
            aload 0 /* this */
            getfield com.sun.tools.classfile.Attributes.map:Ljava/util/Map;
            aload 4 /* attr */
            aload 1 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.getConstantPool:()Lcom/sun/tools/classfile/ConstantPool;
            invokevirtual com.sun.tools.classfile.Attribute.getName:(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
            aload 4 /* attr */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 54
            goto 11
      StackMap locals: com.sun.tools.classfile.Attributes com.sun.tools.classfile.ClassReader int int com.sun.tools.classfile.Attribute
      StackMap stack: com.sun.tools.classfile.ConstantPoolException
        10: pop
        end local 4 // com.sun.tools.classfile.Attribute attr
        11: .line 49
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* attrs_count */
            if_icmplt 6
        end local 3 // int i
        13: .line 58
            return
        end local 2 // int attrs_count
        end local 1 // com.sun.tools.classfile.ClassReader cr
        end local 0 // com.sun.tools.classfile.Attributes this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lcom/sun/tools/classfile/Attributes;
            0   14     1           cr  Lcom/sun/tools/classfile/ClassReader;
            3   14     2  attrs_count  I
            5   13     3            i  I
            7   11     4         attr  Lcom/sun/tools/classfile/Attribute;
      Exception table:
        from    to  target  type
           8     9      10  Class com.sun.tools.classfile.ConstantPoolException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      cr    

  public void <init>(com.sun.tools.classfile.ConstantPool, com.sun.tools.classfile.Attribute[]);
    descriptor: (Lcom/sun/tools/classfile/ConstantPool;[Lcom/sun/tools/classfile/Attribute;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // com.sun.tools.classfile.Attributes this
        start local 1 // com.sun.tools.classfile.ConstantPool constant_pool
        start local 2 // com.sun.tools.classfile.Attribute[] attrs
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 61
            aload 0 /* this */
            aload 2 /* attrs */
            putfield com.sun.tools.classfile.Attributes.attrs:[Lcom/sun/tools/classfile/Attribute;
         2: .line 62
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.classfile.Attributes.map:Ljava/util/Map;
         3: .line 63
            aload 2 /* attrs */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: com.sun.tools.classfile.Attributes com.sun.tools.classfile.ConstantPool com.sun.tools.classfile.Attribute[] top int int com.sun.tools.classfile.Attribute[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* attr */
        start local 3 // com.sun.tools.classfile.Attribute attr
         5: .line 65
            aload 0 /* this */
            getfield com.sun.tools.classfile.Attributes.map:Ljava/util/Map;
            aload 3 /* attr */
            aload 1 /* constant_pool */
            invokevirtual com.sun.tools.classfile.Attribute.getName:(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
            aload 3 /* attr */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 66
            goto 8
      StackMap locals: com.sun.tools.classfile.Attributes com.sun.tools.classfile.ConstantPool com.sun.tools.classfile.Attribute[] com.sun.tools.classfile.Attribute int int com.sun.tools.classfile.Attribute[]
      StackMap stack: com.sun.tools.classfile.ConstantPoolException
         7: pop
        end local 3 // com.sun.tools.classfile.Attribute attr
         8: .line 63
      StackMap locals: com.sun.tools.classfile.Attributes com.sun.tools.classfile.ConstantPool com.sun.tools.classfile.Attribute[] top int int com.sun.tools.classfile.Attribute[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 4
        10: .line 70
            return
        end local 2 // com.sun.tools.classfile.Attribute[] attrs
        end local 1 // com.sun.tools.classfile.ConstantPool constant_pool
        end local 0 // com.sun.tools.classfile.Attributes this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lcom/sun/tools/classfile/Attributes;
            0   11     1  constant_pool  Lcom/sun/tools/classfile/ConstantPool;
            0   11     2          attrs  [Lcom/sun/tools/classfile/Attribute;
            5    8     3           attr  Lcom/sun/tools/classfile/Attribute;
      Exception table:
        from    to  target  type
           5     6       7  Class com.sun.tools.classfile.ConstantPoolException
    MethodParameters:
               Name  Flags
      constant_pool  
      attrs          

  public void <init>(java.util.Map<java.lang.String, com.sun.tools.classfile.Attribute>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.classfile.Attributes this
        start local 1 // java.util.Map attributes
         0: .line 72
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 73
            aload 0 /* this */
            aload 1 /* attributes */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 1 /* attributes */
            invokeinterface java.util.Map.size:()I
            anewarray com.sun.tools.classfile.Attribute
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.tools.classfile.Attribute[]
            putfield com.sun.tools.classfile.Attributes.attrs:[Lcom/sun/tools/classfile/Attribute;
         2: .line 74
            aload 0 /* this */
            aload 1 /* attributes */
            putfield com.sun.tools.classfile.Attributes.map:Ljava/util/Map;
         3: .line 75
            return
        end local 1 // java.util.Map attributes
        end local 0 // com.sun.tools.classfile.Attributes this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/sun/tools/classfile/Attributes;
            0    4     1  attributes  Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/classfile/Attribute;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/classfile/Attribute;>;)V
    MethodParameters:
            Name  Flags
      attributes  

  public java.util.Iterator<com.sun.tools.classfile.Attribute> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.classfile.Attributes this
         0: .line 78
            aload 0 /* this */
            getfield com.sun.tools.classfile.Attributes.attrs:[Lcom/sun/tools/classfile/Attribute;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // com.sun.tools.classfile.Attributes this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/classfile/Attributes;
    Signature: ()Ljava/util/Iterator<Lcom/sun/tools/classfile/Attribute;>;

  public com.sun.tools.classfile.Attribute get(int);
    descriptor: (I)Lcom/sun/tools/classfile/Attribute;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.classfile.Attributes this
        start local 1 // int index
         0: .line 82
            aload 0 /* this */
            getfield com.sun.tools.classfile.Attributes.attrs:[Lcom/sun/tools/classfile/Attribute;
            iload 1 /* index */
            aaload
            areturn
        end local 1 // int index
        end local 0 // com.sun.tools.classfile.Attributes this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/classfile/Attributes;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public com.sun.tools.classfile.Attribute get(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/tools/classfile/Attribute;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.classfile.Attributes this
        start local 1 // java.lang.String name
         0: .line 86
            aload 0 /* this */
            getfield com.sun.tools.classfile.Attributes.map:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.classfile.Attribute
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.tools.classfile.Attributes this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/classfile/Attributes;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public int getIndex(com.sun.tools.classfile.ConstantPool, java.lang.String);
    descriptor: (Lcom/sun/tools/classfile/ConstantPool;Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // com.sun.tools.classfile.Attributes this
        start local 1 // com.sun.tools.classfile.ConstantPool constant_pool
        start local 2 // java.lang.String name
         0: .line 90
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 8
         2: .line 91
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.Attributes.attrs:[Lcom/sun/tools/classfile/Attribute;
            iload 3 /* i */
            aaload
            astore 4 /* attr */
        start local 4 // com.sun.tools.classfile.Attribute attr
         3: .line 93
            aload 4 /* attr */
            ifnull 7
            aload 4 /* attr */
            aload 1 /* constant_pool */
            invokevirtual com.sun.tools.classfile.Attribute.getName:(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         4: .line 94
            iload 3 /* i */
         5: ireturn
         6: .line 95
      StackMap locals: com.sun.tools.classfile.Attributes com.sun.tools.classfile.ConstantPool java.lang.String int com.sun.tools.classfile.Attribute
      StackMap stack: com.sun.tools.classfile.ConstantPoolException
            pop
        end local 4 // com.sun.tools.classfile.Attribute attr
         7: .line 90
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.tools.classfile.Attributes.attrs:[Lcom/sun/tools/classfile/Attribute;
            arraylength
            if_icmplt 2
        end local 3 // int i
         9: .line 99
            iconst_m1
            ireturn
        end local 2 // java.lang.String name
        end local 1 // com.sun.tools.classfile.ConstantPool constant_pool
        end local 0 // com.sun.tools.classfile.Attributes this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lcom/sun/tools/classfile/Attributes;
            0   10     1  constant_pool  Lcom/sun/tools/classfile/ConstantPool;
            0   10     2           name  Ljava/lang/String;
            1    9     3              i  I
            3    7     4           attr  Lcom/sun/tools/classfile/Attribute;
      Exception table:
        from    to  target  type
           3     5       6  Class com.sun.tools.classfile.ConstantPoolException
    MethodParameters:
               Name  Flags
      constant_pool  
      name           

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.classfile.Attributes this
         0: .line 103
            aload 0 /* this */
            getfield com.sun.tools.classfile.Attributes.attrs:[Lcom/sun/tools/classfile/Attribute;
            arraylength
            ireturn
        end local 0 // com.sun.tools.classfile.Attributes this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/classfile/Attributes;

  public int byteLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // com.sun.tools.classfile.Attributes this
         0: .line 107
            iconst_2
            istore 1 /* length */
        start local 1 // int length
         1: .line 108
            aload 0 /* this */
            getfield com.sun.tools.classfile.Attributes.attrs:[Lcom/sun/tools/classfile/Attribute;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: com.sun.tools.classfile.Attributes int top int int com.sun.tools.classfile.Attribute[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* a */
        start local 2 // com.sun.tools.classfile.Attribute a
         3: .line 109
            iload 1 /* length */
            aload 2 /* a */
            invokevirtual com.sun.tools.classfile.Attribute.byteLength:()I
            iadd
            istore 1 /* length */
        end local 2 // com.sun.tools.classfile.Attribute a
         4: .line 108
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 110
            iload 1 /* length */
            ireturn
        end local 1 // int length
        end local 0 // com.sun.tools.classfile.Attributes this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/sun/tools/classfile/Attributes;
            1    7     1  length  I
            3    4     2       a  Lcom/sun/tools/classfile/Attribute;
}
Signature: Ljava/lang/Object;Ljava/lang/Iterable<Lcom/sun/tools/classfile/Attribute;>;
SourceFile: "Attributes.java"