public class org.apache.bcel.generic.InstructionFactory implements org.apache.bcel.generic.InstructionConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.bcel.generic.InstructionFactory
  super_class: java.lang.Object
{
  private static final java.lang.String[] short_names;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected org.apache.bcel.generic.ClassGen cg;
    descriptor: Lorg/apache/bcel/generic/ClassGen;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  protected org.apache.bcel.generic.ConstantPoolGen cp;
    descriptor: Lorg/apache/bcel/generic/ConstantPoolGen;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private static final org.apache.bcel.generic.InstructionFactory$MethodObject[] append_mos;
    descriptor: [Lorg/apache/bcel/generic/InstructionFactory$MethodObject;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=12, locals=0, args_size=0
         0: .line 37
            bipush 7
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 38
            ldc "C"
            aastore
            dup
            iconst_1
            ldc "F"
            aastore
            dup
            iconst_2
            ldc "D"
            aastore
            dup
            iconst_3
            ldc "B"
            aastore
            dup
            iconst_4
            ldc "S"
            aastore
            dup
            iconst_5
            ldc "I"
            aastore
            dup
            bipush 6
            ldc "L"
            aastore
         2: .line 37
            putstatic org.apache.bcel.generic.InstructionFactory.short_names:[Ljava/lang/String;
         3: .line 216
            bipush 12
            anewarray org.apache.bcel.generic.InstructionFactory$MethodObject
            dup
            iconst_0
         4: .line 217
            new org.apache.bcel.generic.InstructionFactory$MethodObject
            dup
            ldc "java.lang.StringBuffer"
            ldc "append"
            getstatic org.apache.bcel.generic.Type.STRINGBUFFER:Lorg/apache/bcel/generic/ObjectType;
            iconst_1
            anewarray org.apache.bcel.generic.Type
            dup
            iconst_0
         5: .line 218
            getstatic org.apache.bcel.generic.Type.STRING:Lorg/apache/bcel/generic/ObjectType;
            aastore
         6: .line 217
            invokespecial org.apache.bcel.generic.InstructionFactory$MethodObject.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;)V
            aastore
            dup
            iconst_1
         7: .line 220
            new org.apache.bcel.generic.InstructionFactory$MethodObject
            dup
            ldc "java.lang.StringBuffer"
            ldc "append"
            getstatic org.apache.bcel.generic.Type.STRINGBUFFER:Lorg/apache/bcel/generic/ObjectType;
            iconst_1
            anewarray org.apache.bcel.generic.Type
            dup
            iconst_0
         8: .line 221
            getstatic org.apache.bcel.generic.Type.OBJECT:Lorg/apache/bcel/generic/ObjectType;
            aastore
         9: .line 220
            invokespecial org.apache.bcel.generic.InstructionFactory$MethodObject.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;)V
            aastore
            dup
            iconst_4
        10: .line 225
            new org.apache.bcel.generic.InstructionFactory$MethodObject
            dup
            ldc "java.lang.StringBuffer"
            ldc "append"
            getstatic org.apache.bcel.generic.Type.STRINGBUFFER:Lorg/apache/bcel/generic/ObjectType;
            iconst_1
            anewarray org.apache.bcel.generic.Type
            dup
            iconst_0
        11: .line 226
            getstatic org.apache.bcel.generic.Type.BOOLEAN:Lorg/apache/bcel/generic/BasicType;
            aastore
        12: .line 225
            invokespecial org.apache.bcel.generic.InstructionFactory$MethodObject.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;)V
            aastore
            dup
            iconst_5
        13: .line 228
            new org.apache.bcel.generic.InstructionFactory$MethodObject
            dup
            ldc "java.lang.StringBuffer"
            ldc "append"
            getstatic org.apache.bcel.generic.Type.STRINGBUFFER:Lorg/apache/bcel/generic/ObjectType;
            iconst_1
            anewarray org.apache.bcel.generic.Type
            dup
            iconst_0
        14: .line 229
            getstatic org.apache.bcel.generic.Type.CHAR:Lorg/apache/bcel/generic/BasicType;
            aastore
        15: .line 228
            invokespecial org.apache.bcel.generic.InstructionFactory$MethodObject.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;)V
            aastore
            dup
            bipush 6
        16: .line 231
            new org.apache.bcel.generic.InstructionFactory$MethodObject
            dup
            ldc "java.lang.StringBuffer"
            ldc "append"
            getstatic org.apache.bcel.generic.Type.STRINGBUFFER:Lorg/apache/bcel/generic/ObjectType;
            iconst_1
            anewarray org.apache.bcel.generic.Type
            dup
            iconst_0
        17: .line 232
            getstatic org.apache.bcel.generic.Type.FLOAT:Lorg/apache/bcel/generic/BasicType;
            aastore
        18: .line 231
            invokespecial org.apache.bcel.generic.InstructionFactory$MethodObject.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;)V
            aastore
            dup
            bipush 7
        19: .line 234
            new org.apache.bcel.generic.InstructionFactory$MethodObject
            dup
            ldc "java.lang.StringBuffer"
            ldc "append"
            getstatic org.apache.bcel.generic.Type.STRINGBUFFER:Lorg/apache/bcel/generic/ObjectType;
            iconst_1
            anewarray org.apache.bcel.generic.Type
            dup
            iconst_0
        20: .line 235
            getstatic org.apache.bcel.generic.Type.DOUBLE:Lorg/apache/bcel/generic/BasicType;
            aastore
        21: .line 234
            invokespecial org.apache.bcel.generic.InstructionFactory$MethodObject.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;)V
            aastore
            dup
            bipush 8
        22: .line 237
            new org.apache.bcel.generic.InstructionFactory$MethodObject
            dup
            ldc "java.lang.StringBuffer"
            ldc "append"
            getstatic org.apache.bcel.generic.Type.STRINGBUFFER:Lorg/apache/bcel/generic/ObjectType;
            iconst_1
            anewarray org.apache.bcel.generic.Type
            dup
            iconst_0
        23: .line 238
            getstatic org.apache.bcel.generic.Type.INT:Lorg/apache/bcel/generic/BasicType;
            aastore
        24: .line 237
            invokespecial org.apache.bcel.generic.InstructionFactory$MethodObject.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;)V
            aastore
            dup
            bipush 9
        25: .line 240
            new org.apache.bcel.generic.InstructionFactory$MethodObject
            dup
            ldc "java.lang.StringBuffer"
            ldc "append"
            getstatic org.apache.bcel.generic.Type.STRINGBUFFER:Lorg/apache/bcel/generic/ObjectType;
        26: .line 241
            iconst_1
            anewarray org.apache.bcel.generic.Type
            dup
            iconst_0
        27: .line 242
            getstatic org.apache.bcel.generic.Type.INT:Lorg/apache/bcel/generic/BasicType;
            aastore
        28: .line 240
            invokespecial org.apache.bcel.generic.InstructionFactory$MethodObject.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;)V
            aastore
            dup
            bipush 10
        29: .line 244
            new org.apache.bcel.generic.InstructionFactory$MethodObject
            dup
            ldc "java.lang.StringBuffer"
            ldc "append"
            getstatic org.apache.bcel.generic.Type.STRINGBUFFER:Lorg/apache/bcel/generic/ObjectType;
        30: .line 245
            iconst_1
            anewarray org.apache.bcel.generic.Type
            dup
            iconst_0
        31: .line 246
            getstatic org.apache.bcel.generic.Type.INT:Lorg/apache/bcel/generic/BasicType;
            aastore
        32: .line 244
            invokespecial org.apache.bcel.generic.InstructionFactory$MethodObject.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;)V
            aastore
            dup
            bipush 11
        33: .line 248
            new org.apache.bcel.generic.InstructionFactory$MethodObject
            dup
            ldc "java.lang.StringBuffer"
            ldc "append"
            getstatic org.apache.bcel.generic.Type.STRINGBUFFER:Lorg/apache/bcel/generic/ObjectType;
            iconst_1
            anewarray org.apache.bcel.generic.Type
            dup
            iconst_0
        34: .line 249
            getstatic org.apache.bcel.generic.Type.LONG:Lorg/apache/bcel/generic/BasicType;
            aastore
        35: .line 248
            invokespecial org.apache.bcel.generic.InstructionFactory$MethodObject.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;)V
            aastore
        36: .line 216
            putstatic org.apache.bcel.generic.InstructionFactory.append_mos:[Lorg/apache/bcel/generic/InstructionFactory$MethodObject;
        37: .line 251
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.bcel.generic.ClassGen, org.apache.bcel.generic.ConstantPoolGen);
    descriptor: (Lorg/apache/bcel/generic/ClassGen;Lorg/apache/bcel/generic/ConstantPoolGen;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // org.apache.bcel.generic.ClassGen cg
        start local 2 // org.apache.bcel.generic.ConstantPoolGen cp
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            aload 1 /* cg */
            putfield org.apache.bcel.generic.InstructionFactory.cg:Lorg/apache/bcel/generic/ClassGen;
         2: .line 56
            aload 0 /* this */
            aload 2 /* cp */
            putfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
         3: .line 57
            return
        end local 2 // org.apache.bcel.generic.ConstantPoolGen cp
        end local 1 // org.apache.bcel.generic.ClassGen cg
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/bcel/generic/InstructionFactory;
            0    4     1    cg  Lorg/apache/bcel/generic/ClassGen;
            0    4     2    cp  Lorg/apache/bcel/generic/ConstantPoolGen;
    MethodParameters:
      Name  Flags
      cg    final
      cp    final

  public void <init>(org.apache.bcel.generic.ClassGen);
    descriptor: (Lorg/apache/bcel/generic/ClassGen;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // org.apache.bcel.generic.ClassGen cg
         0: .line 63
            aload 0 /* this */
            aload 1 /* cg */
            aload 1 /* cg */
            invokevirtual org.apache.bcel.generic.ClassGen.getConstantPool:()Lorg/apache/bcel/generic/ConstantPoolGen;
            invokespecial org.apache.bcel.generic.InstructionFactory.<init>:(Lorg/apache/bcel/generic/ClassGen;Lorg/apache/bcel/generic/ConstantPoolGen;)V
         1: .line 64
            return
        end local 1 // org.apache.bcel.generic.ClassGen cg
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/bcel/generic/InstructionFactory;
            0    2     1    cg  Lorg/apache/bcel/generic/ClassGen;
    MethodParameters:
      Name  Flags
      cg    final

  public void <init>(org.apache.bcel.generic.ConstantPoolGen);
    descriptor: (Lorg/apache/bcel/generic/ConstantPoolGen;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // org.apache.bcel.generic.ConstantPoolGen cp
         0: .line 70
            aload 0 /* this */
            aconst_null
            aload 1 /* cp */
            invokespecial org.apache.bcel.generic.InstructionFactory.<init>:(Lorg/apache/bcel/generic/ClassGen;Lorg/apache/bcel/generic/ConstantPoolGen;)V
         1: .line 71
            return
        end local 1 // org.apache.bcel.generic.ConstantPoolGen cp
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/bcel/generic/InstructionFactory;
            0    2     1    cp  Lorg/apache/bcel/generic/ConstantPoolGen;
    MethodParameters:
      Name  Flags
      cp    final

  public org.apache.bcel.generic.InvokeInstruction createInvoke(java.lang.String, java.lang.String, org.apache.bcel.generic.Type, org.apache.bcel.generic.Type[], short);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;S)Lorg/apache/bcel/generic/InvokeInstruction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // java.lang.String class_name
        start local 2 // java.lang.String name
        start local 3 // org.apache.bcel.generic.Type ret_type
        start local 4 // org.apache.bcel.generic.Type[] arg_types
        start local 5 // short kind
         0: .line 86
            aload 0 /* this */
            aload 1 /* class_name */
            aload 2 /* name */
            aload 3 /* ret_type */
            aload 4 /* arg_types */
            iload 5 /* kind */
            iload 5 /* kind */
            sipush 185
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals: org.apache.bcel.generic.InstructionFactory java.lang.String java.lang.String org.apache.bcel.generic.Type org.apache.bcel.generic.Type[] int
      StackMap stack: org.apache.bcel.generic.InstructionFactory java.lang.String java.lang.String org.apache.bcel.generic.Type org.apache.bcel.generic.Type[] int
         1: iconst_0
      StackMap locals: org.apache.bcel.generic.InstructionFactory java.lang.String java.lang.String org.apache.bcel.generic.Type org.apache.bcel.generic.Type[] int
      StackMap stack: org.apache.bcel.generic.InstructionFactory java.lang.String java.lang.String org.apache.bcel.generic.Type org.apache.bcel.generic.Type[] int int
         2: invokevirtual org.apache.bcel.generic.InstructionFactory.createInvoke:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;SZ)Lorg/apache/bcel/generic/InvokeInstruction;
            areturn
        end local 5 // short kind
        end local 4 // org.apache.bcel.generic.Type[] arg_types
        end local 3 // org.apache.bcel.generic.Type ret_type
        end local 2 // java.lang.String name
        end local 1 // java.lang.String class_name
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/bcel/generic/InstructionFactory;
            0    3     1  class_name  Ljava/lang/String;
            0    3     2        name  Ljava/lang/String;
            0    3     3    ret_type  Lorg/apache/bcel/generic/Type;
            0    3     4   arg_types  [Lorg/apache/bcel/generic/Type;
            0    3     5        kind  S
    MethodParameters:
            Name  Flags
      class_name  final
      name        final
      ret_type    final
      arg_types   final
      kind        final

  public org.apache.bcel.generic.InvokeInstruction createInvoke(java.lang.String, java.lang.String, org.apache.bcel.generic.Type, org.apache.bcel.generic.Type[], short, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;SZ)Lorg/apache/bcel/generic/InvokeInstruction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=7
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // java.lang.String class_name
        start local 2 // java.lang.String name
        start local 3 // org.apache.bcel.generic.Type ret_type
        start local 4 // org.apache.bcel.generic.Type[] arg_types
        start local 5 // short kind
        start local 6 // boolean use_interface
         0: .line 102
            iload 5 /* kind */
            sipush 183
            if_icmpeq 3
            iload 5 /* kind */
            sipush 182
            if_icmpeq 3
            iload 5 /* kind */
            sipush 184
            if_icmpeq 3
         1: .line 103
            iload 5 /* kind */
            sipush 185
            if_icmpeq 3
            iload 5 /* kind */
            sipush 186
            if_icmpeq 3
         2: .line 104
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown invoke kind: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* kind */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 107
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* nargs */
        start local 8 // int nargs
         4: .line 108
            aload 3 /* ret_type */
            aload 4 /* arg_types */
            invokestatic org.apache.bcel.generic.Type.getMethodSignature:(Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;)Ljava/lang/String;
            astore 9 /* signature */
        start local 9 // java.lang.String signature
         5: .line 109
            aload 4 /* arg_types */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 9
      StackMap locals: org.apache.bcel.generic.InstructionFactory java.lang.String java.lang.String org.apache.bcel.generic.Type org.apache.bcel.generic.Type[] int int top int java.lang.String top int int org.apache.bcel.generic.Type[]
      StackMap stack:
         6: aload 13
            iload 11
            aaload
            astore 10 /* arg_type */
        start local 10 // org.apache.bcel.generic.Type arg_type
         7: .line 110
            iload 8 /* nargs */
            aload 10 /* arg_type */
            invokevirtual org.apache.bcel.generic.Type.getSize:()I
            iadd
            istore 8 /* nargs */
        end local 10 // org.apache.bcel.generic.Type arg_type
         8: .line 109
            iinc 11 1
      StackMap locals:
      StackMap stack:
         9: iload 11
            iload 12
            if_icmplt 6
        10: .line 112
            iload 6 /* use_interface */
            ifeq 13
        11: .line 113
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* class_name */
            aload 2 /* name */
            aload 9 /* signature */
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addInterfaceMethodref:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
            istore 7 /* index */
        start local 7 // int index
        12: .line 114
            goto 14
        end local 7 // int index
        13: .line 115
      StackMap locals: org.apache.bcel.generic.InstructionFactory java.lang.String java.lang.String org.apache.bcel.generic.Type org.apache.bcel.generic.Type[] int int top int java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* class_name */
            aload 2 /* name */
            aload 9 /* signature */
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addMethodref:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
            istore 7 /* index */
        start local 7 // int index
        14: .line 117
      StackMap locals: org.apache.bcel.generic.InstructionFactory java.lang.String java.lang.String org.apache.bcel.generic.Type org.apache.bcel.generic.Type[] int int int int java.lang.String
      StackMap stack:
            iload 5 /* kind */
            tableswitch { // 182 - 186
                  182: 16
                  183: 15
                  184: 17
                  185: 18
                  186: 19
              default: 20
          }
        15: .line 119
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.INVOKESPECIAL
            dup
            iload 7 /* index */
            invokespecial org.apache.bcel.generic.INVOKESPECIAL.<init>:(I)V
            areturn
        16: .line 121
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.INVOKEVIRTUAL
            dup
            iload 7 /* index */
            invokespecial org.apache.bcel.generic.INVOKEVIRTUAL.<init>:(I)V
            areturn
        17: .line 123
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.INVOKESTATIC
            dup
            iload 7 /* index */
            invokespecial org.apache.bcel.generic.INVOKESTATIC.<init>:(I)V
            areturn
        18: .line 125
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.INVOKEINTERFACE
            dup
            iload 7 /* index */
            iload 8 /* nargs */
            iconst_1
            iadd
            invokespecial org.apache.bcel.generic.INVOKEINTERFACE.<init>:(II)V
            areturn
        19: .line 127
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.INVOKEDYNAMIC
            dup
            iload 7 /* index */
            invokespecial org.apache.bcel.generic.INVOKEDYNAMIC.<init>:(I)V
            areturn
        20: .line 130
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown invoke kind: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* kind */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.String signature
        end local 8 // int nargs
        end local 7 // int index
        end local 6 // boolean use_interface
        end local 5 // short kind
        end local 4 // org.apache.bcel.generic.Type[] arg_types
        end local 3 // org.apache.bcel.generic.Type ret_type
        end local 2 // java.lang.String name
        end local 1 // java.lang.String class_name
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lorg/apache/bcel/generic/InstructionFactory;
            0   21     1     class_name  Ljava/lang/String;
            0   21     2           name  Ljava/lang/String;
            0   21     3       ret_type  Lorg/apache/bcel/generic/Type;
            0   21     4      arg_types  [Lorg/apache/bcel/generic/Type;
            0   21     5           kind  S
            0   21     6  use_interface  Z
           12   13     7          index  I
           14   21     7          index  I
            4   21     8          nargs  I
            5   21     9      signature  Ljava/lang/String;
            7    8    10       arg_type  Lorg/apache/bcel/generic/Type;
    MethodParameters:
               Name  Flags
      class_name     final
      name           final
      ret_type       final
      arg_types      final
      kind           final
      use_interface  final

  public org.apache.bcel.generic.InstructionList createPrintln(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/bcel/generic/InstructionList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // java.lang.String s
         0: .line 166
            new org.apache.bcel.generic.InstructionList
            dup
            invokespecial org.apache.bcel.generic.InstructionList.<init>:()V
            astore 2 /* il */
        start local 2 // org.apache.bcel.generic.InstructionList il
         1: .line 167
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            ldc "java.lang.System"
            ldc "out"
            ldc "Ljava/io/PrintStream;"
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addFieldref:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
            istore 3 /* out */
        start local 3 // int out
         2: .line 168
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            ldc "java.io.PrintStream"
            ldc "println"
            ldc "(Ljava/lang/String;)V"
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addMethodref:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
            istore 4 /* println */
        start local 4 // int println
         3: .line 169
            aload 2 /* il */
            new org.apache.bcel.generic.GETSTATIC
            dup
            iload 3 /* out */
            invokespecial org.apache.bcel.generic.GETSTATIC.<init>:(I)V
            invokevirtual org.apache.bcel.generic.InstructionList.append:(Lorg/apache/bcel/generic/Instruction;)Lorg/apache/bcel/generic/InstructionHandle;
            pop
         4: .line 170
            aload 2 /* il */
            new org.apache.bcel.generic.PUSH
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* s */
            invokespecial org.apache.bcel.generic.PUSH.<init>:(Lorg/apache/bcel/generic/ConstantPoolGen;Ljava/lang/String;)V
            invokevirtual org.apache.bcel.generic.InstructionList.append:(Lorg/apache/bcel/generic/CompoundInstruction;)Lorg/apache/bcel/generic/InstructionHandle;
            pop
         5: .line 171
            aload 2 /* il */
            new org.apache.bcel.generic.INVOKEVIRTUAL
            dup
            iload 4 /* println */
            invokespecial org.apache.bcel.generic.INVOKEVIRTUAL.<init>:(I)V
            invokevirtual org.apache.bcel.generic.InstructionList.append:(Lorg/apache/bcel/generic/Instruction;)Lorg/apache/bcel/generic/InstructionHandle;
            pop
         6: .line 172
            aload 2 /* il */
            areturn
        end local 4 // int println
        end local 3 // int out
        end local 2 // org.apache.bcel.generic.InstructionList il
        end local 1 // java.lang.String s
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/apache/bcel/generic/InstructionFactory;
            0    7     1        s  Ljava/lang/String;
            1    7     2       il  Lorg/apache/bcel/generic/InstructionList;
            2    7     3      out  I
            3    7     4  println  I
    MethodParameters:
      Name  Flags
      s     final

  public org.apache.bcel.generic.Instruction createConstant(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/apache/bcel/generic/Instruction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // java.lang.Object value
         0: .line 181
            aload 1 /* value */
            instanceof java.lang.Number
            ifeq 3
         1: .line 182
            new org.apache.bcel.generic.PUSH
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* value */
            checkcast java.lang.Number
            invokespecial org.apache.bcel.generic.PUSH.<init>:(Lorg/apache/bcel/generic/ConstantPoolGen;Ljava/lang/Number;)V
            astore 2 /* push */
        start local 2 // org.apache.bcel.generic.PUSH push
         2: .line 183
            goto 13
        end local 2 // org.apache.bcel.generic.PUSH push
      StackMap locals:
      StackMap stack:
         3: aload 1 /* value */
            instanceof java.lang.String
            ifeq 6
         4: .line 184
            new org.apache.bcel.generic.PUSH
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* value */
            checkcast java.lang.String
            invokespecial org.apache.bcel.generic.PUSH.<init>:(Lorg/apache/bcel/generic/ConstantPoolGen;Ljava/lang/String;)V
            astore 2 /* push */
        start local 2 // org.apache.bcel.generic.PUSH push
         5: .line 185
            goto 13
        end local 2 // org.apache.bcel.generic.PUSH push
      StackMap locals:
      StackMap stack:
         6: aload 1 /* value */
            instanceof java.lang.Boolean
            ifeq 9
         7: .line 186
            new org.apache.bcel.generic.PUSH
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* value */
            checkcast java.lang.Boolean
            invokespecial org.apache.bcel.generic.PUSH.<init>:(Lorg/apache/bcel/generic/ConstantPoolGen;Ljava/lang/Boolean;)V
            astore 2 /* push */
        start local 2 // org.apache.bcel.generic.PUSH push
         8: .line 187
            goto 13
        end local 2 // org.apache.bcel.generic.PUSH push
      StackMap locals:
      StackMap stack:
         9: aload 1 /* value */
            instanceof java.lang.Character
            ifeq 12
        10: .line 188
            new org.apache.bcel.generic.PUSH
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* value */
            checkcast java.lang.Character
            invokespecial org.apache.bcel.generic.PUSH.<init>:(Lorg/apache/bcel/generic/ConstantPoolGen;Ljava/lang/Character;)V
            astore 2 /* push */
        start local 2 // org.apache.bcel.generic.PUSH push
        11: .line 189
            goto 13
        end local 2 // org.apache.bcel.generic.PUSH push
        12: .line 190
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.ClassGenException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.bcel.generic.ClassGenException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // org.apache.bcel.generic.PUSH push
        13: .line 192
      StackMap locals: org.apache.bcel.generic.PUSH
      StackMap stack:
            aload 2 /* push */
            invokevirtual org.apache.bcel.generic.PUSH.getInstruction:()Lorg/apache/bcel/generic/Instruction;
            areturn
        end local 2 // org.apache.bcel.generic.PUSH push
        end local 1 // java.lang.Object value
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lorg/apache/bcel/generic/InstructionFactory;
            0   14     1  value  Ljava/lang/Object;
            2    3     2   push  Lorg/apache/bcel/generic/PUSH;
            5    6     2   push  Lorg/apache/bcel/generic/PUSH;
            8    9     2   push  Lorg/apache/bcel/generic/PUSH;
           11   12     2   push  Lorg/apache/bcel/generic/PUSH;
           13   14     2   push  Lorg/apache/bcel/generic/PUSH;
    MethodParameters:
       Name  Flags
      value  final

  private org.apache.bcel.generic.InvokeInstruction createInvoke(org.apache.bcel.generic.InstructionFactory$MethodObject, short);
    descriptor: (Lorg/apache/bcel/generic/InstructionFactory$MethodObject;S)Lorg/apache/bcel/generic/InvokeInstruction;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // org.apache.bcel.generic.InstructionFactory$MethodObject m
        start local 2 // short kind
         0: .line 213
            aload 0 /* this */
            aload 1 /* m */
            getfield org.apache.bcel.generic.InstructionFactory$MethodObject.class_name:Ljava/lang/String;
            aload 1 /* m */
            getfield org.apache.bcel.generic.InstructionFactory$MethodObject.name:Ljava/lang/String;
            aload 1 /* m */
            getfield org.apache.bcel.generic.InstructionFactory$MethodObject.result_type:Lorg/apache/bcel/generic/Type;
            aload 1 /* m */
            getfield org.apache.bcel.generic.InstructionFactory$MethodObject.arg_types:[Lorg/apache/bcel/generic/Type;
            iload 2 /* kind */
            invokevirtual org.apache.bcel.generic.InstructionFactory.createInvoke:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;S)Lorg/apache/bcel/generic/InvokeInstruction;
            areturn
        end local 2 // short kind
        end local 1 // org.apache.bcel.generic.InstructionFactory$MethodObject m
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/bcel/generic/InstructionFactory;
            0    1     1     m  Lorg/apache/bcel/generic/InstructionFactory$MethodObject;
            0    1     2  kind  S
    MethodParameters:
      Name  Flags
      m     final
      kind  final

  private static boolean isString(org.apache.bcel.generic.Type);
    descriptor: (Lorg/apache/bcel/generic/Type;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.Type type
         0: .line 255
            aload 0 /* type */
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 3
         1: .line 256
            aload 0 /* type */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
            ldc "java.lang.String"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 255
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // org.apache.bcel.generic.Type type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  type  Lorg/apache/bcel/generic/Type;
    MethodParameters:
      Name  Flags
      type  final

  public org.apache.bcel.generic.Instruction createAppend(org.apache.bcel.generic.Type);
    descriptor: (Lorg/apache/bcel/generic/Type;)Lorg/apache/bcel/generic/Instruction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // org.apache.bcel.generic.Type type
         0: .line 261
            aload 1 /* type */
            invokevirtual org.apache.bcel.generic.Type.getType:()B
            istore 2 /* t */
        start local 2 // byte t
         1: .line 262
            aload 1 /* type */
            invokestatic org.apache.bcel.generic.InstructionFactory.isString:(Lorg/apache/bcel/generic/Type;)Z
            ifeq 3
         2: .line 263
            aload 0 /* this */
            getstatic org.apache.bcel.generic.InstructionFactory.append_mos:[Lorg/apache/bcel/generic/InstructionFactory$MethodObject;
            iconst_0
            aaload
            sipush 182
            invokevirtual org.apache.bcel.generic.InstructionFactory.createInvoke:(Lorg/apache/bcel/generic/InstructionFactory$MethodObject;S)Lorg/apache/bcel/generic/InvokeInstruction;
            areturn
         3: .line 265
      StackMap locals: int
      StackMap stack:
            iload 2 /* t */
            tableswitch { // 4 - 14
                    4: 4
                    5: 4
                    6: 4
                    7: 4
                    8: 4
                    9: 4
                   10: 4
                   11: 4
                   12: 6
                   13: 5
                   14: 5
              default: 6
          }
         4: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.apache.bcel.generic.InstructionFactory.append_mos:[Lorg/apache/bcel/generic/InstructionFactory$MethodObject;
            iload 2 /* t */
            aaload
            sipush 182
            invokevirtual org.apache.bcel.generic.InstructionFactory.createInvoke:(Lorg/apache/bcel/generic/InstructionFactory$MethodObject;S)Lorg/apache/bcel/generic/InvokeInstruction;
            areturn
         5: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.apache.bcel.generic.InstructionFactory.append_mos:[Lorg/apache/bcel/generic/InstructionFactory$MethodObject;
            iconst_1
            aaload
            sipush 182
            invokevirtual org.apache.bcel.generic.InstructionFactory.createInvoke:(Lorg/apache/bcel/generic/InstructionFactory$MethodObject;S)Lorg/apache/bcel/generic/InvokeInstruction;
            areturn
         6: .line 279
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No append for this type? "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // byte t
        end local 1 // org.apache.bcel.generic.Type type
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/bcel/generic/InstructionFactory;
            0    7     1  type  Lorg/apache/bcel/generic/Type;
            1    7     2     t  B
    MethodParameters:
      Name  Flags
      type  final

  public org.apache.bcel.generic.FieldInstruction createFieldAccess(java.lang.String, java.lang.String, org.apache.bcel.generic.Type, short);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;S)Lorg/apache/bcel/generic/FieldInstruction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // java.lang.String class_name
        start local 2 // java.lang.String name
        start local 3 // org.apache.bcel.generic.Type type
        start local 4 // short kind
         0: .line 294
            aload 3 /* type */
            invokevirtual org.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
            astore 6 /* signature */
        start local 6 // java.lang.String signature
         1: .line 295
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* class_name */
            aload 2 /* name */
            aload 6 /* signature */
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addFieldref:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
            istore 5 /* index */
        start local 5 // int index
         2: .line 296
            iload 4 /* kind */
            tableswitch { // 178 - 181
                  178: 5
                  179: 6
                  180: 3
                  181: 4
              default: 7
          }
         3: .line 298
      StackMap locals: int java.lang.String
      StackMap stack:
            new org.apache.bcel.generic.GETFIELD
            dup
            iload 5 /* index */
            invokespecial org.apache.bcel.generic.GETFIELD.<init>:(I)V
            areturn
         4: .line 300
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.PUTFIELD
            dup
            iload 5 /* index */
            invokespecial org.apache.bcel.generic.PUTFIELD.<init>:(I)V
            areturn
         5: .line 302
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.GETSTATIC
            dup
            iload 5 /* index */
            invokespecial org.apache.bcel.generic.GETSTATIC.<init>:(I)V
            areturn
         6: .line 304
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.PUTSTATIC
            dup
            iload 5 /* index */
            invokespecial org.apache.bcel.generic.PUTSTATIC.<init>:(I)V
            areturn
         7: .line 306
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown getfield kind:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* kind */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String signature
        end local 5 // int index
        end local 4 // short kind
        end local 3 // org.apache.bcel.generic.Type type
        end local 2 // java.lang.String name
        end local 1 // java.lang.String class_name
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/apache/bcel/generic/InstructionFactory;
            0    8     1  class_name  Ljava/lang/String;
            0    8     2        name  Ljava/lang/String;
            0    8     3        type  Lorg/apache/bcel/generic/Type;
            0    8     4        kind  S
            2    8     5       index  I
            1    8     6   signature  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      class_name  final
      name        final
      type        final
      kind        final

  public static org.apache.bcel.generic.Instruction createThis();
    descriptor: ()Lorg/apache/bcel/generic/Instruction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 314
            new org.apache.bcel.generic.ALOAD
            dup
            iconst_0
            invokespecial org.apache.bcel.generic.ALOAD.<init>:(I)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.apache.bcel.generic.ReturnInstruction createReturn(org.apache.bcel.generic.Type);
    descriptor: (Lorg/apache/bcel/generic/Type;)Lorg/apache/bcel/generic/ReturnInstruction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.Type type
         0: .line 321
            aload 0 /* type */
            invokevirtual org.apache.bcel.generic.Type.getType:()B
            tableswitch { // 4 - 14
                    4: 2
                    5: 2
                    6: 3
                    7: 4
                    8: 2
                    9: 2
                   10: 2
                   11: 5
                   12: 6
                   13: 1
                   14: 1
              default: 7
          }
         1: .line 324
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.ARETURN:Lorg/apache/bcel/generic/ReturnInstruction;
            areturn
         2: .line 330
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.IRETURN:Lorg/apache/bcel/generic/ReturnInstruction;
            areturn
         3: .line 332
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.FRETURN:Lorg/apache/bcel/generic/ReturnInstruction;
            areturn
         4: .line 334
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.DRETURN:Lorg/apache/bcel/generic/ReturnInstruction;
            areturn
         5: .line 336
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.LRETURN:Lorg/apache/bcel/generic/ReturnInstruction;
            areturn
         6: .line 338
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.RETURN:Lorg/apache/bcel/generic/ReturnInstruction;
            areturn
         7: .line 340
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.apache.bcel.generic.Type type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  type  Lorg/apache/bcel/generic/Type;
    MethodParameters:
      Name  Flags
      type  final

  private static org.apache.bcel.generic.ArithmeticInstruction createBinaryIntOp(char, java.lang.String);
    descriptor: (CLjava/lang/String;)Lorg/apache/bcel/generic/ArithmeticInstruction;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // char first
        start local 1 // java.lang.String op
         0: .line 346
            iload 0 /* first */
            lookupswitch { // 10
                   37: 3
                   38: 6
                   42: 4
                   43: 2
                   45: 1
                   47: 5
                   60: 9
                   62: 10
                   94: 8
                  124: 7
              default: 13
          }
         1: .line 348
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.ISUB:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         2: .line 350
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.IADD:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         3: .line 352
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.IREM:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         4: .line 354
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.IMUL:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         5: .line 356
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.IDIV:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         6: .line 358
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.IAND:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         7: .line 360
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.IOR:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         8: .line 362
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.IXOR:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         9: .line 364
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.ISHL:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
        10: .line 366
      StackMap locals:
      StackMap stack:
            aload 1 /* op */
            ldc ">>>"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
            getstatic org.apache.bcel.generic.InstructionConst.IUSHR:Lorg/apache/bcel/generic/ArithmeticInstruction;
            goto 12
      StackMap locals:
      StackMap stack:
        11: getstatic org.apache.bcel.generic.InstructionConst.ISHR:Lorg/apache/bcel/generic/ArithmeticInstruction;
      StackMap locals:
      StackMap stack: org.apache.bcel.generic.ArithmeticInstruction
        12: areturn
        13: .line 368
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid operand "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* op */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String op
        end local 0 // char first
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0  first  C
            0   14     1     op  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      first  final
      op     final

  private static org.apache.bcel.generic.ArithmeticInstruction createBinaryLongOp(char, java.lang.String);
    descriptor: (CLjava/lang/String;)Lorg/apache/bcel/generic/ArithmeticInstruction;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // char first
        start local 1 // java.lang.String op
         0: .line 374
            iload 0 /* first */
            lookupswitch { // 10
                   37: 3
                   38: 6
                   42: 4
                   43: 2
                   45: 1
                   47: 5
                   60: 9
                   62: 10
                   94: 8
                  124: 7
              default: 13
          }
         1: .line 376
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.LSUB:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         2: .line 378
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.LADD:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         3: .line 380
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.LREM:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         4: .line 382
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.LMUL:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         5: .line 384
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.LDIV:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         6: .line 386
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.LAND:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         7: .line 388
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.LOR:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         8: .line 390
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.LXOR:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         9: .line 392
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.LSHL:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
        10: .line 394
      StackMap locals:
      StackMap stack:
            aload 1 /* op */
            ldc ">>>"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
            getstatic org.apache.bcel.generic.InstructionConst.LUSHR:Lorg/apache/bcel/generic/ArithmeticInstruction;
            goto 12
      StackMap locals:
      StackMap stack:
        11: getstatic org.apache.bcel.generic.InstructionConst.LSHR:Lorg/apache/bcel/generic/ArithmeticInstruction;
      StackMap locals:
      StackMap stack: org.apache.bcel.generic.ArithmeticInstruction
        12: areturn
        13: .line 396
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid operand "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* op */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String op
        end local 0 // char first
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0  first  C
            0   14     1     op  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      first  final
      op     final

  private static org.apache.bcel.generic.ArithmeticInstruction createBinaryFloatOp(char);
    descriptor: (C)Lorg/apache/bcel/generic/ArithmeticInstruction;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // char op
         0: .line 402
            iload 0 /* op */
            tableswitch { // 37 - 47
                   37: 5
                   38: 6
                   39: 6
                   40: 6
                   41: 6
                   42: 3
                   43: 2
                   44: 6
                   45: 1
                   46: 6
                   47: 4
              default: 6
          }
         1: .line 404
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.FSUB:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         2: .line 406
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.FADD:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         3: .line 408
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.FMUL:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         4: .line 410
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.FDIV:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         5: .line 412
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.FREM:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         6: .line 414
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid operand "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* op */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // char op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    op  C
    MethodParameters:
      Name  Flags
      op    final

  private static org.apache.bcel.generic.ArithmeticInstruction createBinaryDoubleOp(char);
    descriptor: (C)Lorg/apache/bcel/generic/ArithmeticInstruction;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // char op
         0: .line 420
            iload 0 /* op */
            tableswitch { // 37 - 47
                   37: 5
                   38: 6
                   39: 6
                   40: 6
                   41: 6
                   42: 3
                   43: 2
                   44: 6
                   45: 1
                   46: 6
                   47: 4
              default: 6
          }
         1: .line 422
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.DSUB:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         2: .line 424
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.DADD:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         3: .line 426
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.DMUL:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         4: .line 428
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.DDIV:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         5: .line 430
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.DREM:Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         6: .line 432
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid operand "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* op */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // char op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    op  C
    MethodParameters:
      Name  Flags
      op    final

  public static org.apache.bcel.generic.ArithmeticInstruction createBinaryOperation(java.lang.String, org.apache.bcel.generic.Type);
    descriptor: (Ljava/lang/String;Lorg/apache/bcel/generic/Type;)Lorg/apache/bcel/generic/ArithmeticInstruction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.String op
        start local 1 // org.apache.bcel.generic.Type type
         0: .line 443
            aload 0 /* op */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* first */
        start local 2 // char first
         1: .line 444
            aload 1 /* type */
            invokevirtual org.apache.bcel.generic.Type.getType:()B
            tableswitch { // 5 - 11
                    5: 2
                    6: 4
                    7: 5
                    8: 2
                    9: 2
                   10: 2
                   11: 3
              default: 6
          }
         2: .line 449
      StackMap locals: int
      StackMap stack:
            iload 2 /* first */
            aload 0 /* op */
            invokestatic org.apache.bcel.generic.InstructionFactory.createBinaryIntOp:(CLjava/lang/String;)Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         3: .line 451
      StackMap locals:
      StackMap stack:
            iload 2 /* first */
            aload 0 /* op */
            invokestatic org.apache.bcel.generic.InstructionFactory.createBinaryLongOp:(CLjava/lang/String;)Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         4: .line 453
      StackMap locals:
      StackMap stack:
            iload 2 /* first */
            invokestatic org.apache.bcel.generic.InstructionFactory.createBinaryFloatOp:(C)Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         5: .line 455
      StackMap locals:
      StackMap stack:
            iload 2 /* first */
            invokestatic org.apache.bcel.generic.InstructionFactory.createBinaryDoubleOp:(C)Lorg/apache/bcel/generic/ArithmeticInstruction;
            areturn
         6: .line 457
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // char first
        end local 1 // org.apache.bcel.generic.Type type
        end local 0 // java.lang.String op
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0     op  Ljava/lang/String;
            0    7     1   type  Lorg/apache/bcel/generic/Type;
            1    7     2  first  C
    MethodParameters:
      Name  Flags
      op    final
      type  final

  public static org.apache.bcel.generic.StackInstruction createPop(int);
    descriptor: (I)Lorg/apache/bcel/generic/StackInstruction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int size
         0: .line 466
            iload 0 /* size */
            iconst_2
            if_icmpne 1
            getstatic org.apache.bcel.generic.InstructionConst.POP2:Lorg/apache/bcel/generic/StackInstruction;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic org.apache.bcel.generic.InstructionConst.POP:Lorg/apache/bcel/generic/StackInstruction;
      StackMap locals:
      StackMap stack: org.apache.bcel.generic.StackInstruction
         2: areturn
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  size  I
    MethodParameters:
      Name  Flags
      size  final

  public static org.apache.bcel.generic.StackInstruction createDup(int);
    descriptor: (I)Lorg/apache/bcel/generic/StackInstruction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int size
         0: .line 474
            iload 0 /* size */
            iconst_2
            if_icmpne 1
            getstatic org.apache.bcel.generic.InstructionConst.DUP2:Lorg/apache/bcel/generic/StackInstruction;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic org.apache.bcel.generic.InstructionConst.DUP:Lorg/apache/bcel/generic/StackInstruction;
      StackMap locals:
      StackMap stack: org.apache.bcel.generic.StackInstruction
         2: areturn
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  size  I
    MethodParameters:
      Name  Flags
      size  final

  public static org.apache.bcel.generic.StackInstruction createDup_2(int);
    descriptor: (I)Lorg/apache/bcel/generic/StackInstruction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int size
         0: .line 482
            iload 0 /* size */
            iconst_2
            if_icmpne 1
            getstatic org.apache.bcel.generic.InstructionConst.DUP2_X2:Lorg/apache/bcel/generic/StackInstruction;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic org.apache.bcel.generic.InstructionConst.DUP_X2:Lorg/apache/bcel/generic/StackInstruction;
      StackMap locals:
      StackMap stack: org.apache.bcel.generic.StackInstruction
         2: areturn
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  size  I
    MethodParameters:
      Name  Flags
      size  final

  public static org.apache.bcel.generic.StackInstruction createDup_1(int);
    descriptor: (I)Lorg/apache/bcel/generic/StackInstruction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int size
         0: .line 490
            iload 0 /* size */
            iconst_2
            if_icmpne 1
            getstatic org.apache.bcel.generic.InstructionConst.DUP2_X1:Lorg/apache/bcel/generic/StackInstruction;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic org.apache.bcel.generic.InstructionConst.DUP_X1:Lorg/apache/bcel/generic/StackInstruction;
      StackMap locals:
      StackMap stack: org.apache.bcel.generic.StackInstruction
         2: areturn
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  size  I
    MethodParameters:
      Name  Flags
      size  final

  public static org.apache.bcel.generic.LocalVariableInstruction createStore(org.apache.bcel.generic.Type, int);
    descriptor: (Lorg/apache/bcel/generic/Type;I)Lorg/apache/bcel/generic/LocalVariableInstruction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.bcel.generic.Type type
        start local 1 // int index
         0: .line 498
            aload 0 /* type */
            invokevirtual org.apache.bcel.generic.Type.getType:()B
            tableswitch { // 4 - 14
                    4: 1
                    5: 1
                    6: 2
                    7: 3
                    8: 1
                    9: 1
                   10: 1
                   11: 4
                   12: 6
                   13: 5
                   14: 5
              default: 6
          }
         1: .line 504
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.ISTORE
            dup
            iload 1 /* index */
            invokespecial org.apache.bcel.generic.ISTORE.<init>:(I)V
            areturn
         2: .line 506
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.FSTORE
            dup
            iload 1 /* index */
            invokespecial org.apache.bcel.generic.FSTORE.<init>:(I)V
            areturn
         3: .line 508
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.DSTORE
            dup
            iload 1 /* index */
            invokespecial org.apache.bcel.generic.DSTORE.<init>:(I)V
            areturn
         4: .line 510
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.LSTORE
            dup
            iload 1 /* index */
            invokespecial org.apache.bcel.generic.LSTORE.<init>:(I)V
            areturn
         5: .line 513
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.ASTORE
            dup
            iload 1 /* index */
            invokespecial org.apache.bcel.generic.ASTORE.<init>:(I)V
            areturn
         6: .line 515
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int index
        end local 0 // org.apache.bcel.generic.Type type
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   type  Lorg/apache/bcel/generic/Type;
            0    7     1  index  I
    MethodParameters:
       Name  Flags
      type   final
      index  final

  public static org.apache.bcel.generic.LocalVariableInstruction createLoad(org.apache.bcel.generic.Type, int);
    descriptor: (Lorg/apache/bcel/generic/Type;I)Lorg/apache/bcel/generic/LocalVariableInstruction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.bcel.generic.Type type
        start local 1 // int index
         0: .line 524
            aload 0 /* type */
            invokevirtual org.apache.bcel.generic.Type.getType:()B
            tableswitch { // 4 - 14
                    4: 1
                    5: 1
                    6: 2
                    7: 3
                    8: 1
                    9: 1
                   10: 1
                   11: 4
                   12: 6
                   13: 5
                   14: 5
              default: 6
          }
         1: .line 530
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.ILOAD
            dup
            iload 1 /* index */
            invokespecial org.apache.bcel.generic.ILOAD.<init>:(I)V
            areturn
         2: .line 532
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.FLOAD
            dup
            iload 1 /* index */
            invokespecial org.apache.bcel.generic.FLOAD.<init>:(I)V
            areturn
         3: .line 534
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.DLOAD
            dup
            iload 1 /* index */
            invokespecial org.apache.bcel.generic.DLOAD.<init>:(I)V
            areturn
         4: .line 536
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.LLOAD
            dup
            iload 1 /* index */
            invokespecial org.apache.bcel.generic.LLOAD.<init>:(I)V
            areturn
         5: .line 539
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.ALOAD
            dup
            iload 1 /* index */
            invokespecial org.apache.bcel.generic.ALOAD.<init>:(I)V
            areturn
         6: .line 541
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int index
        end local 0 // org.apache.bcel.generic.Type type
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   type  Lorg/apache/bcel/generic/Type;
            0    7     1  index  I
    MethodParameters:
       Name  Flags
      type   final
      index  final

  public static org.apache.bcel.generic.ArrayInstruction createArrayLoad(org.apache.bcel.generic.Type);
    descriptor: (Lorg/apache/bcel/generic/Type;)Lorg/apache/bcel/generic/ArrayInstruction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.Type type
         0: .line 550
            aload 0 /* type */
            invokevirtual org.apache.bcel.generic.Type.getType:()B
            tableswitch { // 4 - 14
                    4: 1
                    5: 2
                    6: 5
                    7: 6
                    8: 1
                    9: 3
                   10: 4
                   11: 7
                   12: 9
                   13: 8
                   14: 8
              default: 9
          }
         1: .line 553
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.BALOAD:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         2: .line 555
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.CALOAD:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         3: .line 557
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.SALOAD:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         4: .line 559
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.IALOAD:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         5: .line 561
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.FALOAD:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         6: .line 563
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.DALOAD:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         7: .line 565
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.LALOAD:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         8: .line 568
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.AALOAD:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         9: .line 570
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.apache.bcel.generic.Type type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  type  Lorg/apache/bcel/generic/Type;
    MethodParameters:
      Name  Flags
      type  final

  public static org.apache.bcel.generic.ArrayInstruction createArrayStore(org.apache.bcel.generic.Type);
    descriptor: (Lorg/apache/bcel/generic/Type;)Lorg/apache/bcel/generic/ArrayInstruction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.Type type
         0: .line 579
            aload 0 /* type */
            invokevirtual org.apache.bcel.generic.Type.getType:()B
            tableswitch { // 4 - 14
                    4: 1
                    5: 2
                    6: 5
                    7: 6
                    8: 1
                    9: 3
                   10: 4
                   11: 7
                   12: 9
                   13: 8
                   14: 8
              default: 9
          }
         1: .line 582
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.BASTORE:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         2: .line 584
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.CASTORE:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         3: .line 586
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.SASTORE:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         4: .line 588
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.IASTORE:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         5: .line 590
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.FASTORE:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         6: .line 592
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.DASTORE:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         7: .line 594
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.LASTORE:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         8: .line 597
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.AASTORE:Lorg/apache/bcel/generic/ArrayInstruction;
            areturn
         9: .line 599
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.apache.bcel.generic.Type type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  type  Lorg/apache/bcel/generic/Type;
    MethodParameters:
      Name  Flags
      type  final

  public org.apache.bcel.generic.Instruction createCast(org.apache.bcel.generic.Type, org.apache.bcel.generic.Type);
    descriptor: (Lorg/apache/bcel/generic/Type;Lorg/apache/bcel/generic/Type;)Lorg/apache/bcel/generic/Instruction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // org.apache.bcel.generic.Type src_type
        start local 2 // org.apache.bcel.generic.Type dest_type
         0: .line 608
            aload 1 /* src_type */
            instanceof org.apache.bcel.generic.BasicType
            ifeq 15
            aload 2 /* dest_type */
            instanceof org.apache.bcel.generic.BasicType
            ifeq 15
         1: .line 609
            aload 2 /* dest_type */
            invokevirtual org.apache.bcel.generic.Type.getType:()B
            istore 3 /* dest */
        start local 3 // byte dest
         2: .line 610
            aload 1 /* src_type */
            invokevirtual org.apache.bcel.generic.Type.getType:()B
            istore 4 /* src */
        start local 4 // byte src
         3: .line 611
            iload 3 /* dest */
            bipush 11
            if_icmpne 6
         4: .line 612
            iload 4 /* src */
            iconst_5
            if_icmpeq 5
            iload 4 /* src */
            bipush 8
            if_icmpeq 5
            iload 4 /* src */
            bipush 9
            if_icmpne 6
         5: .line 613
      StackMap locals: int int
      StackMap stack:
            bipush 10
            istore 4 /* src */
         6: .line 615
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "org.apache.bcel.generic."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.apache.bcel.generic.InstructionFactory.short_names:[Ljava/lang/String;
            iload 4 /* src */
            iconst_5
            isub
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "2"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 616
            getstatic org.apache.bcel.generic.InstructionFactory.short_names:[Ljava/lang/String;
            iload 3 /* dest */
            iconst_5
            isub
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 615
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         9: .line 617
            aconst_null
            astore 6 /* i */
        start local 6 // org.apache.bcel.generic.Instruction i
        10: .line 619
            aload 5 /* name */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.apache.bcel.generic.Instruction
            astore 6 /* i */
        11: .line 620
            goto 14
      StackMap locals: org.apache.bcel.generic.InstructionFactory org.apache.bcel.generic.Type org.apache.bcel.generic.Type int int java.lang.String org.apache.bcel.generic.Instruction
      StackMap stack: java.lang.Exception
        12: astore 7 /* e */
        start local 7 // java.lang.Exception e
        13: .line 621
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not find instruction: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 7 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.lang.Exception e
        14: .line 623
      StackMap locals:
      StackMap stack:
            aload 6 /* i */
            areturn
        end local 6 // org.apache.bcel.generic.Instruction i
        end local 5 // java.lang.String name
        end local 4 // byte src
        end local 3 // byte dest
        15: .line 624
      StackMap locals: org.apache.bcel.generic.InstructionFactory org.apache.bcel.generic.Type org.apache.bcel.generic.Type
      StackMap stack:
            aload 1 /* src_type */
            instanceof org.apache.bcel.generic.ReferenceType
            ifeq 19
            aload 2 /* dest_type */
            instanceof org.apache.bcel.generic.ReferenceType
            ifeq 19
        16: .line 625
            aload 2 /* dest_type */
            instanceof org.apache.bcel.generic.ArrayType
            ifeq 18
        17: .line 626
            new org.apache.bcel.generic.CHECKCAST
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 2 /* dest_type */
            checkcast org.apache.bcel.generic.ArrayType
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addArrayClass:(Lorg/apache/bcel/generic/ArrayType;)I
            invokespecial org.apache.bcel.generic.CHECKCAST.<init>:(I)V
            areturn
        18: .line 628
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.CHECKCAST
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 2 /* dest_type */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addClass:(Ljava/lang/String;)I
            invokespecial org.apache.bcel.generic.CHECKCAST.<init>:(I)V
            areturn
        19: .line 630
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot cast "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* src_type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* dest_type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // org.apache.bcel.generic.Type dest_type
        end local 1 // org.apache.bcel.generic.Type src_type
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lorg/apache/bcel/generic/InstructionFactory;
            0   20     1   src_type  Lorg/apache/bcel/generic/Type;
            0   20     2  dest_type  Lorg/apache/bcel/generic/Type;
            2   15     3       dest  B
            3   15     4        src  B
            9   15     5       name  Ljava/lang/String;
           10   15     6          i  Lorg/apache/bcel/generic/Instruction;
           13   14     7          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.Exception
    MethodParameters:
           Name  Flags
      src_type   final
      dest_type  final

  public org.apache.bcel.generic.GETFIELD createGetField(java.lang.String, java.lang.String, org.apache.bcel.generic.Type);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;)Lorg/apache/bcel/generic/GETFIELD;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // java.lang.String class_name
        start local 2 // java.lang.String name
        start local 3 // org.apache.bcel.generic.Type t
         0: .line 636
            new org.apache.bcel.generic.GETFIELD
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* class_name */
            aload 2 /* name */
            aload 3 /* t */
            invokevirtual org.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addFieldref:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
            invokespecial org.apache.bcel.generic.GETFIELD.<init>:(I)V
            areturn
        end local 3 // org.apache.bcel.generic.Type t
        end local 2 // java.lang.String name
        end local 1 // java.lang.String class_name
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/bcel/generic/InstructionFactory;
            0    1     1  class_name  Ljava/lang/String;
            0    1     2        name  Ljava/lang/String;
            0    1     3           t  Lorg/apache/bcel/generic/Type;
    MethodParameters:
            Name  Flags
      class_name  final
      name        final
      t           final

  public org.apache.bcel.generic.GETSTATIC createGetStatic(java.lang.String, java.lang.String, org.apache.bcel.generic.Type);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;)Lorg/apache/bcel/generic/GETSTATIC;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // java.lang.String class_name
        start local 2 // java.lang.String name
        start local 3 // org.apache.bcel.generic.Type t
         0: .line 641
            new org.apache.bcel.generic.GETSTATIC
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* class_name */
            aload 2 /* name */
            aload 3 /* t */
            invokevirtual org.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addFieldref:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
            invokespecial org.apache.bcel.generic.GETSTATIC.<init>:(I)V
            areturn
        end local 3 // org.apache.bcel.generic.Type t
        end local 2 // java.lang.String name
        end local 1 // java.lang.String class_name
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/bcel/generic/InstructionFactory;
            0    1     1  class_name  Ljava/lang/String;
            0    1     2        name  Ljava/lang/String;
            0    1     3           t  Lorg/apache/bcel/generic/Type;
    MethodParameters:
            Name  Flags
      class_name  final
      name        final
      t           final

  public org.apache.bcel.generic.PUTFIELD createPutField(java.lang.String, java.lang.String, org.apache.bcel.generic.Type);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;)Lorg/apache/bcel/generic/PUTFIELD;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // java.lang.String class_name
        start local 2 // java.lang.String name
        start local 3 // org.apache.bcel.generic.Type t
         0: .line 646
            new org.apache.bcel.generic.PUTFIELD
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* class_name */
            aload 2 /* name */
            aload 3 /* t */
            invokevirtual org.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addFieldref:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
            invokespecial org.apache.bcel.generic.PUTFIELD.<init>:(I)V
            areturn
        end local 3 // org.apache.bcel.generic.Type t
        end local 2 // java.lang.String name
        end local 1 // java.lang.String class_name
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/bcel/generic/InstructionFactory;
            0    1     1  class_name  Ljava/lang/String;
            0    1     2        name  Ljava/lang/String;
            0    1     3           t  Lorg/apache/bcel/generic/Type;
    MethodParameters:
            Name  Flags
      class_name  final
      name        final
      t           final

  public org.apache.bcel.generic.PUTSTATIC createPutStatic(java.lang.String, java.lang.String, org.apache.bcel.generic.Type);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/generic/Type;)Lorg/apache/bcel/generic/PUTSTATIC;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // java.lang.String class_name
        start local 2 // java.lang.String name
        start local 3 // org.apache.bcel.generic.Type t
         0: .line 651
            new org.apache.bcel.generic.PUTSTATIC
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* class_name */
            aload 2 /* name */
            aload 3 /* t */
            invokevirtual org.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addFieldref:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
            invokespecial org.apache.bcel.generic.PUTSTATIC.<init>:(I)V
            areturn
        end local 3 // org.apache.bcel.generic.Type t
        end local 2 // java.lang.String name
        end local 1 // java.lang.String class_name
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/bcel/generic/InstructionFactory;
            0    1     1  class_name  Ljava/lang/String;
            0    1     2        name  Ljava/lang/String;
            0    1     3           t  Lorg/apache/bcel/generic/Type;
    MethodParameters:
            Name  Flags
      class_name  final
      name        final
      t           final

  public org.apache.bcel.generic.CHECKCAST createCheckCast(org.apache.bcel.generic.ReferenceType);
    descriptor: (Lorg/apache/bcel/generic/ReferenceType;)Lorg/apache/bcel/generic/CHECKCAST;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // org.apache.bcel.generic.ReferenceType t
         0: .line 656
            aload 1 /* t */
            instanceof org.apache.bcel.generic.ArrayType
            ifeq 2
         1: .line 657
            new org.apache.bcel.generic.CHECKCAST
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* t */
            checkcast org.apache.bcel.generic.ArrayType
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addArrayClass:(Lorg/apache/bcel/generic/ArrayType;)I
            invokespecial org.apache.bcel.generic.CHECKCAST.<init>:(I)V
            areturn
         2: .line 659
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.CHECKCAST
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* t */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addClass:(Lorg/apache/bcel/generic/ObjectType;)I
            invokespecial org.apache.bcel.generic.CHECKCAST.<init>:(I)V
            areturn
        end local 1 // org.apache.bcel.generic.ReferenceType t
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/bcel/generic/InstructionFactory;
            0    3     1     t  Lorg/apache/bcel/generic/ReferenceType;
    MethodParameters:
      Name  Flags
      t     final

  public org.apache.bcel.generic.INSTANCEOF createInstanceOf(org.apache.bcel.generic.ReferenceType);
    descriptor: (Lorg/apache/bcel/generic/ReferenceType;)Lorg/apache/bcel/generic/INSTANCEOF;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // org.apache.bcel.generic.ReferenceType t
         0: .line 664
            aload 1 /* t */
            instanceof org.apache.bcel.generic.ArrayType
            ifeq 2
         1: .line 665
            new org.apache.bcel.generic.INSTANCEOF
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* t */
            checkcast org.apache.bcel.generic.ArrayType
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addArrayClass:(Lorg/apache/bcel/generic/ArrayType;)I
            invokespecial org.apache.bcel.generic.INSTANCEOF.<init>:(I)V
            areturn
         2: .line 667
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.INSTANCEOF
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* t */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addClass:(Lorg/apache/bcel/generic/ObjectType;)I
            invokespecial org.apache.bcel.generic.INSTANCEOF.<init>:(I)V
            areturn
        end local 1 // org.apache.bcel.generic.ReferenceType t
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/bcel/generic/InstructionFactory;
            0    3     1     t  Lorg/apache/bcel/generic/ReferenceType;
    MethodParameters:
      Name  Flags
      t     final

  public org.apache.bcel.generic.NEW createNew(org.apache.bcel.generic.ObjectType);
    descriptor: (Lorg/apache/bcel/generic/ObjectType;)Lorg/apache/bcel/generic/NEW;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // org.apache.bcel.generic.ObjectType t
         0: .line 672
            new org.apache.bcel.generic.NEW
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* t */
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addClass:(Lorg/apache/bcel/generic/ObjectType;)I
            invokespecial org.apache.bcel.generic.NEW.<init>:(I)V
            areturn
        end local 1 // org.apache.bcel.generic.ObjectType t
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/bcel/generic/InstructionFactory;
            0    1     1     t  Lorg/apache/bcel/generic/ObjectType;
    MethodParameters:
      Name  Flags
      t     final

  public org.apache.bcel.generic.NEW createNew(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/bcel/generic/NEW;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // java.lang.String s
         0: .line 677
            aload 0 /* this */
            aload 1 /* s */
            invokestatic org.apache.bcel.generic.ObjectType.getInstance:(Ljava/lang/String;)Lorg/apache/bcel/generic/ObjectType;
            invokevirtual org.apache.bcel.generic.InstructionFactory.createNew:(Lorg/apache/bcel/generic/ObjectType;)Lorg/apache/bcel/generic/NEW;
            areturn
        end local 1 // java.lang.String s
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/bcel/generic/InstructionFactory;
            0    1     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     final

  public org.apache.bcel.generic.Instruction createNewArray(org.apache.bcel.generic.Type, short);
    descriptor: (Lorg/apache/bcel/generic/Type;S)Lorg/apache/bcel/generic/Instruction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // org.apache.bcel.generic.Type t
        start local 2 // short dim
         0: .line 685
            iload 2 /* dim */
            iconst_1
            if_icmpne 6
         1: .line 686
            aload 1 /* t */
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 3
         2: .line 687
            new org.apache.bcel.generic.ANEWARRAY
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* t */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addClass:(Lorg/apache/bcel/generic/ObjectType;)I
            invokespecial org.apache.bcel.generic.ANEWARRAY.<init>:(I)V
            areturn
         3: .line 688
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            instanceof org.apache.bcel.generic.ArrayType
            ifeq 5
         4: .line 689
            new org.apache.bcel.generic.ANEWARRAY
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 1 /* t */
            checkcast org.apache.bcel.generic.ArrayType
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addArrayClass:(Lorg/apache/bcel/generic/ArrayType;)I
            invokespecial org.apache.bcel.generic.ANEWARRAY.<init>:(I)V
            areturn
         5: .line 691
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.NEWARRAY
            dup
            aload 1 /* t */
            invokevirtual org.apache.bcel.generic.Type.getType:()B
            invokespecial org.apache.bcel.generic.NEWARRAY.<init>:(B)V
            areturn
         6: .line 695
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            instanceof org.apache.bcel.generic.ArrayType
            ifeq 9
         7: .line 696
            aload 1 /* t */
            checkcast org.apache.bcel.generic.ArrayType
            astore 3 /* at */
        start local 3 // org.apache.bcel.generic.ArrayType at
         8: .line 697
            goto 10
        end local 3 // org.apache.bcel.generic.ArrayType at
         9: .line 698
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.ArrayType
            dup
            aload 1 /* t */
            iload 2 /* dim */
            invokespecial org.apache.bcel.generic.ArrayType.<init>:(Lorg/apache/bcel/generic/Type;I)V
            astore 3 /* at */
        start local 3 // org.apache.bcel.generic.ArrayType at
        10: .line 700
      StackMap locals: org.apache.bcel.generic.ArrayType
      StackMap stack:
            new org.apache.bcel.generic.MULTIANEWARRAY
            dup
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            aload 3 /* at */
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.addArrayClass:(Lorg/apache/bcel/generic/ArrayType;)I
            iload 2 /* dim */
            invokespecial org.apache.bcel.generic.MULTIANEWARRAY.<init>:(IS)V
            areturn
        end local 3 // org.apache.bcel.generic.ArrayType at
        end local 2 // short dim
        end local 1 // org.apache.bcel.generic.Type t
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/apache/bcel/generic/InstructionFactory;
            0   11     1     t  Lorg/apache/bcel/generic/Type;
            0   11     2   dim  S
            8    9     3    at  Lorg/apache/bcel/generic/ArrayType;
           10   11     3    at  Lorg/apache/bcel/generic/ArrayType;
    MethodParameters:
      Name  Flags
      t     final
      dim   final

  public static org.apache.bcel.generic.Instruction createNull(org.apache.bcel.generic.Type);
    descriptor: (Lorg/apache/bcel/generic/Type;)Lorg/apache/bcel/generic/Instruction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.Type type
         0: .line 707
            aload 0 /* type */
            invokevirtual org.apache.bcel.generic.Type.getType:()B
            tableswitch { // 4 - 14
                    4: 2
                    5: 2
                    6: 3
                    7: 4
                    8: 2
                    9: 2
                   10: 2
                   11: 5
                   12: 6
                   13: 1
                   14: 1
              default: 7
          }
         1: .line 710
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.ACONST_NULL:Lorg/apache/bcel/generic/Instruction;
            areturn
         2: .line 716
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.ICONST_0:Lorg/apache/bcel/generic/Instruction;
            areturn
         3: .line 718
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.FCONST_0:Lorg/apache/bcel/generic/Instruction;
            areturn
         4: .line 720
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.DCONST_0:Lorg/apache/bcel/generic/Instruction;
            areturn
         5: .line 722
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.LCONST_0:Lorg/apache/bcel/generic/Instruction;
            areturn
         6: .line 724
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.InstructionConst.NOP:Lorg/apache/bcel/generic/Instruction;
            areturn
         7: .line 726
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.apache.bcel.generic.Type type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  type  Lorg/apache/bcel/generic/Type;
    MethodParameters:
      Name  Flags
      type  final

  public static org.apache.bcel.generic.BranchInstruction createBranchInstruction(short, org.apache.bcel.generic.InstructionHandle);
    descriptor: (SLorg/apache/bcel/generic/InstructionHandle;)Lorg/apache/bcel/generic/BranchInstruction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // short opcode
        start local 1 // org.apache.bcel.generic.InstructionHandle target
         0: .line 735
            iload 0 /* opcode */
            tableswitch { // 153 - 201
                  153: 1
                  154: 2
                  155: 3
                  156: 4
                  157: 5
                  158: 6
                  159: 7
                  160: 8
                  161: 9
                  162: 10
                  163: 11
                  164: 12
                  165: 13
                  166: 14
                  167: 15
                  168: 16
                  169: 21
                  170: 21
                  171: 21
                  172: 21
                  173: 21
                  174: 21
                  175: 21
                  176: 21
                  177: 21
                  178: 21
                  179: 21
                  180: 21
                  181: 21
                  182: 21
                  183: 21
                  184: 21
                  185: 21
                  186: 21
                  187: 21
                  188: 21
                  189: 21
                  190: 21
                  191: 21
                  192: 21
                  193: 21
                  194: 21
                  195: 21
                  196: 21
                  197: 21
                  198: 17
                  199: 18
                  200: 19
                  201: 20
              default: 21
          }
         1: .line 737
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IFEQ
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IFEQ.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
         2: .line 739
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IFNE
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IFNE.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
         3: .line 741
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IFLT
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IFLT.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
         4: .line 743
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IFGE
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IFGE.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
         5: .line 745
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IFGT
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IFGT.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
         6: .line 747
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IFLE
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IFLE.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
         7: .line 749
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IF_ICMPEQ
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IF_ICMPEQ.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
         8: .line 751
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IF_ICMPNE
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IF_ICMPNE.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
         9: .line 753
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IF_ICMPLT
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IF_ICMPLT.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
        10: .line 755
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IF_ICMPGE
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IF_ICMPGE.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
        11: .line 757
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IF_ICMPGT
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IF_ICMPGT.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
        12: .line 759
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IF_ICMPLE
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IF_ICMPLE.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
        13: .line 761
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IF_ACMPEQ
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IF_ACMPEQ.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
        14: .line 763
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IF_ACMPNE
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IF_ACMPNE.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
        15: .line 765
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.GOTO
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.GOTO.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
        16: .line 767
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.JSR
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.JSR.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
        17: .line 769
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IFNULL
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IFNULL.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
        18: .line 771
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.IFNONNULL
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.IFNONNULL.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
        19: .line 773
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.GOTO_W
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.GOTO_W.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
        20: .line 775
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.JSR_W
            dup
            aload 1 /* target */
            invokespecial org.apache.bcel.generic.JSR_W.<init>:(Lorg/apache/bcel/generic/InstructionHandle;)V
            areturn
        21: .line 777
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid opcode: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* opcode */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.apache.bcel.generic.InstructionHandle target
        end local 0 // short opcode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0  opcode  S
            0   22     1  target  Lorg/apache/bcel/generic/InstructionHandle;
    MethodParameters:
        Name  Flags
      opcode  final
      target  final

  public void setClassGen(org.apache.bcel.generic.ClassGen);
    descriptor: (Lorg/apache/bcel/generic/ClassGen;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // org.apache.bcel.generic.ClassGen c
         0: .line 783
            aload 0 /* this */
            aload 1 /* c */
            putfield org.apache.bcel.generic.InstructionFactory.cg:Lorg/apache/bcel/generic/ClassGen;
         1: .line 784
            return
        end local 1 // org.apache.bcel.generic.ClassGen c
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/bcel/generic/InstructionFactory;
            0    2     1     c  Lorg/apache/bcel/generic/ClassGen;
    MethodParameters:
      Name  Flags
      c     final

  public org.apache.bcel.generic.ClassGen getClassGen();
    descriptor: ()Lorg/apache/bcel/generic/ClassGen;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.InstructionFactory this
         0: .line 788
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cg:Lorg/apache/bcel/generic/ClassGen;
            areturn
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/bcel/generic/InstructionFactory;

  public void setConstantPool(org.apache.bcel.generic.ConstantPoolGen);
    descriptor: (Lorg/apache/bcel/generic/ConstantPoolGen;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.bcel.generic.InstructionFactory this
        start local 1 // org.apache.bcel.generic.ConstantPoolGen c
         0: .line 793
            aload 0 /* this */
            aload 1 /* c */
            putfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
         1: .line 794
            return
        end local 1 // org.apache.bcel.generic.ConstantPoolGen c
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/bcel/generic/InstructionFactory;
            0    2     1     c  Lorg/apache/bcel/generic/ConstantPoolGen;
    MethodParameters:
      Name  Flags
      c     final

  public org.apache.bcel.generic.ConstantPoolGen getConstantPool();
    descriptor: ()Lorg/apache/bcel/generic/ConstantPoolGen;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.InstructionFactory this
         0: .line 798
            aload 0 /* this */
            getfield org.apache.bcel.generic.InstructionFactory.cp:Lorg/apache/bcel/generic/ConstantPoolGen;
            areturn
        end local 0 // org.apache.bcel.generic.InstructionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/bcel/generic/InstructionFactory;
}
SourceFile: "InstructionFactory.java"
NestMembers:
  org.apache.bcel.generic.InstructionFactory$MethodObject
InnerClasses:
  private MethodObject = org.apache.bcel.generic.InstructionFactory$MethodObject of org.apache.bcel.generic.InstructionFactory