class com.sun.java.util.jar.pack.ClassWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.java.util.jar.pack.ClassWriter
  super_class: java.lang.Object
{
  int verbose;
    descriptor: I
    flags: (0x0000) 

  com.sun.java.util.jar.pack.Package pkg;
    descriptor: Lcom/sun/java/util/jar/pack/Package;
    flags: (0x0000) 

  com.sun.java.util.jar.pack.Package$Class cls;
    descriptor: Lcom/sun/java/util/jar/pack/Package$Class;
    flags: (0x0000) 

  java.io.DataOutputStream out;
    descriptor: Ljava/io/DataOutputStream;
    flags: (0x0000) 

  com.sun.java.util.jar.pack.ConstantPool$Index cpIndex;
    descriptor: Lcom/sun/java/util/jar/pack/ConstantPool$Index;
    flags: (0x0000) 

  com.sun.java.util.jar.pack.ConstantPool$Index bsmIndex;
    descriptor: Lcom/sun/java/util/jar/pack/ConstantPool$Index;
    flags: (0x0000) 

  java.io.ByteArrayOutputStream buf;
    descriptor: Ljava/io/ByteArrayOutputStream;
    flags: (0x0000) 

  java.io.DataOutputStream bufOut;
    descriptor: Ljava/io/DataOutputStream;
    flags: (0x0000) 

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 47
            ldc Lcom/sun/java/util/jar/pack/ClassWriter;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.sun.java.util.jar.pack.ClassWriter.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.sun.java.util.jar.pack.Package$Class, java.io.OutputStream);
    descriptor: (Lcom/sun/java/util/jar/pack/Package$Class;Ljava/io/OutputStream;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
        start local 1 // com.sun.java.util.jar.pack.Package$Class cls
        start local 2 // java.io.OutputStream out
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 227
            aload 0 /* this */
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            putfield com.sun.java.util.jar.pack.ClassWriter.buf:Ljava/io/ByteArrayOutputStream;
         2: .line 228
            aload 0 /* this */
            new java.io.DataOutputStream
            dup
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.buf:Ljava/io/ByteArrayOutputStream;
            invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
            putfield com.sun.java.util.jar.pack.ClassWriter.bufOut:Ljava/io/DataOutputStream;
         3: .line 57
            aload 0 /* this */
            aload 1 /* cls */
            invokevirtual com.sun.java.util.jar.pack.Package$Class.getPackage:()Lcom/sun/java/util/jar/pack/Package;
            putfield com.sun.java.util.jar.pack.ClassWriter.pkg:Lcom/sun/java/util/jar/pack/Package;
         4: .line 58
            aload 0 /* this */
            aload 1 /* cls */
            putfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
         5: .line 59
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.pkg:Lcom/sun/java/util/jar/pack/Package;
            getfield com.sun.java.util.jar.pack.Package.verbose:I
            putfield com.sun.java.util.jar.pack.ClassWriter.verbose:I
         6: .line 60
            aload 0 /* this */
            new java.io.DataOutputStream
            dup
            new java.io.BufferedOutputStream
            dup
            aload 2 /* out */
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
            invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
            putfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
         7: .line 61
            aload 0 /* this */
            aload 1 /* cls */
            invokevirtual com.sun.java.util.jar.pack.Package$Class.toString:()Ljava/lang/String;
            aload 1 /* cls */
            invokevirtual com.sun.java.util.jar.pack.Package$Class.getCPMap:()[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
            invokestatic com.sun.java.util.jar.pack.ConstantPool.makeIndex:(Ljava/lang/String;[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)Lcom/sun/java/util/jar/pack/ConstantPool$Index;
            putfield com.sun.java.util.jar.pack.ClassWriter.cpIndex:Lcom/sun/java/util/jar/pack/ConstantPool$Index;
         8: .line 62
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cpIndex:Lcom/sun/java/util/jar/pack/ConstantPool$Index;
            iconst_1
            putfield com.sun.java.util.jar.pack.ConstantPool$Index.flattenSigs:Z
         9: .line 63
            aload 1 /* cls */
            invokevirtual com.sun.java.util.jar.pack.Package$Class.hasBootstrapMethods:()Z
            ifeq 13
        10: .line 64
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cpIndex:Lcom/sun/java/util/jar/pack/ConstantPool$Index;
            getfield com.sun.java.util.jar.pack.ConstantPool$Index.debugName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".BootstrapMethods"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 65
            aload 1 /* cls */
            invokevirtual com.sun.java.util.jar.pack.Package$Class.getBootstrapMethodMap:()[Lcom/sun/java/util/jar/pack/ConstantPool$BootstrapMethodEntry;
        12: .line 64
            invokestatic com.sun.java.util.jar.pack.ConstantPool.makeIndex:(Ljava/lang/String;[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)Lcom/sun/java/util/jar/pack/ConstantPool$Index;
            putfield com.sun.java.util.jar.pack.ClassWriter.bsmIndex:Lcom/sun/java/util/jar/pack/ConstantPool$Index;
        13: .line 67
      StackMap locals: com.sun.java.util.jar.pack.ClassWriter com.sun.java.util.jar.pack.Package$Class java.io.OutputStream
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.verbose:I
            iconst_1
            if_icmple 17
        14: .line 68
            getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
            new java.lang.StringBuilder
            dup
            ldc "local CP="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.verbose:I
            iconst_2
            if_icmple 15
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cpIndex:Lcom/sun/java/util/jar/pack/ConstantPool$Index;
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$Index.dumpString:()Ljava/lang/String;
            goto 16
      StackMap locals: com.sun.java.util.jar.pack.ClassWriter com.sun.java.util.jar.pack.Package$Class java.io.OutputStream
      StackMap stack: com.sun.java.util.jar.pack.Utils$Pack200Logger java.lang.StringBuilder
        15: aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cpIndex:Lcom/sun/java/util/jar/pack/ConstantPool$Index;
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$Index.toString:()Ljava/lang/String;
      StackMap locals: com.sun.java.util.jar.pack.ClassWriter com.sun.java.util.jar.pack.Package$Class java.io.OutputStream
      StackMap stack: com.sun.java.util.jar.pack.Utils$Pack200Logger java.lang.StringBuilder java.lang.String
        16: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
        17: .line 69
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.OutputStream out
        end local 1 // com.sun.java.util.jar.pack.Package$Class cls
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lcom/sun/java/util/jar/pack/ClassWriter;
            0   18     1   cls  Lcom/sun/java/util/jar/pack/Package$Class;
            0   18     2   out  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      cls   
      out   

  private void writeShort(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
        start local 1 // int x
         0: .line 72
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
            iload 1 /* x */
            invokevirtual java.io.DataOutputStream.writeShort:(I)V
         1: .line 73
            return
        end local 1 // int x
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/java/util/jar/pack/ClassWriter;
            0    2     1     x  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      x     

  private void writeInt(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
        start local 1 // int x
         0: .line 76
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
            iload 1 /* x */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         1: .line 77
            return
        end local 1 // int x
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/java/util/jar/pack/ClassWriter;
            0    2     1     x  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      x     

  private void writeRef(com.sun.java.util.jar.pack.ConstantPool$Entry);
    descriptor: (Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
        start local 1 // com.sun.java.util.jar.pack.ConstantPool$Entry e
         0: .line 81
            aload 0 /* this */
            aload 1 /* e */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cpIndex:Lcom/sun/java/util/jar/pack/ConstantPool$Index;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;Lcom/sun/java/util/jar/pack/ConstantPool$Index;)V
         1: .line 82
            return
        end local 1 // com.sun.java.util.jar.pack.ConstantPool$Entry e
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/java/util/jar/pack/ClassWriter;
            0    2     1     e  Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      e     

  private void writeRef(com.sun.java.util.jar.pack.ConstantPool$Entry, com.sun.java.util.jar.pack.ConstantPool$Index);
    descriptor: (Lcom/sun/java/util/jar/pack/ConstantPool$Entry;Lcom/sun/java/util/jar/pack/ConstantPool$Index;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
        start local 1 // com.sun.java.util.jar.pack.ConstantPool$Entry e
        start local 2 // com.sun.java.util.jar.pack.ConstantPool$Index cpIndex
         0: .line 86
            aload 1 /* e */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 2 /* cpIndex */
            aload 1 /* e */
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$Index.indexOf:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)I
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* i */
        start local 3 // int i
         3: .line 87
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         4: .line 88
            return
        end local 3 // int i
        end local 2 // com.sun.java.util.jar.pack.ConstantPool$Index cpIndex
        end local 1 // com.sun.java.util.jar.pack.ConstantPool$Entry e
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/sun/java/util/jar/pack/ClassWriter;
            0    5     1        e  Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
            0    5     2  cpIndex  Lcom/sun/java/util/jar/pack/ConstantPool$Index;
            3    5     3        i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      e        
      cpIndex  

  void write();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
         0: .line 91
            iconst_0
            istore 1 /* ok */
        start local 1 // boolean ok
         1: .line 93
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.verbose:I
            iconst_1
            if_icmple 2
            getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
            new java.lang.StringBuilder
            dup
            ldc "...writing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
         2: .line 94
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeMagicNumbers:()V
         3: .line 95
            aload 0 /* this */
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeConstantPool:()V
         4: .line 96
            aload 0 /* this */
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeHeader:()V
         5: .line 97
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeMembers:(Z)V
         6: .line 98
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeMembers:(Z)V
         7: .line 99
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeAttributes:(ILcom/sun/java/util/jar/pack/Attribute$Holder;)V
         8: .line 105
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
            invokevirtual java.io.DataOutputStream.flush:()V
         9: .line 106
            iconst_1
            istore 1 /* ok */
        10: .line 107
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 2
        12: .line 108
            iload 1 /* ok */
            ifne 14
        13: .line 109
            getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
            new java.lang.StringBuilder
            dup
            ldc "Error on output of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.warning:(Ljava/lang/String;)V
        14: .line 111
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2
            athrow
        15: .line 108
      StackMap locals:
      StackMap stack:
            iload 1 /* ok */
            ifne 17
        16: .line 109
            getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
            new java.lang.StringBuilder
            dup
            ldc "Error on output of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.warning:(Ljava/lang/String;)V
        17: .line 112
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean ok
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lcom/sun/java/util/jar/pack/ClassWriter;
            1   18     1    ok  Z
      Exception table:
        from    to  target  type
           1    11      11  any
    Exceptions:
      throws java.io.IOException

  void writeMagicNumbers();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
         0: .line 115
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            getfield com.sun.java.util.jar.pack.Package$Class.magic:I
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeInt:(I)V
         1: .line 116
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            getfield com.sun.java.util.jar.pack.Package$Class.version:Lcom/sun/java/util/jar/pack/Package$Version;
            getfield com.sun.java.util.jar.pack.Package$Version.minor:S
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         2: .line 117
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            getfield com.sun.java.util.jar.pack.Package$Class.version:Lcom/sun/java/util/jar/pack/Package$Version;
            getfield com.sun.java.util.jar.pack.Package$Version.major:S
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         3: .line 118
            return
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/java/util/jar/pack/ClassWriter;
    Exceptions:
      throws java.io.IOException

  void writeConstantPool();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
         0: .line 121
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            getfield com.sun.java.util.jar.pack.Package$Class.cpMap:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
            astore 1 /* cpMap */
        start local 1 // com.sun.java.util.jar.pack.ConstantPool$Entry[] cpMap
         1: .line 122
            aload 0 /* this */
            aload 1 /* cpMap */
            arraylength
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         2: .line 123
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 44
         4: .line 124
      StackMap locals: com.sun.java.util.jar.pack.ConstantPool$Entry[] int
      StackMap stack:
            aload 1 /* cpMap */
            iload 2 /* i */
            aaload
            astore 3 /* e */
        start local 3 // com.sun.java.util.jar.pack.ConstantPool$Entry e
         5: .line 125
            getstatic com.sun.java.util.jar.pack.ClassWriter.$assertionsDisabled:Z
            ifne 11
            aload 3 /* e */
            ifnonnull 6
            iconst_1
            goto 7
      StackMap locals: com.sun.java.util.jar.pack.ConstantPool$Entry
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: iload 2 /* i */
            ifeq 9
            aload 1 /* cpMap */
            iload 2 /* i */
            iconst_1
            isub
            aaload
            ifnull 8
            aload 1 /* cpMap */
            iload 2 /* i */
            iconst_1
            isub
            aaload
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$Entry.isDoubleWord:()Z
            ifne 9
      StackMap locals:
      StackMap stack: int
         8: iconst_0
            goto 10
      StackMap locals:
      StackMap stack: int
         9: iconst_1
      StackMap locals: com.sun.java.util.jar.pack.ClassWriter com.sun.java.util.jar.pack.ConstantPool$Entry[] int com.sun.java.util.jar.pack.ConstantPool$Entry
      StackMap stack: int int
        10: if_icmpeq 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 126
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            ifnonnull 12
            goto 43
        12: .line 127
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$Entry.getTag:()B
            istore 4 /* tag */
        start local 4 // byte tag
        13: .line 128
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.verbose:I
            iconst_2
            if_icmple 14
            getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
            new java.lang.StringBuilder
            dup
            ldc "   CP["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
        14: .line 129
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
            iload 4 /* tag */
            invokevirtual java.io.DataOutputStream.write:(I)V
        15: .line 130
            iload 4 /* tag */
            tableswitch { // 1 - 18
                    1: 17
                    2: 42
                    3: 19
                    4: 21
                    5: 24
                    6: 26
                    7: 29
                    8: 29
                    9: 35
                   10: 35
                   11: 35
                   12: 35
                   13: 16
                   14: 42
                   15: 31
                   16: 29
                   17: 41
                   18: 38
              default: 42
          }
        16: .line 132
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "CP should have Signatures remapped to Utf8"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        17: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
            aload 3 /* e */
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$Entry.stringValue:()Ljava/lang/String;
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        18: .line 135
            goto 43
        19: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
            aload 3 /* e */
            checkcast com.sun.java.util.jar.pack.ConstantPool$NumberEntry
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$NumberEntry.numberValue:()Ljava/lang/Number;
            invokevirtual java.lang.Number.intValue:()I
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        20: .line 138
            goto 43
        21: .line 140
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            checkcast com.sun.java.util.jar.pack.ConstantPool$NumberEntry
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$NumberEntry.numberValue:()Ljava/lang/Number;
            invokevirtual java.lang.Number.floatValue:()F
            fstore 5 /* fval */
        start local 5 // float fval
        22: .line 141
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
            fload 5 /* fval */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        23: .line 142
            goto 43
        end local 5 // float fval
        24: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
            aload 3 /* e */
            checkcast com.sun.java.util.jar.pack.ConstantPool$NumberEntry
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$NumberEntry.numberValue:()Ljava/lang/Number;
            invokevirtual java.lang.Number.longValue:()J
            invokevirtual java.io.DataOutputStream.writeLong:(J)V
        25: .line 145
            goto 43
        26: .line 147
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            checkcast com.sun.java.util.jar.pack.ConstantPool$NumberEntry
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$NumberEntry.numberValue:()Ljava/lang/Number;
            invokevirtual java.lang.Number.doubleValue:()D
            dstore 6 /* dval */
        start local 6 // double dval
        27: .line 148
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
            dload 6 /* dval */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            invokevirtual java.io.DataOutputStream.writeLong:(J)V
        28: .line 149
            goto 43
        end local 6 // double dval
        29: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* e */
            iconst_0
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$Entry.getRef:(I)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
        30: .line 154
            goto 43
        31: .line 156
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            checkcast com.sun.java.util.jar.pack.ConstantPool$MethodHandleEntry
            astore 8 /* mhe */
        start local 8 // com.sun.java.util.jar.pack.ConstantPool$MethodHandleEntry mhe
        32: .line 157
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
            aload 8 /* mhe */
            getfield com.sun.java.util.jar.pack.ConstantPool$MethodHandleEntry.refKind:I
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
        33: .line 158
            aload 0 /* this */
            aload 8 /* mhe */
            iconst_0
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$MethodHandleEntry.getRef:(I)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
        34: .line 159
            goto 43
        end local 8 // com.sun.java.util.jar.pack.ConstantPool$MethodHandleEntry mhe
        35: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* e */
            iconst_0
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$Entry.getRef:(I)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
        36: .line 165
            aload 0 /* this */
            aload 3 /* e */
            iconst_1
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$Entry.getRef:(I)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
        37: .line 166
            goto 43
        38: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* e */
            iconst_0
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$Entry.getRef:(I)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.bsmIndex:Lcom/sun/java/util/jar/pack/ConstantPool$Index;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;Lcom/sun/java/util/jar/pack/ConstantPool$Index;)V
        39: .line 169
            aload 0 /* this */
            aload 3 /* e */
            iconst_1
            invokevirtual com.sun.java.util.jar.pack.ConstantPool$Entry.getRef:(I)Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
        40: .line 170
            goto 43
        41: .line 172
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "CP should have BootstrapMethods moved to side-table"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        42: .line 174
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad constant pool tag "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* tag */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // byte tag
        end local 3 // com.sun.java.util.jar.pack.ConstantPool$Entry e
        43: .line 123
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 2 /* i */
            aload 1 /* cpMap */
            arraylength
            if_icmplt 4
        end local 2 // int i
        45: .line 177
            return
        end local 1 // com.sun.java.util.jar.pack.ConstantPool$Entry[] cpMap
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   46     0   this  Lcom/sun/java/util/jar/pack/ClassWriter;
            1   46     1  cpMap  [Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
            3   45     2      i  I
            5   43     3      e  Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
           13   43     4    tag  B
           22   24     5   fval  F
           27   29     6   dval  D
           32   35     8    mhe  Lcom/sun/java/util/jar/pack/ConstantPool$MethodHandleEntry;
    Exceptions:
      throws java.io.IOException

  void writeHeader();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
         0: .line 180
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            getfield com.sun.java.util.jar.pack.Package$Class.flags:I
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         1: .line 181
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            getfield com.sun.java.util.jar.pack.Package$Class.thisClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
         2: .line 182
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            getfield com.sun.java.util.jar.pack.Package$Class.superClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
         3: .line 183
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            getfield com.sun.java.util.jar.pack.Package$Class.interfaces:[Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
            arraylength
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         4: .line 184
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         5: goto 8
         6: .line 185
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            getfield com.sun.java.util.jar.pack.Package$Class.interfaces:[Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
            iload 1 /* i */
            aaload
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
         7: .line 184
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 1 /* i */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            getfield com.sun.java.util.jar.pack.Package$Class.interfaces:[Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
            arraylength
            if_icmplt 6
        end local 1 // int i
         9: .line 187
            return
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/java/util/jar/pack/ClassWriter;
            5    9     1     i  I
    Exceptions:
      throws java.io.IOException

  void writeMembers(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
        start local 1 // boolean doMethods
         0: .line 191
            iload 1 /* doMethods */
            ifne 3
         1: .line 192
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            invokevirtual com.sun.java.util.jar.pack.Package$Class.getFields:()Ljava/util/List;
            astore 2 /* mems */
        start local 2 // java.util.List mems
         2: goto 4
        end local 2 // java.util.List mems
         3: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            invokevirtual com.sun.java.util.jar.pack.Package$Class.getMethods:()Ljava/util/List;
            astore 2 /* mems */
        start local 2 // java.util.List mems
         4: .line 195
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 2 /* mems */
            invokeinterface java.util.List.size:()I
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         5: .line 196
            aload 2 /* mems */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: com.sun.java.util.jar.pack.ClassWriter int java.util.List top java.util.Iterator
      StackMap stack:
         6: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.java.util.jar.pack.Package$Class$Member
            astore 3 /* m */
        start local 3 // com.sun.java.util.jar.pack.Package$Class$Member m
         7: .line 197
            aload 0 /* this */
            aload 3 /* m */
            iload 1 /* doMethods */
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeMember:(Lcom/sun/java/util/jar/pack/Package$Class$Member;Z)V
        end local 3 // com.sun.java.util.jar.pack.Package$Class$Member m
         8: .line 196
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 199
            return
        end local 2 // java.util.List mems
        end local 1 // boolean doMethods
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lcom/sun/java/util/jar/pack/ClassWriter;
            0   10     1  doMethods  Z
            2    3     2       mems  Ljava/util/List<+Lcom/sun/java/util/jar/pack/Package$Class$Member;>;
            4   10     2       mems  Ljava/util/List<+Lcom/sun/java/util/jar/pack/Package$Class$Member;>;
            7    8     3          m  Lcom/sun/java/util/jar/pack/Package$Class$Member;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      doMethods  

  void writeMember(com.sun.java.util.jar.pack.Package$Class$Member, boolean);
    descriptor: (Lcom/sun/java/util/jar/pack/Package$Class$Member;Z)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
        start local 1 // com.sun.java.util.jar.pack.Package$Class$Member m
        start local 2 // boolean doMethod
         0: .line 202
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.verbose:I
            iconst_2
            if_icmple 1
            getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
            new java.lang.StringBuilder
            dup
            ldc "writeMember "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* m */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
         1: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* m */
            getfield com.sun.java.util.jar.pack.Package$Class$Member.flags:I
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         2: .line 204
            aload 0 /* this */
            aload 1 /* m */
            invokevirtual com.sun.java.util.jar.pack.Package$Class$Member.getDescriptor:()Lcom/sun/java/util/jar/pack/ConstantPool$DescriptorEntry;
            getfield com.sun.java.util.jar.pack.ConstantPool$DescriptorEntry.nameRef:Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
         3: .line 205
            aload 0 /* this */
            aload 1 /* m */
            invokevirtual com.sun.java.util.jar.pack.Package$Class$Member.getDescriptor:()Lcom/sun/java/util/jar/pack/ConstantPool$DescriptorEntry;
            getfield com.sun.java.util.jar.pack.ConstantPool$DescriptorEntry.typeRef:Lcom/sun/java/util/jar/pack/ConstantPool$SignatureEntry;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
         4: .line 206
            aload 0 /* this */
            iload 2 /* doMethod */
            ifne 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack: com.sun.java.util.jar.pack.ClassWriter
         5: iconst_2
         6: .line 207
      StackMap locals: com.sun.java.util.jar.pack.ClassWriter com.sun.java.util.jar.pack.Package$Class$Member int
      StackMap stack: com.sun.java.util.jar.pack.ClassWriter int
            aload 1 /* m */
         7: .line 206
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeAttributes:(ILcom/sun/java/util/jar/pack/Attribute$Holder;)V
         8: .line 208
            return
        end local 2 // boolean doMethod
        end local 1 // com.sun.java.util.jar.pack.Package$Class$Member m
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/sun/java/util/jar/pack/ClassWriter;
            0    9     1         m  Lcom/sun/java/util/jar/pack/Package$Class$Member;
            0    9     2  doMethod  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      m         
      doMethod  

  private void reorderBSMandICS(com.sun.java.util.jar.pack.Attribute$Holder);
    descriptor: (Lcom/sun/java/util/jar/pack/Attribute$Holder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
        start local 1 // com.sun.java.util.jar.pack.Attribute$Holder h
         0: .line 211
            aload 1 /* h */
            getstatic com.sun.java.util.jar.pack.Package.attrBootstrapMethodsEmpty:Lcom/sun/java/util/jar/pack/Attribute$Layout;
            invokevirtual com.sun.java.util.jar.pack.Attribute$Holder.getAttribute:(Lcom/sun/java/util/jar/pack/Attribute$Layout;)Lcom/sun/java/util/jar/pack/Attribute;
            astore 2 /* bsmAttr */
        start local 2 // com.sun.java.util.jar.pack.Attribute bsmAttr
         1: .line 212
            aload 2 /* bsmAttr */
            ifnonnull 2
            return
         2: .line 214
      StackMap locals: com.sun.java.util.jar.pack.Attribute
      StackMap stack:
            aload 1 /* h */
            getstatic com.sun.java.util.jar.pack.Package.attrInnerClassesEmpty:Lcom/sun/java/util/jar/pack/Attribute$Layout;
            invokevirtual com.sun.java.util.jar.pack.Attribute$Holder.getAttribute:(Lcom/sun/java/util/jar/pack/Attribute$Layout;)Lcom/sun/java/util/jar/pack/Attribute;
            astore 3 /* icsAttr */
        start local 3 // com.sun.java.util.jar.pack.Attribute icsAttr
         3: .line 215
            aload 3 /* icsAttr */
            ifnonnull 4
            return
         4: .line 217
      StackMap locals: com.sun.java.util.jar.pack.Attribute
      StackMap stack:
            aload 1 /* h */
            getfield com.sun.java.util.jar.pack.Attribute$Holder.attributes:Ljava/util/List;
            aload 2 /* bsmAttr */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 4 /* bsmidx */
        start local 4 // int bsmidx
         5: .line 218
            aload 1 /* h */
            getfield com.sun.java.util.jar.pack.Attribute$Holder.attributes:Ljava/util/List;
            aload 3 /* icsAttr */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 5 /* icsidx */
        start local 5 // int icsidx
         6: .line 219
            iload 4 /* bsmidx */
            iload 5 /* icsidx */
            if_icmple 9
         7: .line 220
            aload 1 /* h */
            getfield com.sun.java.util.jar.pack.Attribute$Holder.attributes:Ljava/util/List;
            aload 2 /* bsmAttr */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         8: .line 221
            aload 1 /* h */
            getfield com.sun.java.util.jar.pack.Attribute$Holder.attributes:Ljava/util/List;
            iload 5 /* icsidx */
            aload 2 /* bsmAttr */
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
         9: .line 223
      StackMap locals: int int
      StackMap stack:
            return
        end local 5 // int icsidx
        end local 4 // int bsmidx
        end local 3 // com.sun.java.util.jar.pack.Attribute icsAttr
        end local 2 // com.sun.java.util.jar.pack.Attribute bsmAttr
        end local 1 // com.sun.java.util.jar.pack.Attribute$Holder h
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lcom/sun/java/util/jar/pack/ClassWriter;
            0   10     1        h  Lcom/sun/java/util/jar/pack/Attribute$Holder;
            1   10     2  bsmAttr  Lcom/sun/java/util/jar/pack/Attribute;
            3   10     3  icsAttr  Lcom/sun/java/util/jar/pack/Attribute;
            5   10     4   bsmidx  I
            6   10     5   icsidx  I
    MethodParameters:
      Name  Flags
      h     

  void writeAttributes(int, com.sun.java.util.jar.pack.Attribute$Holder);
    descriptor: (ILcom/sun/java/util/jar/pack/Attribute$Holder;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
        start local 1 // int ctype
        start local 2 // com.sun.java.util.jar.pack.Attribute$Holder h
         0: .line 231
            aload 2 /* h */
            getfield com.sun.java.util.jar.pack.Attribute$Holder.attributes:Ljava/util/List;
            ifnonnull 3
         1: .line 232
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         2: .line 233
            return
         3: .line 237
      StackMap locals:
      StackMap stack:
            aload 2 /* h */
            instanceof com.sun.java.util.jar.pack.Package$Class
            ifeq 5
         4: .line 238
            aload 0 /* this */
            aload 2 /* h */
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.reorderBSMandICS:(Lcom/sun/java/util/jar/pack/Attribute$Holder;)V
         5: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* h */
            getfield com.sun.java.util.jar.pack.Attribute$Holder.attributes:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         6: .line 241
            aload 2 /* h */
            getfield com.sun.java.util.jar.pack.Attribute$Holder.attributes:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 40
      StackMap locals: com.sun.java.util.jar.pack.ClassWriter int com.sun.java.util.jar.pack.Attribute$Holder top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.java.util.jar.pack.Attribute
            astore 3 /* a */
        start local 3 // com.sun.java.util.jar.pack.Attribute a
         8: .line 242
            aload 3 /* a */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cpIndex:Lcom/sun/java/util/jar/pack/ConstantPool$Index;
            invokevirtual com.sun.java.util.jar.pack.Attribute.finishRefs:(Lcom/sun/java/util/jar/pack/ConstantPool$Index;)V
         9: .line 243
            aload 0 /* this */
            aload 3 /* a */
            invokevirtual com.sun.java.util.jar.pack.Attribute.getNameRef:()Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
        10: .line 244
            aload 3 /* a */
            invokevirtual com.sun.java.util.jar.pack.Attribute.layout:()Lcom/sun/java/util/jar/pack/Attribute$Layout;
            getstatic com.sun.java.util.jar.pack.Package.attrCodeEmpty:Lcom/sun/java/util/jar/pack/Attribute$Layout;
            if_acmpeq 13
        11: .line 245
            aload 3 /* a */
            invokevirtual com.sun.java.util.jar.pack.Attribute.layout:()Lcom/sun/java/util/jar/pack/Attribute$Layout;
            getstatic com.sun.java.util.jar.pack.Package.attrBootstrapMethodsEmpty:Lcom/sun/java/util/jar/pack/Attribute$Layout;
            if_acmpeq 13
        12: .line 246
            aload 3 /* a */
            invokevirtual com.sun.java.util.jar.pack.Attribute.layout:()Lcom/sun/java/util/jar/pack/Attribute$Layout;
            getstatic com.sun.java.util.jar.pack.Package.attrInnerClassesEmpty:Lcom/sun/java/util/jar/pack/Attribute$Layout;
            if_acmpne 36
        13: .line 248
      StackMap locals: com.sun.java.util.jar.pack.ClassWriter int com.sun.java.util.jar.pack.Attribute$Holder com.sun.java.util.jar.pack.Attribute java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
            astore 5 /* savedOut */
        start local 5 // java.io.DataOutputStream savedOut
        14: .line 249
            getstatic com.sun.java.util.jar.pack.ClassWriter.$assertionsDisabled:Z
            ifne 15
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.bufOut:Ljava/io/DataOutputStream;
            if_acmpne 15
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        15: .line 250
      StackMap locals: java.io.DataOutputStream
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.buf:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.reset:()V
        16: .line 251
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.bufOut:Ljava/io/DataOutputStream;
            putfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
        17: .line 252
            ldc "Code"
            aload 3 /* a */
            invokevirtual com.sun.java.util.jar.pack.Attribute.name:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        18: .line 253
            aload 2 /* h */
            checkcast com.sun.java.util.jar.pack.Package$Class$Method
            astore 6 /* m */
        start local 6 // com.sun.java.util.jar.pack.Package$Class$Method m
        19: .line 254
            aload 0 /* this */
            aload 6 /* m */
            getfield com.sun.java.util.jar.pack.Package$Class$Method.code:Lcom/sun/java/util/jar/pack/Code;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeCode:(Lcom/sun/java/util/jar/pack/Code;)V
        end local 6 // com.sun.java.util.jar.pack.Package$Class$Method m
        20: .line 255
            goto 30
      StackMap locals:
      StackMap stack:
        21: ldc "BootstrapMethods"
            aload 3 /* a */
            invokevirtual com.sun.java.util.jar.pack.Attribute.name:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        22: .line 256
            getstatic com.sun.java.util.jar.pack.ClassWriter.$assertionsDisabled:Z
            ifne 23
            aload 2 /* h */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            if_acmpeq 23
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        23: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeBootstrapMethods:(Lcom/sun/java/util/jar/pack/Package$Class;)V
        24: .line 258
            goto 30
      StackMap locals:
      StackMap stack:
        25: ldc "InnerClasses"
            aload 3 /* a */
            invokevirtual com.sun.java.util.jar.pack.Attribute.name:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        26: .line 259
            getstatic com.sun.java.util.jar.pack.ClassWriter.$assertionsDisabled:Z
            ifne 27
            aload 2 /* h */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            if_acmpeq 27
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        27: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cls:Lcom/sun/java/util/jar/pack/Package$Class;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeInnerClasses:(Lcom/sun/java/util/jar/pack/Package$Class;)V
        28: .line 261
            goto 30
        29: .line 262
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        30: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* savedOut */
            putfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
        31: .line 265
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.verbose:I
            iconst_2
            if_icmple 33
        32: .line 266
            getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
            new java.lang.StringBuilder
            dup
            ldc "Attribute "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* a */
            invokevirtual com.sun.java.util.jar.pack.Attribute.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.buf:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
        33: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.buf:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.size:()I
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeInt:(I)V
        34: .line 268
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.buf:Ljava/io/ByteArrayOutputStream;
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.writeTo:(Ljava/io/OutputStream;)V
        end local 5 // java.io.DataOutputStream savedOut
        35: .line 269
            goto 40
        36: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.verbose:I
            iconst_2
            if_icmple 38
        37: .line 271
            getstatic com.sun.java.util.jar.pack.Utils.log:Lcom/sun/java/util/jar/pack/Utils$Pack200Logger;
            new java.lang.StringBuilder
            dup
            ldc "Attribute "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* a */
            invokevirtual com.sun.java.util.jar.pack.Attribute.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* a */
            invokevirtual com.sun.java.util.jar.pack.Attribute.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.java.util.jar.pack.Utils$Pack200Logger.fine:(Ljava/lang/String;)V
        38: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* a */
            invokevirtual com.sun.java.util.jar.pack.Attribute.size:()I
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeInt:(I)V
        39: .line 273
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
            aload 3 /* a */
            invokevirtual com.sun.java.util.jar.pack.Attribute.bytes:()[B
            invokevirtual java.io.DataOutputStream.write:([B)V
        end local 3 // com.sun.java.util.jar.pack.Attribute a
        40: .line 241
      StackMap locals: com.sun.java.util.jar.pack.ClassWriter int com.sun.java.util.jar.pack.Attribute$Holder top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        41: .line 276
            return
        end local 2 // com.sun.java.util.jar.pack.Attribute$Holder h
        end local 1 // int ctype
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   42     0      this  Lcom/sun/java/util/jar/pack/ClassWriter;
            0   42     1     ctype  I
            0   42     2         h  Lcom/sun/java/util/jar/pack/Attribute$Holder;
            8   40     3         a  Lcom/sun/java/util/jar/pack/Attribute;
           14   35     5  savedOut  Ljava/io/DataOutputStream;
           19   20     6         m  Lcom/sun/java/util/jar/pack/Package$Class$Method;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      ctype  
      h      

  void writeCode(com.sun.java.util.jar.pack.Code);
    descriptor: (Lcom/sun/java/util/jar/pack/Code;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
        start local 1 // com.sun.java.util.jar.pack.Code code
         0: .line 279
            aload 1 /* code */
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.cpIndex:Lcom/sun/java/util/jar/pack/ConstantPool$Index;
            invokevirtual com.sun.java.util.jar.pack.Code.finishRefs:(Lcom/sun/java/util/jar/pack/ConstantPool$Index;)V
         1: .line 280
            aload 0 /* this */
            aload 1 /* code */
            getfield com.sun.java.util.jar.pack.Code.max_stack:I
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         2: .line 281
            aload 0 /* this */
            aload 1 /* code */
            getfield com.sun.java.util.jar.pack.Code.max_locals:I
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         3: .line 282
            aload 0 /* this */
            aload 1 /* code */
            getfield com.sun.java.util.jar.pack.Code.bytes:[B
            arraylength
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeInt:(I)V
         4: .line 283
            aload 0 /* this */
            getfield com.sun.java.util.jar.pack.ClassWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* code */
            getfield com.sun.java.util.jar.pack.Code.bytes:[B
            invokevirtual java.io.DataOutputStream.write:([B)V
         5: .line 284
            aload 1 /* code */
            invokevirtual com.sun.java.util.jar.pack.Code.getHandlerCount:()I
            istore 2 /* nh */
        start local 2 // int nh
         6: .line 285
            aload 0 /* this */
            iload 2 /* nh */
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         7: .line 286
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 14
         9: .line 287
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* code */
            getfield com.sun.java.util.jar.pack.Code.handler_start:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
        10: .line 288
            aload 0 /* this */
            aload 1 /* code */
            getfield com.sun.java.util.jar.pack.Code.handler_end:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
        11: .line 289
            aload 0 /* this */
            aload 1 /* code */
            getfield com.sun.java.util.jar.pack.Code.handler_catch:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
        12: .line 290
            aload 0 /* this */
            aload 1 /* code */
            getfield com.sun.java.util.jar.pack.Code.handler_class:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
            iload 3 /* i */
            aaload
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
        13: .line 286
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            iload 2 /* nh */
            if_icmplt 9
        end local 3 // int i
        15: .line 292
            aload 0 /* this */
            iconst_3
            aload 1 /* code */
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeAttributes:(ILcom/sun/java/util/jar/pack/Attribute$Holder;)V
        16: .line 293
            return
        end local 2 // int nh
        end local 1 // com.sun.java.util.jar.pack.Code code
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lcom/sun/java/util/jar/pack/ClassWriter;
            0   17     1  code  Lcom/sun/java/util/jar/pack/Code;
            6   17     2    nh  I
            8   15     3     i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      code  

  void writeBootstrapMethods(com.sun.java.util.jar.pack.Package$Class);
    descriptor: (Lcom/sun/java/util/jar/pack/Package$Class;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=9, args_size=2
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
        start local 1 // com.sun.java.util.jar.pack.Package$Class cls
         0: .line 296
            aload 1 /* cls */
            invokevirtual com.sun.java.util.jar.pack.Package$Class.getBootstrapMethods:()Ljava/util/List;
            astore 2 /* bsms */
        start local 2 // java.util.List bsms
         1: .line 297
            aload 0 /* this */
            aload 2 /* bsms */
            invokeinterface java.util.List.size:()I
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         2: .line 298
            aload 2 /* bsms */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals: com.sun.java.util.jar.pack.ClassWriter com.sun.java.util.jar.pack.Package$Class java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry
            astore 3 /* e */
        start local 3 // com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry e
         4: .line 299
            aload 0 /* this */
            aload 3 /* e */
            getfield com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry.bsmRef:Lcom/sun/java/util/jar/pack/ConstantPool$MethodHandleEntry;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
         5: .line 300
            aload 0 /* this */
            aload 3 /* e */
            getfield com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry.argRefs:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
            arraylength
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         6: .line 301
            aload 3 /* e */
            getfield com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry.argRefs:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 10
      StackMap locals: com.sun.java.util.jar.pack.ClassWriter com.sun.java.util.jar.pack.Package$Class java.util.List com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry java.util.Iterator top int int com.sun.java.util.jar.pack.ConstantPool$Entry[]
      StackMap stack:
         7: aload 8
            iload 6
            aaload
            astore 5 /* argRef */
        start local 5 // com.sun.java.util.jar.pack.ConstantPool$Entry argRef
         8: .line 302
            aload 0 /* this */
            aload 5 /* argRef */
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
        end local 5 // com.sun.java.util.jar.pack.ConstantPool$Entry argRef
         9: .line 301
            iinc 6 1
      StackMap locals:
      StackMap stack:
        10: iload 6
            iload 7
            if_icmplt 7
        end local 3 // com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry e
        11: .line 298
      StackMap locals: com.sun.java.util.jar.pack.ClassWriter com.sun.java.util.jar.pack.Package$Class java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        12: .line 305
            return
        end local 2 // java.util.List bsms
        end local 1 // com.sun.java.util.jar.pack.Package$Class cls
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lcom/sun/java/util/jar/pack/ClassWriter;
            0   13     1     cls  Lcom/sun/java/util/jar/pack/Package$Class;
            1   13     2    bsms  Ljava/util/List<Lcom/sun/java/util/jar/pack/ConstantPool$BootstrapMethodEntry;>;
            4   11     3       e  Lcom/sun/java/util/jar/pack/ConstantPool$BootstrapMethodEntry;
            8    9     5  argRef  Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      cls   

  void writeInnerClasses(com.sun.java.util.jar.pack.Package$Class);
    descriptor: (Lcom/sun/java/util/jar/pack/Package$Class;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.sun.java.util.jar.pack.ClassWriter this
        start local 1 // com.sun.java.util.jar.pack.Package$Class cls
         0: .line 308
            aload 1 /* cls */
            invokevirtual com.sun.java.util.jar.pack.Package$Class.getInnerClasses:()Ljava/util/List;
            astore 2 /* ics */
        start local 2 // java.util.List ics
         1: .line 309
            aload 0 /* this */
            aload 2 /* ics */
            invokeinterface java.util.List.size:()I
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
         2: .line 310
            aload 2 /* ics */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: com.sun.java.util.jar.pack.ClassWriter com.sun.java.util.jar.pack.Package$Class java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.java.util.jar.pack.Package$InnerClass
            astore 3 /* ic */
        start local 3 // com.sun.java.util.jar.pack.Package$InnerClass ic
         4: .line 311
            aload 0 /* this */
            aload 3 /* ic */
            getfield com.sun.java.util.jar.pack.Package$InnerClass.thisClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
         5: .line 312
            aload 0 /* this */
            aload 3 /* ic */
            getfield com.sun.java.util.jar.pack.Package$InnerClass.outerClass:Lcom/sun/java/util/jar/pack/ConstantPool$ClassEntry;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
         6: .line 313
            aload 0 /* this */
            aload 3 /* ic */
            getfield com.sun.java.util.jar.pack.Package$InnerClass.name:Lcom/sun/java/util/jar/pack/ConstantPool$Utf8Entry;
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeRef:(Lcom/sun/java/util/jar/pack/ConstantPool$Entry;)V
         7: .line 314
            aload 0 /* this */
            aload 3 /* ic */
            getfield com.sun.java.util.jar.pack.Package$InnerClass.flags:I
            invokevirtual com.sun.java.util.jar.pack.ClassWriter.writeShort:(I)V
        end local 3 // com.sun.java.util.jar.pack.Package$InnerClass ic
         8: .line 310
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 316
            return
        end local 2 // java.util.List ics
        end local 1 // com.sun.java.util.jar.pack.Package$Class cls
        end local 0 // com.sun.java.util.jar.pack.ClassWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/java/util/jar/pack/ClassWriter;
            0   10     1   cls  Lcom/sun/java/util/jar/pack/Package$Class;
            1   10     2   ics  Ljava/util/List<Lcom/sun/java/util/jar/pack/Package$InnerClass;>;
            4    8     3    ic  Lcom/sun/java/util/jar/pack/Package$InnerClass;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      cls   
}
SourceFile: "ClassWriter.java"
InnerClasses:
  public abstract Holder = com.sun.java.util.jar.pack.Attribute$Holder of com.sun.java.util.jar.pack.Attribute
  public Layout = com.sun.java.util.jar.pack.Attribute$Layout of com.sun.java.util.jar.pack.Attribute
  public BootstrapMethodEntry = com.sun.java.util.jar.pack.ConstantPool$BootstrapMethodEntry of com.sun.java.util.jar.pack.ConstantPool
  public DescriptorEntry = com.sun.java.util.jar.pack.ConstantPool$DescriptorEntry of com.sun.java.util.jar.pack.ConstantPool
  public abstract Entry = com.sun.java.util.jar.pack.ConstantPool$Entry of com.sun.java.util.jar.pack.ConstantPool
  public final Index = com.sun.java.util.jar.pack.ConstantPool$Index of com.sun.java.util.jar.pack.ConstantPool
  public MethodHandleEntry = com.sun.java.util.jar.pack.ConstantPool$MethodHandleEntry of com.sun.java.util.jar.pack.ConstantPool
  public NumberEntry = com.sun.java.util.jar.pack.ConstantPool$NumberEntry of com.sun.java.util.jar.pack.ConstantPool
  public final Class = com.sun.java.util.jar.pack.Package$Class of com.sun.java.util.jar.pack.Package
  public Field = com.sun.java.util.jar.pack.Package$Class$Field of com.sun.java.util.jar.pack.Package$Class
  public abstract Member = com.sun.java.util.jar.pack.Package$Class$Member of com.sun.java.util.jar.pack.Package$Class
  public Method = com.sun.java.util.jar.pack.Package$Class$Method of com.sun.java.util.jar.pack.Package$Class
  InnerClass = com.sun.java.util.jar.pack.Package$InnerClass of com.sun.java.util.jar.pack.Package
  protected final Version = com.sun.java.util.jar.pack.Package$Version of com.sun.java.util.jar.pack.Package
  Pack200Logger = com.sun.java.util.jar.pack.Utils$Pack200Logger of com.sun.java.util.jar.pack.Utils