public class net.sf.cglib.core.CodeEmitter extends net.sf.cglib.core.LocalVariablesSorter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.sf.cglib.core.CodeEmitter
  super_class: net.sf.cglib.core.LocalVariablesSorter
{
  private static final net.sf.cglib.core.Signature BOOLEAN_VALUE;
    descriptor: Lnet/sf/cglib/core/Signature;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final net.sf.cglib.core.Signature CHAR_VALUE;
    descriptor: Lnet/sf/cglib/core/Signature;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final net.sf.cglib.core.Signature LONG_VALUE;
    descriptor: Lnet/sf/cglib/core/Signature;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final net.sf.cglib.core.Signature DOUBLE_VALUE;
    descriptor: Lnet/sf/cglib/core/Signature;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final net.sf.cglib.core.Signature FLOAT_VALUE;
    descriptor: Lnet/sf/cglib/core/Signature;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final net.sf.cglib.core.Signature INT_VALUE;
    descriptor: Lnet/sf/cglib/core/Signature;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final net.sf.cglib.core.Signature CSTRUCT_NULL;
    descriptor: Lnet/sf/cglib/core/Signature;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final net.sf.cglib.core.Signature CSTRUCT_STRING;
    descriptor: Lnet/sf/cglib/core/Signature;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final int ADD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 96

  public static final int MUL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 104

  public static final int XOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 130

  public static final int USHR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 124

  public static final int SUB;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  public static final int DIV;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 108

  public static final int NEG;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 116

  public static final int REM;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 112

  public static final int AND;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 126

  public static final int OR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 128

  public static final int GT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 157

  public static final int LT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 155

  public static final int GE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 156

  public static final int LE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 158

  public static final int NE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 154

  public static final int EQ;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 153

  private net.sf.cglib.core.ClassEmitter ce;
    descriptor: Lnet/sf/cglib/core/ClassEmitter;
    flags: (0x0002) ACC_PRIVATE

  private net.sf.cglib.core.CodeEmitter$State state;
    descriptor: Lnet/sf/cglib/core/CodeEmitter$State;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 27
            ldc "boolean booleanValue()"
            invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
         1: .line 26
            putstatic net.sf.cglib.core.CodeEmitter.BOOLEAN_VALUE:Lnet/sf/cglib/core/Signature;
         2: .line 29
            ldc "char charValue()"
            invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
         3: .line 28
            putstatic net.sf.cglib.core.CodeEmitter.CHAR_VALUE:Lnet/sf/cglib/core/Signature;
         4: .line 31
            ldc "long longValue()"
            invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
         5: .line 30
            putstatic net.sf.cglib.core.CodeEmitter.LONG_VALUE:Lnet/sf/cglib/core/Signature;
         6: .line 33
            ldc "double doubleValue()"
            invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
         7: .line 32
            putstatic net.sf.cglib.core.CodeEmitter.DOUBLE_VALUE:Lnet/sf/cglib/core/Signature;
         8: .line 35
            ldc "float floatValue()"
            invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
         9: .line 34
            putstatic net.sf.cglib.core.CodeEmitter.FLOAT_VALUE:Lnet/sf/cglib/core/Signature;
        10: .line 37
            ldc "int intValue()"
            invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
        11: .line 36
            putstatic net.sf.cglib.core.CodeEmitter.INT_VALUE:Lnet/sf/cglib/core/Signature;
        12: .line 39
            ldc ""
            invokestatic net.sf.cglib.core.TypeUtils.parseConstructor:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
        13: .line 38
            putstatic net.sf.cglib.core.CodeEmitter.CSTRUCT_NULL:Lnet/sf/cglib/core/Signature;
        14: .line 41
            ldc "String"
            invokestatic net.sf.cglib.core.TypeUtils.parseConstructor:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
        15: .line 40
            putstatic net.sf.cglib.core.CodeEmitter.CSTRUCT_STRING:Lnet/sf/cglib/core/Signature;
        16: .line 59
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(net.sf.cglib.core.ClassEmitter, org.objectweb.asm.MethodVisitor, int, net.sf.cglib.core.Signature, org.objectweb.asm.Type[]);
    descriptor: (Lnet/sf/cglib/core/ClassEmitter;Lorg/objectweb/asm/MethodVisitor;ILnet/sf/cglib/core/Signature;[Lorg/objectweb/asm/Type;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // net.sf.cglib.core.ClassEmitter ce
        start local 2 // org.objectweb.asm.MethodVisitor mv
        start local 3 // int access
        start local 4 // net.sf.cglib.core.Signature sig
        start local 5 // org.objectweb.asm.Type[] exceptionTypes
         0: .line 106
            aload 0 /* this */
            iload 3 /* access */
            aload 4 /* sig */
            invokevirtual net.sf.cglib.core.Signature.getDescriptor:()Ljava/lang/String;
            aload 2 /* mv */
            invokespecial net.sf.cglib.core.LocalVariablesSorter.<init>:(ILjava/lang/String;Lorg/objectweb/asm/MethodVisitor;)V
         1: .line 107
            aload 0 /* this */
            aload 1 /* ce */
            putfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
         2: .line 108
            aload 0 /* this */
            new net.sf.cglib.core.CodeEmitter$State
            dup
            aload 1 /* ce */
            invokevirtual net.sf.cglib.core.ClassEmitter.getClassInfo:()Lnet/sf/cglib/core/ClassInfo;
            iload 3 /* access */
            aload 4 /* sig */
            aload 5 /* exceptionTypes */
            invokespecial net.sf.cglib.core.CodeEmitter$State.<init>:(Lnet/sf/cglib/core/ClassInfo;ILnet/sf/cglib/core/Signature;[Lorg/objectweb/asm/Type;)V
            putfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
         3: .line 109
            return
        end local 5 // org.objectweb.asm.Type[] exceptionTypes
        end local 4 // net.sf.cglib.core.Signature sig
        end local 3 // int access
        end local 2 // org.objectweb.asm.MethodVisitor mv
        end local 1 // net.sf.cglib.core.ClassEmitter ce
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lnet/sf/cglib/core/CodeEmitter;
            0    4     1              ce  Lnet/sf/cglib/core/ClassEmitter;
            0    4     2              mv  Lorg/objectweb/asm/MethodVisitor;
            0    4     3          access  I
            0    4     4             sig  Lnet/sf/cglib/core/Signature;
            0    4     5  exceptionTypes  [Lorg/objectweb/asm/Type;
    MethodParameters:
                Name  Flags
      ce              
      mv              
      access          
      sig             
      exceptionTypes  

  public void <init>(net.sf.cglib.core.CodeEmitter);
    descriptor: (Lnet/sf/cglib/core/CodeEmitter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // net.sf.cglib.core.CodeEmitter wrap
         0: .line 112
            aload 0 /* this */
            aload 1 /* wrap */
            invokespecial net.sf.cglib.core.LocalVariablesSorter.<init>:(Lnet/sf/cglib/core/LocalVariablesSorter;)V
         1: .line 113
            aload 0 /* this */
            aload 1 /* wrap */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            putfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
         2: .line 114
            aload 0 /* this */
            aload 1 /* wrap */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            putfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
         3: .line 115
            return
        end local 1 // net.sf.cglib.core.CodeEmitter wrap
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    4     1  wrap  Lnet/sf/cglib/core/CodeEmitter;
    MethodParameters:
      Name  Flags
      wrap  

  public boolean isStaticHook();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 118
            iconst_0
            ireturn
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public net.sf.cglib.core.Signature getSignature();
    descriptor: ()Lnet/sf/cglib/core/Signature;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 122
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            getfield net.sf.cglib.core.CodeEmitter$State.sig:Lnet/sf/cglib/core/Signature;
            areturn
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public org.objectweb.asm.Type getReturnType();
    descriptor: ()Lorg/objectweb/asm/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 126
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            getfield net.sf.cglib.core.CodeEmitter$State.sig:Lnet/sf/cglib/core/Signature;
            invokevirtual net.sf.cglib.core.Signature.getReturnType:()Lorg/objectweb/asm/Type;
            areturn
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public net.sf.cglib.core.MethodInfo getMethodInfo();
    descriptor: ()Lnet/sf/cglib/core/MethodInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 130
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            areturn
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public net.sf.cglib.core.ClassEmitter getClassEmitter();
    descriptor: ()Lnet/sf/cglib/core/ClassEmitter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 134
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            areturn
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void end_method();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 138
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual net.sf.cglib.core.CodeEmitter.visitMaxs:(II)V
         1: .line 139
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public net.sf.cglib.core.Block begin_block();
    descriptor: ()Lnet/sf/cglib/core/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 142
            new net.sf.cglib.core.Block
            dup
            aload 0 /* this */
            invokespecial net.sf.cglib.core.Block.<init>:(Lnet/sf/cglib/core/CodeEmitter;)V
            areturn
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void catch_exception(net.sf.cglib.core.Block, org.objectweb.asm.Type);
    descriptor: (Lnet/sf/cglib/core/Block;Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // net.sf.cglib.core.Block block
        start local 2 // org.objectweb.asm.Type exception
         0: .line 146
            aload 1 /* block */
            invokevirtual net.sf.cglib.core.Block.getEnd:()Lorg/objectweb/asm/Label;
            ifnonnull 2
         1: .line 147
            new java.lang.IllegalStateException
            dup
            ldc "end of block is unset"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            aload 1 /* block */
            invokevirtual net.sf.cglib.core.Block.getStart:()Lorg/objectweb/asm/Label;
         3: .line 150
            aload 1 /* block */
            invokevirtual net.sf.cglib.core.Block.getEnd:()Lorg/objectweb/asm/Label;
         4: .line 151
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.mark:()Lorg/objectweb/asm/Label;
         5: .line 152
            aload 2 /* exception */
            invokevirtual org.objectweb.asm.Type.getInternalName:()Ljava/lang/String;
         6: .line 149
            invokevirtual org.objectweb.asm.MethodVisitor.visitTryCatchBlock:(Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Ljava/lang/String;)V
         7: .line 153
            return
        end local 2 // org.objectweb.asm.Type exception
        end local 1 // net.sf.cglib.core.Block block
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lnet/sf/cglib/core/CodeEmitter;
            0    8     1      block  Lnet/sf/cglib/core/Block;
            0    8     2  exception  Lorg/objectweb/asm/Type;
    MethodParameters:
           Name  Flags
      block      
      exception  

  public void goTo(org.objectweb.asm.Label);
    descriptor: (Lorg/objectweb/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Label label
         0: .line 155
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 167
            aload 1 /* label */
            invokevirtual org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILorg/objectweb/asm/Label;)V
            return
        end local 1 // org.objectweb.asm.Label label
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    1     1  label  Lorg/objectweb/asm/Label;
    MethodParameters:
       Name  Flags
      label  

  public void ifnull(org.objectweb.asm.Label);
    descriptor: (Lorg/objectweb/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Label label
         0: .line 156
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 198
            aload 1 /* label */
            invokevirtual org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILorg/objectweb/asm/Label;)V
            return
        end local 1 // org.objectweb.asm.Label label
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    1     1  label  Lorg/objectweb/asm/Label;
    MethodParameters:
       Name  Flags
      label  

  public void ifnonnull(org.objectweb.asm.Label);
    descriptor: (Lorg/objectweb/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Label label
         0: .line 157
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 199
            aload 1 /* label */
            invokevirtual org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILorg/objectweb/asm/Label;)V
            return
        end local 1 // org.objectweb.asm.Label label
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    1     1  label  Lorg/objectweb/asm/Label;
    MethodParameters:
       Name  Flags
      label  

  public void if_jump(int, org.objectweb.asm.Label);
    descriptor: (ILorg/objectweb/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // int mode
        start local 2 // org.objectweb.asm.Label label
         0: .line 160
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            iload 1 /* mode */
            aload 2 /* label */
            invokevirtual org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILorg/objectweb/asm/Label;)V
         1: .line 161
            return
        end local 2 // org.objectweb.asm.Label label
        end local 1 // int mode
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1   mode  I
            0    2     2  label  Lorg/objectweb/asm/Label;
    MethodParameters:
       Name  Flags
      mode   
      label  

  public void if_icmp(int, org.objectweb.asm.Label);
    descriptor: (ILorg/objectweb/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // int mode
        start local 2 // org.objectweb.asm.Label label
         0: .line 164
            aload 0 /* this */
            getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
            iload 1 /* mode */
            aload 2 /* label */
            invokevirtual net.sf.cglib.core.CodeEmitter.if_cmp:(Lorg/objectweb/asm/Type;ILorg/objectweb/asm/Label;)V
         1: .line 165
            return
        end local 2 // org.objectweb.asm.Label label
        end local 1 // int mode
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1   mode  I
            0    2     2  label  Lorg/objectweb/asm/Label;
    MethodParameters:
       Name  Flags
      mode   
      label  

  public void if_cmp(org.objectweb.asm.Type, int, org.objectweb.asm.Label);
    descriptor: (Lorg/objectweb/asm/Type;ILorg/objectweb/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type type
        start local 2 // int mode
        start local 3 // org.objectweb.asm.Label label
         0: .line 168
            iconst_m1
            istore 4 /* intOp */
        start local 4 // int intOp
         1: .line 169
            iload 2 /* mode */
            istore 5 /* jumpmode */
        start local 5 // int jumpmode
         2: .line 170
            iload 2 /* mode */
            tableswitch { // 156 - 158
                  156: 3
                  157: 5
                  158: 4
              default: 5
          }
         3: .line 171
      StackMap locals: int int
      StackMap stack:
            sipush 155
            istore 5 /* jumpmode */
            goto 5
         4: .line 172
      StackMap locals:
      StackMap stack:
            sipush 157
            istore 5 /* jumpmode */
         5: .line 174
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokevirtual org.objectweb.asm.Type.getSort:()I
            tableswitch { // 6 - 10
                    6: 10
                    7: 6
                    8: 8
                    9: 12
                   10: 12
              default: 18
          }
         6: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 148
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         7: .line 177
            goto 27
         8: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 152
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         9: .line 180
            goto 27
        10: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 150
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        11: .line 183
            goto 27
        12: .line 186
      StackMap locals:
      StackMap stack:
            iload 2 /* mode */
            tableswitch { // 153 - 154
                  153: 13
                  154: 15
              default: 17
          }
        13: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 165
            aload 3 /* label */
            invokevirtual org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILorg/objectweb/asm/Label;)V
        14: .line 189
            return
        15: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 166
            aload 3 /* label */
            invokevirtual org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILorg/objectweb/asm/Label;)V
        16: .line 192
            return
        17: .line 194
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad comparison for 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
        18: .line 196
      StackMap locals:
      StackMap stack:
            iload 2 /* mode */
            tableswitch { // 153 - 158
                  153: 19
                  154: 20
                  155: 22
                  156: 21
                  157: 24
                  158: 23
              default: 25
          }
        19: .line 197
      StackMap locals:
      StackMap stack:
            sipush 159
            istore 4 /* intOp */
            goto 25
        20: .line 198
      StackMap locals:
      StackMap stack:
            sipush 160
            istore 4 /* intOp */
            goto 25
        21: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.swap:()V
        22: .line 200
      StackMap locals:
      StackMap stack:
            sipush 161
            istore 4 /* intOp */
            goto 25
        23: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.swap:()V
        24: .line 202
      StackMap locals:
      StackMap stack:
            sipush 163
            istore 4 /* intOp */
        25: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            iload 4 /* intOp */
            aload 3 /* label */
            invokevirtual org.objectweb.asm.MethodVisitor.visitJumpInsn:(ILorg/objectweb/asm/Label;)V
        26: .line 205
            return
        27: .line 207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* jumpmode */
            aload 3 /* label */
            invokevirtual net.sf.cglib.core.CodeEmitter.if_jump:(ILorg/objectweb/asm/Label;)V
        28: .line 208
            return
        end local 5 // int jumpmode
        end local 4 // int intOp
        end local 3 // org.objectweb.asm.Label label
        end local 2 // int mode
        end local 1 // org.objectweb.asm.Type type
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   29     0      this  Lnet/sf/cglib/core/CodeEmitter;
            0   29     1      type  Lorg/objectweb/asm/Type;
            0   29     2      mode  I
            0   29     3     label  Lorg/objectweb/asm/Label;
            1   29     4     intOp  I
            2   29     5  jumpmode  I
    MethodParameters:
       Name  Flags
      type   
      mode   
      label  

  public void pop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 210
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            bipush 87
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void pop2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 211
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            bipush 88
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void dup();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 212
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            bipush 89
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void dup2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 213
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            bipush 92
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void dup_x1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 214
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            bipush 90
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void dup_x2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 215
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            bipush 91
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void dup2_x1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 216
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            bipush 93
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void dup2_x2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 217
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            bipush 94
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void swap();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 218
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            bipush 95
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void aconst_null();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 219
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            iconst_1
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void swap(org.objectweb.asm.Type, org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type prev
        start local 2 // org.objectweb.asm.Type type
         0: .line 222
            aload 2 /* type */
            invokevirtual org.objectweb.asm.Type.getSize:()I
            iconst_1
            if_icmpne 7
         1: .line 223
            aload 1 /* prev */
            invokevirtual org.objectweb.asm.Type.getSize:()I
            iconst_1
            if_icmpne 4
         2: .line 224
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.swap:()V
         3: .line 225
            goto 13
         4: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.dup_x2:()V
         5: .line 227
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.pop:()V
         6: .line 229
            goto 13
         7: .line 230
      StackMap locals:
      StackMap stack:
            aload 1 /* prev */
            invokevirtual org.objectweb.asm.Type.getSize:()I
            iconst_1
            if_icmpne 11
         8: .line 231
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.dup2_x1:()V
         9: .line 232
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.pop2:()V
        10: .line 233
            goto 13
        11: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.dup2_x2:()V
        12: .line 235
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.pop2:()V
        13: .line 238
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.objectweb.asm.Type type
        end local 1 // org.objectweb.asm.Type prev
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0   14     1  prev  Lorg/objectweb/asm/Type;
            0   14     2  type  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      prev  
      type  

  public void monitorenter();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 240
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 194
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void monitorexit();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 241
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 195
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void math(int, org.objectweb.asm.Type);
    descriptor: (ILorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // int op
        start local 2 // org.objectweb.asm.Type type
         0: .line 243
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            aload 2 /* type */
            iload 1 /* op */
            invokevirtual org.objectweb.asm.Type.getOpcode:(I)I
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 2 // org.objectweb.asm.Type type
        end local 1 // int op
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    1     1    op  I
            0    1     2  type  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      op    
      type  

  public void array_load(org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type type
         0: .line 245
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            aload 1 /* type */
            bipush 46
            invokevirtual org.objectweb.asm.Type.getOpcode:(I)I
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 1 // org.objectweb.asm.Type type
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    1     1  type  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      type  

  public void array_store(org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type type
         0: .line 246
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            aload 1 /* type */
            bipush 79
            invokevirtual org.objectweb.asm.Type.getOpcode:(I)I
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 1 // org.objectweb.asm.Type type
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    1     1  type  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      type  

  public void cast_numeric(org.objectweb.asm.Type, org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type from
        start local 2 // org.objectweb.asm.Type to
         0: .line 252
            aload 1 /* from */
            aload 2 /* to */
            if_acmpeq 48
         1: .line 253
            aload 1 /* from */
            getstatic org.objectweb.asm.Type.DOUBLE_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 11
         2: .line 254
            aload 2 /* to */
            getstatic org.objectweb.asm.Type.FLOAT_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 5
         3: .line 255
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 144
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         4: .line 256
            goto 48
      StackMap locals:
      StackMap stack:
         5: aload 2 /* to */
            getstatic org.objectweb.asm.Type.LONG_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 8
         6: .line 257
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 143
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         7: .line 258
            goto 48
         8: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 142
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         9: .line 260
            aload 0 /* this */
            getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
            aload 2 /* to */
            invokevirtual net.sf.cglib.core.CodeEmitter.cast_numeric:(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Type;)V
        10: .line 262
            goto 48
      StackMap locals:
      StackMap stack:
        11: aload 1 /* from */
            getstatic org.objectweb.asm.Type.FLOAT_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 21
        12: .line 263
            aload 2 /* to */
            getstatic org.objectweb.asm.Type.DOUBLE_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 15
        13: .line 264
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 141
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        14: .line 265
            goto 48
      StackMap locals:
      StackMap stack:
        15: aload 2 /* to */
            getstatic org.objectweb.asm.Type.LONG_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 18
        16: .line 266
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 140
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        17: .line 267
            goto 48
        18: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 139
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        19: .line 269
            aload 0 /* this */
            getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
            aload 2 /* to */
            invokevirtual net.sf.cglib.core.CodeEmitter.cast_numeric:(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Type;)V
        20: .line 271
            goto 48
      StackMap locals:
      StackMap stack:
        21: aload 1 /* from */
            getstatic org.objectweb.asm.Type.LONG_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 31
        22: .line 272
            aload 2 /* to */
            getstatic org.objectweb.asm.Type.DOUBLE_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 25
        23: .line 273
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 138
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        24: .line 274
            goto 48
      StackMap locals:
      StackMap stack:
        25: aload 2 /* to */
            getstatic org.objectweb.asm.Type.FLOAT_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 28
        26: .line 275
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 137
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        27: .line 276
            goto 48
        28: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 136
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        29: .line 278
            aload 0 /* this */
            getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
            aload 2 /* to */
            invokevirtual net.sf.cglib.core.CodeEmitter.cast_numeric:(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Type;)V
        30: .line 280
            goto 48
        31: .line 281
      StackMap locals:
      StackMap stack:
            aload 2 /* to */
            getstatic org.objectweb.asm.Type.BYTE_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 34
        32: .line 282
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 145
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        33: .line 283
            goto 48
      StackMap locals:
      StackMap stack:
        34: aload 2 /* to */
            getstatic org.objectweb.asm.Type.CHAR_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 37
        35: .line 284
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 146
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        36: .line 285
            goto 48
      StackMap locals:
      StackMap stack:
        37: aload 2 /* to */
            getstatic org.objectweb.asm.Type.DOUBLE_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 40
        38: .line 286
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 135
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        39: .line 287
            goto 48
      StackMap locals:
      StackMap stack:
        40: aload 2 /* to */
            getstatic org.objectweb.asm.Type.FLOAT_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 43
        41: .line 288
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 134
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        42: .line 289
            goto 48
      StackMap locals:
      StackMap stack:
        43: aload 2 /* to */
            getstatic org.objectweb.asm.Type.LONG_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 46
        44: .line 290
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 133
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        45: .line 291
            goto 48
      StackMap locals:
      StackMap stack:
        46: aload 2 /* to */
            getstatic org.objectweb.asm.Type.SHORT_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 48
        47: .line 292
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 147
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        48: .line 296
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.objectweb.asm.Type to
        end local 1 // org.objectweb.asm.Type from
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   49     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0   49     1  from  Lorg/objectweb/asm/Type;
            0   49     2    to  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      from  
      to    

  public void push(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // int i
         0: .line 299
            iload 1 /* i */
            iconst_m1
            if_icmpge 3
         1: .line 300
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            new java.lang.Integer
            dup
            iload 1 /* i */
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
         2: .line 301
            goto 13
      StackMap locals:
      StackMap stack:
         3: iload 1 /* i */
            iconst_5
            if_icmpgt 6
         4: .line 302
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            iload 1 /* i */
            invokestatic net.sf.cglib.core.TypeUtils.ICONST:(I)I
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         5: .line 303
            goto 13
      StackMap locals:
      StackMap stack:
         6: iload 1 /* i */
            bipush 127
            if_icmpgt 9
         7: .line 304
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            bipush 16
            iload 1 /* i */
            invokevirtual org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
         8: .line 305
            goto 13
      StackMap locals:
      StackMap stack:
         9: iload 1 /* i */
            sipush 32767
            if_icmpgt 12
        10: .line 306
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            bipush 17
            iload 1 /* i */
            invokevirtual org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
        11: .line 307
            goto 13
        12: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            new java.lang.Integer
            dup
            iload 1 /* i */
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
        13: .line 310
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int i
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0   14     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public void push(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // long value
         0: .line 313
            lload 1 /* value */
            lconst_0
            lcmp
            ifeq 1
            lload 1 /* value */
            lconst_1
            lcmp
            ifne 3
         1: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            lload 1 /* value */
            invokestatic net.sf.cglib.core.TypeUtils.LCONST:(J)I
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         2: .line 315
            goto 4
         3: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            new java.lang.Long
            dup
            lload 1 /* value */
            invokespecial java.lang.Long.<init>:(J)V
            invokevirtual org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
         4: .line 318
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long value
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    5     1  value  J
    MethodParameters:
       Name  Flags
      value  

  public void push(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // float value
         0: .line 321
            fload 1 /* value */
            fconst_0
            fcmpl
            ifeq 1
            fload 1 /* value */
            fconst_1
            fcmpl
            ifeq 1
            fload 1 /* value */
            fconst_2
            fcmpl
            ifne 3
         1: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            fload 1 /* value */
            invokestatic net.sf.cglib.core.TypeUtils.FCONST:(F)I
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         2: .line 323
            goto 4
         3: .line 324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            new java.lang.Float
            dup
            fload 1 /* value */
            invokespecial java.lang.Float.<init>:(F)V
            invokevirtual org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
         4: .line 326
      StackMap locals:
      StackMap stack:
            return
        end local 1 // float value
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    5     1  value  F
    MethodParameters:
       Name  Flags
      value  

  public void push(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // double value
         0: .line 328
            dload 1 /* value */
            dconst_0
            dcmpl
            ifeq 1
            dload 1 /* value */
            dconst_1
            dcmpl
            ifne 3
         1: .line 329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            dload 1 /* value */
            invokestatic net.sf.cglib.core.TypeUtils.DCONST:(D)I
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         2: .line 330
            goto 4
         3: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            new java.lang.Double
            dup
            dload 1 /* value */
            invokespecial java.lang.Double.<init>:(D)V
            invokevirtual org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
         4: .line 333
      StackMap locals:
      StackMap stack:
            return
        end local 1 // double value
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    5     1  value  D
    MethodParameters:
       Name  Flags
      value  

  public void push(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // java.lang.String value
         0: .line 336
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            aload 1 /* value */
            invokevirtual org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
         1: .line 337
            return
        end local 1 // java.lang.String value
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  public void newarray();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 340
            aload 0 /* this */
            getstatic net.sf.cglib.core.Constants.TYPE_OBJECT:Lorg/objectweb/asm/Type;
            invokevirtual net.sf.cglib.core.CodeEmitter.newarray:(Lorg/objectweb/asm/Type;)V
         1: .line 341
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void newarray(org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type type
         0: .line 344
            aload 1 /* type */
            invokestatic net.sf.cglib.core.TypeUtils.isPrimitive:(Lorg/objectweb/asm/Type;)Z
            ifeq 3
         1: .line 345
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 188
            aload 1 /* type */
            invokestatic net.sf.cglib.core.TypeUtils.NEWARRAY:(Lorg/objectweb/asm/Type;)I
            invokevirtual org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
         2: .line 346
            goto 4
         3: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 189
            aload 1 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_type:(ILorg/objectweb/asm/Type;)V
         4: .line 349
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.objectweb.asm.Type type
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    5     1  type  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      type  

  public void arraylength();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 352
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 190
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         1: .line 353
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void load_this();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 356
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            getfield net.sf.cglib.core.CodeEmitter$State.access:I
            invokestatic net.sf.cglib.core.TypeUtils.isStatic:(I)Z
            ifeq 2
         1: .line 357
            new java.lang.IllegalStateException
            dup
            ldc "no 'this' pointer within static method"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            bipush 25
            iconst_0
            invokevirtual org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
         3: .line 360
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void load_args();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 366
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            getfield net.sf.cglib.core.CodeEmitter$State.argumentTypes:[Lorg/objectweb/asm/Type;
            arraylength
            invokevirtual net.sf.cglib.core.CodeEmitter.load_args:(II)V
         1: .line 367
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void load_arg(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // int index
         0: .line 374
            aload 0 /* this */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            getfield net.sf.cglib.core.CodeEmitter$State.argumentTypes:[Lorg/objectweb/asm/Type;
            iload 1 /* index */
            aaload
         1: .line 375
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            getfield net.sf.cglib.core.CodeEmitter$State.localOffset:I
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual net.sf.cglib.core.CodeEmitter.skipArgs:(I)I
            iadd
         2: .line 374
            invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lorg/objectweb/asm/Type;I)V
         3: .line 376
            return
        end local 1 // int index
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    4     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public void load_args(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // int fromArg
        start local 2 // int count
         0: .line 380
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            getfield net.sf.cglib.core.CodeEmitter$State.localOffset:I
            aload 0 /* this */
            iload 1 /* fromArg */
            invokevirtual net.sf.cglib.core.CodeEmitter.skipArgs:(I)I
            iadd
            istore 3 /* pos */
        start local 3 // int pos
         1: .line 381
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 7
         3: .line 382
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            getfield net.sf.cglib.core.CodeEmitter$State.argumentTypes:[Lorg/objectweb/asm/Type;
            iload 1 /* fromArg */
            iload 4 /* i */
            iadd
            aaload
            astore 5 /* t */
        start local 5 // org.objectweb.asm.Type t
         4: .line 383
            aload 0 /* this */
            aload 5 /* t */
            iload 3 /* pos */
            invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lorg/objectweb/asm/Type;I)V
         5: .line 384
            iload 3 /* pos */
            aload 5 /* t */
            invokevirtual org.objectweb.asm.Type.getSize:()I
            iadd
            istore 3 /* pos */
        end local 5 // org.objectweb.asm.Type t
         6: .line 381
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 2 /* count */
            if_icmplt 3
        end local 4 // int i
         8: .line 386
            return
        end local 3 // int pos
        end local 2 // int count
        end local 1 // int fromArg
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lnet/sf/cglib/core/CodeEmitter;
            0    9     1  fromArg  I
            0    9     2    count  I
            1    9     3      pos  I
            2    8     4        i  I
            4    6     5        t  Lorg/objectweb/asm/Type;
    MethodParameters:
         Name  Flags
      fromArg  
      count    

  private int skipArgs(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // int numArgs
         0: .line 389
            iconst_0
            istore 2 /* amount */
        start local 2 // int amount
         1: .line 390
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 391
      StackMap locals: int int
      StackMap stack:
            iload 2 /* amount */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            getfield net.sf.cglib.core.CodeEmitter$State.argumentTypes:[Lorg/objectweb/asm/Type;
            iload 3 /* i */
            aaload
            invokevirtual org.objectweb.asm.Type.getSize:()I
            iadd
            istore 2 /* amount */
         4: .line 390
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 1 /* numArgs */
            if_icmplt 3
        end local 3 // int i
         6: .line 393
            iload 2 /* amount */
            ireturn
        end local 2 // int amount
        end local 1 // int numArgs
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lnet/sf/cglib/core/CodeEmitter;
            0    7     1  numArgs  I
            1    7     2   amount  I
            2    6     3        i  I
    MethodParameters:
         Name  Flags
      numArgs  

  private void load_local(org.objectweb.asm.Type, int);
    descriptor: (Lorg/objectweb/asm/Type;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type t
        start local 2 // int pos
         0: .line 398
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            aload 1 /* t */
            bipush 21
            invokevirtual org.objectweb.asm.Type.getOpcode:(I)I
            iload 2 /* pos */
            invokevirtual org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
         1: .line 399
            return
        end local 2 // int pos
        end local 1 // org.objectweb.asm.Type t
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1     t  Lorg/objectweb/asm/Type;
            0    2     2   pos  I
    MethodParameters:
      Name  Flags
      t     
      pos   

  private void store_local(org.objectweb.asm.Type, int);
    descriptor: (Lorg/objectweb/asm/Type;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type t
        start local 2 // int pos
         0: .line 403
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            aload 1 /* t */
            bipush 54
            invokevirtual org.objectweb.asm.Type.getOpcode:(I)I
            iload 2 /* pos */
            invokevirtual org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
         1: .line 404
            return
        end local 2 // int pos
        end local 1 // org.objectweb.asm.Type t
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1     t  Lorg/objectweb/asm/Type;
            0    2     2   pos  I
    MethodParameters:
      Name  Flags
      t     
      pos   

  public void iinc(net.sf.cglib.core.Local, int);
    descriptor: (Lnet/sf/cglib/core/Local;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // net.sf.cglib.core.Local local
        start local 2 // int amount
         0: .line 407
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            aload 1 /* local */
            invokevirtual net.sf.cglib.core.Local.getIndex:()I
            iload 2 /* amount */
            invokevirtual org.objectweb.asm.MethodVisitor.visitIincInsn:(II)V
         1: .line 408
            return
        end local 2 // int amount
        end local 1 // net.sf.cglib.core.Local local
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1   local  Lnet/sf/cglib/core/Local;
            0    2     2  amount  I
    MethodParameters:
        Name  Flags
      local   
      amount  

  public void store_local(net.sf.cglib.core.Local);
    descriptor: (Lnet/sf/cglib/core/Local;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // net.sf.cglib.core.Local local
         0: .line 411
            aload 0 /* this */
            aload 1 /* local */
            invokevirtual net.sf.cglib.core.Local.getType:()Lorg/objectweb/asm/Type;
            aload 1 /* local */
            invokevirtual net.sf.cglib.core.Local.getIndex:()I
            invokevirtual net.sf.cglib.core.CodeEmitter.store_local:(Lorg/objectweb/asm/Type;I)V
         1: .line 412
            return
        end local 1 // net.sf.cglib.core.Local local
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  local  Lnet/sf/cglib/core/Local;
    MethodParameters:
       Name  Flags
      local  

  public void load_local(net.sf.cglib.core.Local);
    descriptor: (Lnet/sf/cglib/core/Local;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // net.sf.cglib.core.Local local
         0: .line 415
            aload 0 /* this */
            aload 1 /* local */
            invokevirtual net.sf.cglib.core.Local.getType:()Lorg/objectweb/asm/Type;
            aload 1 /* local */
            invokevirtual net.sf.cglib.core.Local.getIndex:()I
            invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lorg/objectweb/asm/Type;I)V
         1: .line 416
            return
        end local 1 // net.sf.cglib.core.Local local
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  local  Lnet/sf/cglib/core/Local;
    MethodParameters:
       Name  Flags
      local  

  public void return_value();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 419
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            getfield net.sf.cglib.core.CodeEmitter$State.sig:Lnet/sf/cglib/core/Signature;
            invokevirtual net.sf.cglib.core.Signature.getReturnType:()Lorg/objectweb/asm/Type;
            sipush 172
            invokevirtual org.objectweb.asm.Type.getOpcode:(I)I
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         1: .line 420
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void getfield(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // java.lang.String name
         0: .line 423
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            aload 1 /* name */
            invokevirtual net.sf.cglib.core.ClassEmitter.getFieldInfo:(Ljava/lang/String;)Lnet/sf/cglib/core/ClassEmitter$FieldInfo;
            astore 2 /* info */
        start local 2 // net.sf.cglib.core.ClassEmitter$FieldInfo info
         1: .line 424
            aload 2 /* info */
            getfield net.sf.cglib.core.ClassEmitter$FieldInfo.access:I
            invokestatic net.sf.cglib.core.TypeUtils.isStatic:(I)Z
            ifeq 2
            sipush 178
            goto 3
      StackMap locals: net.sf.cglib.core.ClassEmitter$FieldInfo
      StackMap stack:
         2: sipush 180
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* opcode */
        start local 3 // int opcode
         4: .line 425
            aload 0 /* this */
            iload 3 /* opcode */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getClassType:()Lorg/objectweb/asm/Type;
            aload 1 /* name */
            aload 2 /* info */
            getfield net.sf.cglib.core.ClassEmitter$FieldInfo.type:Lorg/objectweb/asm/Type;
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_field:(ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
         5: .line 426
            return
        end local 3 // int opcode
        end local 2 // net.sf.cglib.core.ClassEmitter$FieldInfo info
        end local 1 // java.lang.String name
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lnet/sf/cglib/core/CodeEmitter;
            0    6     1    name  Ljava/lang/String;
            1    6     2    info  Lnet/sf/cglib/core/ClassEmitter$FieldInfo;
            4    6     3  opcode  I
    MethodParameters:
      Name  Flags
      name  

  public void putfield(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // java.lang.String name
         0: .line 429
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            aload 1 /* name */
            invokevirtual net.sf.cglib.core.ClassEmitter.getFieldInfo:(Ljava/lang/String;)Lnet/sf/cglib/core/ClassEmitter$FieldInfo;
            astore 2 /* info */
        start local 2 // net.sf.cglib.core.ClassEmitter$FieldInfo info
         1: .line 430
            aload 2 /* info */
            getfield net.sf.cglib.core.ClassEmitter$FieldInfo.access:I
            invokestatic net.sf.cglib.core.TypeUtils.isStatic:(I)Z
            ifeq 2
            sipush 179
            goto 3
      StackMap locals: net.sf.cglib.core.ClassEmitter$FieldInfo
      StackMap stack:
         2: sipush 181
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* opcode */
        start local 3 // int opcode
         4: .line 431
            aload 0 /* this */
            iload 3 /* opcode */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getClassType:()Lorg/objectweb/asm/Type;
            aload 1 /* name */
            aload 2 /* info */
            getfield net.sf.cglib.core.ClassEmitter$FieldInfo.type:Lorg/objectweb/asm/Type;
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_field:(ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
         5: .line 432
            return
        end local 3 // int opcode
        end local 2 // net.sf.cglib.core.ClassEmitter$FieldInfo info
        end local 1 // java.lang.String name
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lnet/sf/cglib/core/CodeEmitter;
            0    6     1    name  Ljava/lang/String;
            1    6     2    info  Lnet/sf/cglib/core/ClassEmitter$FieldInfo;
            4    6     3  opcode  I
    MethodParameters:
      Name  Flags
      name  

  public void super_getfield(java.lang.String, org.objectweb.asm.Type);
    descriptor: (Ljava/lang/String;Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // java.lang.String name
        start local 2 // org.objectweb.asm.Type type
         0: .line 435
            aload 0 /* this */
            sipush 180
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getSuperType:()Lorg/objectweb/asm/Type;
            aload 1 /* name */
            aload 2 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_field:(ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
         1: .line 436
            return
        end local 2 // org.objectweb.asm.Type type
        end local 1 // java.lang.String name
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  name  Ljava/lang/String;
            0    2     2  type  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      name  
      type  

  public void super_putfield(java.lang.String, org.objectweb.asm.Type);
    descriptor: (Ljava/lang/String;Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // java.lang.String name
        start local 2 // org.objectweb.asm.Type type
         0: .line 439
            aload 0 /* this */
            sipush 181
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getSuperType:()Lorg/objectweb/asm/Type;
            aload 1 /* name */
            aload 2 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_field:(ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
         1: .line 440
            return
        end local 2 // org.objectweb.asm.Type type
        end local 1 // java.lang.String name
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  name  Ljava/lang/String;
            0    2     2  type  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      name  
      type  

  public void super_getstatic(java.lang.String, org.objectweb.asm.Type);
    descriptor: (Ljava/lang/String;Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // java.lang.String name
        start local 2 // org.objectweb.asm.Type type
         0: .line 443
            aload 0 /* this */
            sipush 178
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getSuperType:()Lorg/objectweb/asm/Type;
            aload 1 /* name */
            aload 2 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_field:(ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
         1: .line 444
            return
        end local 2 // org.objectweb.asm.Type type
        end local 1 // java.lang.String name
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  name  Ljava/lang/String;
            0    2     2  type  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      name  
      type  

  public void super_putstatic(java.lang.String, org.objectweb.asm.Type);
    descriptor: (Ljava/lang/String;Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // java.lang.String name
        start local 2 // org.objectweb.asm.Type type
         0: .line 447
            aload 0 /* this */
            sipush 179
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getSuperType:()Lorg/objectweb/asm/Type;
            aload 1 /* name */
            aload 2 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_field:(ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
         1: .line 448
            return
        end local 2 // org.objectweb.asm.Type type
        end local 1 // java.lang.String name
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  name  Ljava/lang/String;
            0    2     2  type  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      name  
      type  

  public void getfield(org.objectweb.asm.Type, java.lang.String, org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type owner
        start local 2 // java.lang.String name
        start local 3 // org.objectweb.asm.Type type
         0: .line 451
            aload 0 /* this */
            sipush 180
            aload 1 /* owner */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_field:(ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
         1: .line 452
            return
        end local 3 // org.objectweb.asm.Type type
        end local 2 // java.lang.String name
        end local 1 // org.objectweb.asm.Type owner
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  owner  Lorg/objectweb/asm/Type;
            0    2     2   name  Ljava/lang/String;
            0    2     3   type  Lorg/objectweb/asm/Type;
    MethodParameters:
       Name  Flags
      owner  
      name   
      type   

  public void putfield(org.objectweb.asm.Type, java.lang.String, org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type owner
        start local 2 // java.lang.String name
        start local 3 // org.objectweb.asm.Type type
         0: .line 455
            aload 0 /* this */
            sipush 181
            aload 1 /* owner */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_field:(ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
         1: .line 456
            return
        end local 3 // org.objectweb.asm.Type type
        end local 2 // java.lang.String name
        end local 1 // org.objectweb.asm.Type owner
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  owner  Lorg/objectweb/asm/Type;
            0    2     2   name  Ljava/lang/String;
            0    2     3   type  Lorg/objectweb/asm/Type;
    MethodParameters:
       Name  Flags
      owner  
      name   
      type   

  public void getstatic(org.objectweb.asm.Type, java.lang.String, org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type owner
        start local 2 // java.lang.String name
        start local 3 // org.objectweb.asm.Type type
         0: .line 459
            aload 0 /* this */
            sipush 178
            aload 1 /* owner */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_field:(ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
         1: .line 460
            return
        end local 3 // org.objectweb.asm.Type type
        end local 2 // java.lang.String name
        end local 1 // org.objectweb.asm.Type owner
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  owner  Lorg/objectweb/asm/Type;
            0    2     2   name  Ljava/lang/String;
            0    2     3   type  Lorg/objectweb/asm/Type;
    MethodParameters:
       Name  Flags
      owner  
      name   
      type   

  public void putstatic(org.objectweb.asm.Type, java.lang.String, org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type owner
        start local 2 // java.lang.String name
        start local 3 // org.objectweb.asm.Type type
         0: .line 463
            aload 0 /* this */
            sipush 179
            aload 1 /* owner */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_field:(ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
         1: .line 464
            return
        end local 3 // org.objectweb.asm.Type type
        end local 2 // java.lang.String name
        end local 1 // org.objectweb.asm.Type owner
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  owner  Lorg/objectweb/asm/Type;
            0    2     2   name  Ljava/lang/String;
            0    2     3   type  Lorg/objectweb/asm/Type;
    MethodParameters:
       Name  Flags
      owner  
      name   
      type   

  void emit_field(int, org.objectweb.asm.Type, java.lang.String, org.objectweb.asm.Type);
    descriptor: (ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // int opcode
        start local 2 // org.objectweb.asm.Type ctype
        start local 3 // java.lang.String name
        start local 4 // org.objectweb.asm.Type ftype
         0: .line 468
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            iload 1 /* opcode */
         1: .line 469
            aload 2 /* ctype */
            invokevirtual org.objectweb.asm.Type.getInternalName:()Ljava/lang/String;
         2: .line 470
            aload 3 /* name */
         3: .line 471
            aload 4 /* ftype */
            invokevirtual org.objectweb.asm.Type.getDescriptor:()Ljava/lang/String;
         4: .line 468
            invokevirtual org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 472
            return
        end local 4 // org.objectweb.asm.Type ftype
        end local 3 // java.lang.String name
        end local 2 // org.objectweb.asm.Type ctype
        end local 1 // int opcode
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lnet/sf/cglib/core/CodeEmitter;
            0    6     1  opcode  I
            0    6     2   ctype  Lorg/objectweb/asm/Type;
            0    6     3    name  Ljava/lang/String;
            0    6     4   ftype  Lorg/objectweb/asm/Type;
    MethodParameters:
        Name  Flags
      opcode  
      ctype   
      name    
      ftype   

  public void super_invoke();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 475
            aload 0 /* this */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            getfield net.sf.cglib.core.CodeEmitter$State.sig:Lnet/sf/cglib/core/Signature;
            invokevirtual net.sf.cglib.core.CodeEmitter.super_invoke:(Lnet/sf/cglib/core/Signature;)V
         1: .line 476
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void super_invoke(net.sf.cglib.core.Signature);
    descriptor: (Lnet/sf/cglib/core/Signature;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // net.sf.cglib.core.Signature sig
         0: .line 479
            aload 0 /* this */
            sipush 183
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getSuperType:()Lorg/objectweb/asm/Type;
            aload 1 /* sig */
            iconst_0
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_invoke:(ILorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;Z)V
         1: .line 480
            return
        end local 1 // net.sf.cglib.core.Signature sig
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1   sig  Lnet/sf/cglib/core/Signature;
    MethodParameters:
      Name  Flags
      sig   

  public void invoke_constructor(org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type type
         0: .line 483
            aload 0 /* this */
            aload 1 /* type */
            getstatic net.sf.cglib.core.CodeEmitter.CSTRUCT_NULL:Lnet/sf/cglib/core/Signature;
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_constructor:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
         1: .line 484
            return
        end local 1 // org.objectweb.asm.Type type
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  type  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      type  

  public void super_invoke_constructor();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 487
            aload 0 /* this */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getSuperType:()Lorg/objectweb/asm/Type;
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_constructor:(Lorg/objectweb/asm/Type;)V
         1: .line 488
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void invoke_constructor_this();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 491
            aload 0 /* this */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getClassType:()Lorg/objectweb/asm/Type;
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_constructor:(Lorg/objectweb/asm/Type;)V
         1: .line 492
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;

  private void emit_invoke(int, org.objectweb.asm.Type, net.sf.cglib.core.Signature, boolean);
    descriptor: (ILorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // int opcode
        start local 2 // org.objectweb.asm.Type type
        start local 3 // net.sf.cglib.core.Signature sig
        start local 4 // boolean isInterface
         0: .line 495
            aload 3 /* sig */
            invokevirtual net.sf.cglib.core.Signature.getName:()Ljava/lang/String;
            ldc "<init>"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 496
            iload 1 /* opcode */
            sipush 182
            if_icmpeq 2
         2: .line 500
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            iload 1 /* opcode */
         3: .line 501
            aload 2 /* type */
            invokevirtual org.objectweb.asm.Type.getInternalName:()Ljava/lang/String;
         4: .line 502
            aload 3 /* sig */
            invokevirtual net.sf.cglib.core.Signature.getName:()Ljava/lang/String;
         5: .line 503
            aload 3 /* sig */
            invokevirtual net.sf.cglib.core.Signature.getDescriptor:()Ljava/lang/String;
         6: .line 504
            iload 4 /* isInterface */
         7: .line 500
            invokevirtual org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         8: .line 505
            return
        end local 4 // boolean isInterface
        end local 3 // net.sf.cglib.core.Signature sig
        end local 2 // org.objectweb.asm.Type type
        end local 1 // int opcode
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lnet/sf/cglib/core/CodeEmitter;
            0    9     1       opcode  I
            0    9     2         type  Lorg/objectweb/asm/Type;
            0    9     3          sig  Lnet/sf/cglib/core/Signature;
            0    9     4  isInterface  Z
    MethodParameters:
             Name  Flags
      opcode       
      type         
      sig          
      isInterface  

  public void invoke_interface(org.objectweb.asm.Type, net.sf.cglib.core.Signature);
    descriptor: (Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type owner
        start local 2 // net.sf.cglib.core.Signature sig
         0: .line 508
            aload 0 /* this */
            sipush 185
            aload 1 /* owner */
            aload 2 /* sig */
            iconst_1
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_invoke:(ILorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;Z)V
         1: .line 509
            return
        end local 2 // net.sf.cglib.core.Signature sig
        end local 1 // org.objectweb.asm.Type owner
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  owner  Lorg/objectweb/asm/Type;
            0    2     2    sig  Lnet/sf/cglib/core/Signature;
    MethodParameters:
       Name  Flags
      owner  
      sig    

  public void invoke_virtual(org.objectweb.asm.Type, net.sf.cglib.core.Signature);
    descriptor: (Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type owner
        start local 2 // net.sf.cglib.core.Signature sig
         0: .line 512
            aload 0 /* this */
            sipush 182
            aload 1 /* owner */
            aload 2 /* sig */
            iconst_0
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_invoke:(ILorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;Z)V
         1: .line 513
            return
        end local 2 // net.sf.cglib.core.Signature sig
        end local 1 // org.objectweb.asm.Type owner
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  owner  Lorg/objectweb/asm/Type;
            0    2     2    sig  Lnet/sf/cglib/core/Signature;
    MethodParameters:
       Name  Flags
      owner  
      sig    

  public void invoke_static(org.objectweb.asm.Type, net.sf.cglib.core.Signature);
    descriptor: (Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type owner
        start local 2 // net.sf.cglib.core.Signature sig
         0: .line 517
            aload 0 /* this */
            aload 1 /* owner */
            aload 2 /* sig */
            iconst_0
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_static:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;Z)V
         1: .line 518
            return
        end local 2 // net.sf.cglib.core.Signature sig
        end local 1 // org.objectweb.asm.Type owner
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  owner  Lorg/objectweb/asm/Type;
            0    2     2    sig  Lnet/sf/cglib/core/Signature;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      owner  
      sig    

  public void invoke_static(org.objectweb.asm.Type, net.sf.cglib.core.Signature, boolean);
    descriptor: (Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type owner
        start local 2 // net.sf.cglib.core.Signature sig
        start local 3 // boolean isInterface
         0: .line 521
            aload 0 /* this */
            sipush 184
            aload 1 /* owner */
            aload 2 /* sig */
            iload 3 /* isInterface */
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_invoke:(ILorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;Z)V
         1: .line 522
            return
        end local 3 // boolean isInterface
        end local 2 // net.sf.cglib.core.Signature sig
        end local 1 // org.objectweb.asm.Type owner
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1        owner  Lorg/objectweb/asm/Type;
            0    2     2          sig  Lnet/sf/cglib/core/Signature;
            0    2     3  isInterface  Z
    MethodParameters:
             Name  Flags
      owner        
      sig          
      isInterface  

  public void invoke_virtual_this(net.sf.cglib.core.Signature);
    descriptor: (Lnet/sf/cglib/core/Signature;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // net.sf.cglib.core.Signature sig
         0: .line 525
            aload 0 /* this */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getClassType:()Lorg/objectweb/asm/Type;
            aload 1 /* sig */
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
         1: .line 526
            return
        end local 1 // net.sf.cglib.core.Signature sig
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1   sig  Lnet/sf/cglib/core/Signature;
    MethodParameters:
      Name  Flags
      sig   

  public void invoke_static_this(net.sf.cglib.core.Signature);
    descriptor: (Lnet/sf/cglib/core/Signature;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // net.sf.cglib.core.Signature sig
         0: .line 529
            aload 0 /* this */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getClassType:()Lorg/objectweb/asm/Type;
            aload 1 /* sig */
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_static:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
         1: .line 530
            return
        end local 1 // net.sf.cglib.core.Signature sig
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1   sig  Lnet/sf/cglib/core/Signature;
    MethodParameters:
      Name  Flags
      sig   

  public void invoke_constructor(org.objectweb.asm.Type, net.sf.cglib.core.Signature);
    descriptor: (Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type type
        start local 2 // net.sf.cglib.core.Signature sig
         0: .line 533
            aload 0 /* this */
            sipush 183
            aload 1 /* type */
            aload 2 /* sig */
            iconst_0
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_invoke:(ILorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;Z)V
         1: .line 534
            return
        end local 2 // net.sf.cglib.core.Signature sig
        end local 1 // org.objectweb.asm.Type type
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  type  Lorg/objectweb/asm/Type;
            0    2     2   sig  Lnet/sf/cglib/core/Signature;
    MethodParameters:
      Name  Flags
      type  
      sig   

  public void invoke_constructor_this(net.sf.cglib.core.Signature);
    descriptor: (Lnet/sf/cglib/core/Signature;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // net.sf.cglib.core.Signature sig
         0: .line 537
            aload 0 /* this */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getClassType:()Lorg/objectweb/asm/Type;
            aload 1 /* sig */
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_constructor:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
         1: .line 538
            return
        end local 1 // net.sf.cglib.core.Signature sig
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1   sig  Lnet/sf/cglib/core/Signature;
    MethodParameters:
      Name  Flags
      sig   

  public void super_invoke_constructor(net.sf.cglib.core.Signature);
    descriptor: (Lnet/sf/cglib/core/Signature;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // net.sf.cglib.core.Signature sig
         0: .line 541
            aload 0 /* this */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getSuperType:()Lorg/objectweb/asm/Type;
            aload 1 /* sig */
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_constructor:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
         1: .line 542
            return
        end local 1 // net.sf.cglib.core.Signature sig
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1   sig  Lnet/sf/cglib/core/Signature;
    MethodParameters:
      Name  Flags
      sig   

  public void new_instance_this();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 545
            aload 0 /* this */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getClassType:()Lorg/objectweb/asm/Type;
            invokevirtual net.sf.cglib.core.CodeEmitter.new_instance:(Lorg/objectweb/asm/Type;)V
         1: .line 546
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void new_instance(org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type type
         0: .line 549
            aload 0 /* this */
            sipush 187
            aload 1 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_type:(ILorg/objectweb/asm/Type;)V
         1: .line 550
            return
        end local 1 // org.objectweb.asm.Type type
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  type  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      type  

  private void emit_type(int, org.objectweb.asm.Type);
    descriptor: (ILorg/objectweb/asm/Type;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // int opcode
        start local 2 // org.objectweb.asm.Type type
         0: .line 554
            aload 2 /* type */
            invokestatic net.sf.cglib.core.TypeUtils.isArray:(Lorg/objectweb/asm/Type;)Z
            ifeq 3
         1: .line 555
            aload 2 /* type */
            invokevirtual org.objectweb.asm.Type.getDescriptor:()Ljava/lang/String;
            astore 3 /* desc */
        start local 3 // java.lang.String desc
         2: .line 556
            goto 4
        end local 3 // java.lang.String desc
         3: .line 557
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            invokevirtual org.objectweb.asm.Type.getInternalName:()Ljava/lang/String;
            astore 3 /* desc */
        start local 3 // java.lang.String desc
         4: .line 559
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            iload 1 /* opcode */
            aload 3 /* desc */
            invokevirtual org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
         5: .line 560
            return
        end local 3 // java.lang.String desc
        end local 2 // org.objectweb.asm.Type type
        end local 1 // int opcode
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lnet/sf/cglib/core/CodeEmitter;
            0    6     1  opcode  I
            0    6     2    type  Lorg/objectweb/asm/Type;
            2    3     3    desc  Ljava/lang/String;
            4    6     3    desc  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      opcode  
      type    

  public void aaload(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // int index
         0: .line 563
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
         1: .line 564
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.aaload:()V
         2: .line 565
            return
        end local 1 // int index
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    3     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public void aaload();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 567
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            bipush 50
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void aastore();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 568
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            bipush 83
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void athrow();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 569
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            sipush 191
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public org.objectweb.asm.Label make_label();
    descriptor: ()Lorg/objectweb/asm/Label;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 572
            new org.objectweb.asm.Label
            dup
            invokespecial org.objectweb.asm.Label.<init>:()V
            areturn
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public net.sf.cglib.core.Local make_local();
    descriptor: ()Lnet/sf/cglib/core/Local;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 576
            aload 0 /* this */
            getstatic net.sf.cglib.core.Constants.TYPE_OBJECT:Lorg/objectweb/asm/Type;
            invokevirtual net.sf.cglib.core.CodeEmitter.make_local:(Lorg/objectweb/asm/Type;)Lnet/sf/cglib/core/Local;
            areturn
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public net.sf.cglib.core.Local make_local(org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;)Lnet/sf/cglib/core/Local;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type type
         0: .line 580
            new net.sf.cglib.core.Local
            dup
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual org.objectweb.asm.Type.getSize:()I
            invokevirtual net.sf.cglib.core.CodeEmitter.newLocal:(I)I
            aload 1 /* type */
            invokespecial net.sf.cglib.core.Local.<init>:(ILorg/objectweb/asm/Type;)V
            areturn
        end local 1 // org.objectweb.asm.Type type
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    1     1  type  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      type  

  public void checkcast_this();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 584
            aload 0 /* this */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getClassType:()Lorg/objectweb/asm/Type;
            invokevirtual net.sf.cglib.core.CodeEmitter.checkcast:(Lorg/objectweb/asm/Type;)V
         1: .line 585
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void checkcast(org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type type
         0: .line 588
            aload 1 /* type */
            getstatic net.sf.cglib.core.Constants.TYPE_OBJECT:Lorg/objectweb/asm/Type;
            invokevirtual org.objectweb.asm.Type.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 589
            aload 0 /* this */
            sipush 192
            aload 1 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_type:(ILorg/objectweb/asm/Type;)V
         2: .line 591
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.objectweb.asm.Type type
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    3     1  type  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      type  

  public void instance_of(org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type type
         0: .line 594
            aload 0 /* this */
            sipush 193
            aload 1 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.emit_type:(ILorg/objectweb/asm/Type;)V
         1: .line 595
            return
        end local 1 // org.objectweb.asm.Type type
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  type  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      type  

  public void instance_of_this();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 598
            aload 0 /* this */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.ce:Lnet/sf/cglib/core/ClassEmitter;
            invokevirtual net.sf.cglib.core.ClassEmitter.getClassType:()Lorg/objectweb/asm/Type;
            invokevirtual net.sf.cglib.core.CodeEmitter.instance_of:(Lorg/objectweb/asm/Type;)V
         1: .line 599
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void process_switch(int[], net.sf.cglib.core.ProcessSwitchCallback);
    descriptor: ([ILnet/sf/cglib/core/ProcessSwitchCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // int[] keys
        start local 2 // net.sf.cglib.core.ProcessSwitchCallback callback
         0: .line 603
            aload 1 /* keys */
            arraylength
            ifne 3
         1: .line 604
            fconst_0
            fstore 3 /* density */
        start local 3 // float density
         2: .line 605
            goto 4
        end local 3 // float density
         3: .line 606
      StackMap locals:
      StackMap stack:
            aload 1 /* keys */
            arraylength
            i2f
            aload 1 /* keys */
            aload 1 /* keys */
            arraylength
            iconst_1
            isub
            iaload
            aload 1 /* keys */
            iconst_0
            iaload
            isub
            iconst_1
            iadd
            i2f
            fdiv
            fstore 3 /* density */
        start local 3 // float density
         4: .line 608
      StackMap locals: float
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keys */
            aload 2 /* callback */
            fload 3 /* density */
            ldc 0.5
            fcmpl
            iflt 5
            iconst_1
            goto 6
      StackMap locals: net.sf.cglib.core.CodeEmitter int[] net.sf.cglib.core.ProcessSwitchCallback float
      StackMap stack: net.sf.cglib.core.CodeEmitter int[] net.sf.cglib.core.ProcessSwitchCallback
         5: iconst_0
      StackMap locals: net.sf.cglib.core.CodeEmitter int[] net.sf.cglib.core.ProcessSwitchCallback float
      StackMap stack: net.sf.cglib.core.CodeEmitter int[] net.sf.cglib.core.ProcessSwitchCallback int
         6: invokevirtual net.sf.cglib.core.CodeEmitter.process_switch:([ILnet/sf/cglib/core/ProcessSwitchCallback;Z)V
         7: .line 609
            return
        end local 3 // float density
        end local 2 // net.sf.cglib.core.ProcessSwitchCallback callback
        end local 1 // int[] keys
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lnet/sf/cglib/core/CodeEmitter;
            0    8     1      keys  [I
            0    8     2  callback  Lnet/sf/cglib/core/ProcessSwitchCallback;
            2    3     3   density  F
            4    8     3   density  F
    MethodParameters:
          Name  Flags
      keys      
      callback  

  public void process_switch(int[], net.sf.cglib.core.ProcessSwitchCallback, boolean);
    descriptor: ([ILnet/sf/cglib/core/ProcessSwitchCallback;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=4
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // int[] keys
        start local 2 // net.sf.cglib.core.ProcessSwitchCallback callback
        start local 3 // boolean useTable
         0: .line 612
            aload 1 /* keys */
            invokestatic net.sf.cglib.core.CodeEmitter.isSorted:([I)Z
            ifne 2
         1: .line 613
            new java.lang.IllegalArgumentException
            dup
            ldc "keys to switch must be sorted ascending"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 614
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
            astore 4 /* def */
        start local 4 // org.objectweb.asm.Label def
         3: .line 615
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
            astore 5 /* end */
        start local 5 // org.objectweb.asm.Label end
         4: .line 618
            aload 1 /* keys */
            arraylength
            ifle 40
         5: .line 619
            aload 1 /* keys */
            arraylength
            istore 6 /* len */
        start local 6 // int len
         6: .line 620
            aload 1 /* keys */
            iconst_0
            iaload
            istore 7 /* min */
        start local 7 // int min
         7: .line 621
            aload 1 /* keys */
            iload 6 /* len */
            iconst_1
            isub
            iaload
            istore 8 /* max */
        start local 8 // int max
         8: .line 622
            iload 8 /* max */
            iload 7 /* min */
            isub
            iconst_1
            iadd
            istore 9 /* range */
        start local 9 // int range
         9: .line 624
            iload 3 /* useTable */
            ifeq 27
        10: .line 625
            iload 9 /* range */
            anewarray org.objectweb.asm.Label
            astore 10 /* labels */
        start local 10 // org.objectweb.asm.Label[] labels
        11: .line 626
            aload 10 /* labels */
            aload 4 /* def */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 627
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        13: goto 16
        14: .line 628
      StackMap locals: net.sf.cglib.core.CodeEmitter int[] net.sf.cglib.core.ProcessSwitchCallback int org.objectweb.asm.Label org.objectweb.asm.Label int int int int org.objectweb.asm.Label[] int
      StackMap stack:
            aload 10 /* labels */
            aload 1 /* keys */
            iload 11 /* i */
            iaload
            iload 7 /* min */
            isub
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
            aastore
        15: .line 627
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 11 /* i */
            iload 6 /* len */
            if_icmplt 14
        end local 11 // int i
        17: .line 630
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            iload 7 /* min */
            iload 8 /* max */
            aload 4 /* def */
            aload 10 /* labels */
            invokevirtual org.objectweb.asm.MethodVisitor.visitTableSwitchInsn:(IILorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)V
        18: .line 631
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        19: goto 25
        20: .line 632
      StackMap locals:
      StackMap stack:
            aload 10 /* labels */
            iload 11 /* i */
            aaload
            astore 12 /* label */
        start local 12 // org.objectweb.asm.Label label
        21: .line 633
            aload 12 /* label */
            aload 4 /* def */
            if_acmpeq 24
        22: .line 634
            aload 0 /* this */
            aload 12 /* label */
            invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
        23: .line 635
            aload 2 /* callback */
            iload 11 /* i */
            iload 7 /* min */
            iadd
            aload 5 /* end */
            invokeinterface net.sf.cglib.core.ProcessSwitchCallback.processCase:(ILorg/objectweb/asm/Label;)V
        end local 12 // org.objectweb.asm.Label label
        24: .line 631
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 11 /* i */
            iload 9 /* range */
            if_icmplt 20
        end local 11 // int i
        end local 10 // org.objectweb.asm.Label[] labels
        26: .line 638
            goto 40
        27: .line 639
      StackMap locals:
      StackMap stack:
            iload 6 /* len */
            anewarray org.objectweb.asm.Label
            astore 10 /* labels */
        start local 10 // org.objectweb.asm.Label[] labels
        28: .line 640
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        29: goto 32
        30: .line 641
      StackMap locals: org.objectweb.asm.Label[] int
      StackMap stack:
            aload 10 /* labels */
            iload 11 /* i */
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
            aastore
        31: .line 640
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 11 /* i */
            iload 6 /* len */
            if_icmplt 30
        end local 11 // int i
        33: .line 643
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            aload 4 /* def */
            aload 1 /* keys */
            aload 10 /* labels */
            invokevirtual org.objectweb.asm.MethodVisitor.visitLookupSwitchInsn:(Lorg/objectweb/asm/Label;[I[Lorg/objectweb/asm/Label;)V
        34: .line 644
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        35: goto 39
        36: .line 645
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* labels */
            iload 11 /* i */
            aaload
            invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
        37: .line 646
            aload 2 /* callback */
            aload 1 /* keys */
            iload 11 /* i */
            iaload
            aload 5 /* end */
            invokeinterface net.sf.cglib.core.ProcessSwitchCallback.processCase:(ILorg/objectweb/asm/Label;)V
        38: .line 644
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 11 /* i */
            iload 6 /* len */
            if_icmplt 36
        end local 11 // int i
        end local 10 // org.objectweb.asm.Label[] labels
        end local 9 // int range
        end local 8 // int max
        end local 7 // int min
        end local 6 // int len
        40: .line 651
      StackMap locals: net.sf.cglib.core.CodeEmitter int[] net.sf.cglib.core.ProcessSwitchCallback int org.objectweb.asm.Label org.objectweb.asm.Label
      StackMap stack:
            aload 0 /* this */
            aload 4 /* def */
            invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
        41: .line 652
            aload 2 /* callback */
            invokeinterface net.sf.cglib.core.ProcessSwitchCallback.processDefault:()V
        42: .line 653
            aload 0 /* this */
            aload 5 /* end */
            invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
        43: .line 655
            goto 50
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        44: astore 6 /* e */
        start local 6 // java.lang.RuntimeException e
        45: .line 656
            aload 6 /* e */
            athrow
        end local 6 // java.lang.RuntimeException e
        46: .line 657
      StackMap locals:
      StackMap stack: java.lang.Error
            astore 6 /* e */
        start local 6 // java.lang.Error e
        47: .line 658
            aload 6 /* e */
            athrow
        end local 6 // java.lang.Error e
        48: .line 659
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        49: .line 660
            new net.sf.cglib.core.CodeGenerationException
            dup
            aload 6 /* e */
            invokespecial net.sf.cglib.core.CodeGenerationException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Exception e
        50: .line 662
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.objectweb.asm.Label end
        end local 4 // org.objectweb.asm.Label def
        end local 3 // boolean useTable
        end local 2 // net.sf.cglib.core.ProcessSwitchCallback callback
        end local 1 // int[] keys
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   51     0      this  Lnet/sf/cglib/core/CodeEmitter;
            0   51     1      keys  [I
            0   51     2  callback  Lnet/sf/cglib/core/ProcessSwitchCallback;
            0   51     3  useTable  Z
            3   51     4       def  Lorg/objectweb/asm/Label;
            4   51     5       end  Lorg/objectweb/asm/Label;
            6   40     6       len  I
            7   40     7       min  I
            8   40     8       max  I
            9   40     9     range  I
           11   26    10    labels  [Lorg/objectweb/asm/Label;
           13   17    11         i  I
           19   26    11         i  I
           21   24    12     label  Lorg/objectweb/asm/Label;
           28   40    10    labels  [Lorg/objectweb/asm/Label;
           29   33    11         i  I
           35   40    11         i  I
           45   46     6         e  Ljava/lang/RuntimeException;
           47   48     6         e  Ljava/lang/Error;
           49   50     6         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4    43      44  Class java.lang.RuntimeException
           4    43      46  Class java.lang.Error
           4    43      48  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      keys      
      callback  
      useTable  

  private static boolean isSorted(int[]);
    descriptor: ([I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // int[] keys
         0: .line 665
            iconst_1
            istore 1 /* i */
        start local 1 // int i
         1: goto 5
         2: .line 666
      StackMap locals: int
      StackMap stack:
            aload 0 /* keys */
            iload 1 /* i */
            iaload
            aload 0 /* keys */
            iload 1 /* i */
            iconst_1
            isub
            iaload
            if_icmpge 4
         3: .line 667
            iconst_0
            ireturn
         4: .line 665
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            aload 0 /* keys */
            arraylength
            if_icmplt 2
        end local 1 // int i
         6: .line 669
            iconst_1
            ireturn
        end local 0 // int[] keys
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  keys  [I
            1    6     1     i  I
    MethodParameters:
      Name  Flags
      keys  

  public void mark(org.objectweb.asm.Label);
    descriptor: (Lorg/objectweb/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Label label
         0: .line 673
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            aload 1 /* label */
            invokevirtual org.objectweb.asm.MethodVisitor.visitLabel:(Lorg/objectweb/asm/Label;)V
         1: .line 674
            return
        end local 1 // org.objectweb.asm.Label label
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  label  Lorg/objectweb/asm/Label;
    MethodParameters:
       Name  Flags
      label  

  org.objectweb.asm.Label mark();
    descriptor: ()Lorg/objectweb/asm/Label;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 677
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
            astore 1 /* label */
        start local 1 // org.objectweb.asm.Label label
         1: .line 678
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            aload 1 /* label */
            invokevirtual org.objectweb.asm.MethodVisitor.visitLabel:(Lorg/objectweb/asm/Label;)V
         2: .line 679
            aload 1 /* label */
            areturn
        end local 1 // org.objectweb.asm.Label label
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lnet/sf/cglib/core/CodeEmitter;
            1    3     1  label  Lorg/objectweb/asm/Label;

  public void push(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // boolean value
         0: .line 683
            aload 0 /* this */
            iload 1 /* value */
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: net.sf.cglib.core.CodeEmitter
         1: iconst_0
      StackMap locals: net.sf.cglib.core.CodeEmitter int
      StackMap stack: net.sf.cglib.core.CodeEmitter int
         2: invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
         3: .line 684
            return
        end local 1 // boolean value
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0    4     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  public void not();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 690
            aload 0 /* this */
            iconst_1
            invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
         1: .line 691
            aload 0 /* this */
            sipush 130
            getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
            invokevirtual net.sf.cglib.core.CodeEmitter.math:(ILorg/objectweb/asm/Type;)V
         2: .line 692
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lnet/sf/cglib/core/CodeEmitter;

  public void throw_exception(org.objectweb.asm.Type, java.lang.String);
    descriptor: (Lorg/objectweb/asm/Type;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type type
        start local 2 // java.lang.String msg
         0: .line 695
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.new_instance:(Lorg/objectweb/asm/Type;)V
         1: .line 696
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
         2: .line 697
            aload 0 /* this */
            aload 2 /* msg */
            invokevirtual net.sf.cglib.core.CodeEmitter.push:(Ljava/lang/String;)V
         3: .line 698
            aload 0 /* this */
            aload 1 /* type */
            getstatic net.sf.cglib.core.CodeEmitter.CSTRUCT_STRING:Lnet/sf/cglib/core/Signature;
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_constructor:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
         4: .line 699
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.athrow:()V
         5: .line 700
            return
        end local 2 // java.lang.String msg
        end local 1 // org.objectweb.asm.Type type
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0    6     1  type  Lorg/objectweb/asm/Type;
            0    6     2   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  
      msg   

  public void box(org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=3, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type type
         0: .line 710
            aload 1 /* type */
            invokestatic net.sf.cglib.core.TypeUtils.isPrimitive:(Lorg/objectweb/asm/Type;)Z
            ifeq 14
         1: .line 711
            aload 1 /* type */
            getstatic org.objectweb.asm.Type.VOID_TYPE:Lorg/objectweb/asm/Type;
            if_acmpne 4
         2: .line 712
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.aconst_null:()V
         3: .line 713
            goto 14
         4: .line 714
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokestatic net.sf.cglib.core.TypeUtils.getBoxedType:(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/Type;
            astore 2 /* boxed */
        start local 2 // org.objectweb.asm.Type boxed
         5: .line 715
            aload 0 /* this */
            aload 2 /* boxed */
            invokevirtual net.sf.cglib.core.CodeEmitter.new_instance:(Lorg/objectweb/asm/Type;)V
         6: .line 716
            aload 1 /* type */
            invokevirtual org.objectweb.asm.Type.getSize:()I
            iconst_2
            if_icmpne 11
         7: .line 718
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.dup_x2:()V
         8: .line 719
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.dup_x2:()V
         9: .line 720
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.pop:()V
        10: .line 721
            goto 13
        11: .line 723
      StackMap locals: org.objectweb.asm.Type
      StackMap stack:
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.dup_x1:()V
        12: .line 724
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.swap:()V
        13: .line 726
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* boxed */
            new net.sf.cglib.core.Signature
            dup
            ldc "<init>"
            getstatic org.objectweb.asm.Type.VOID_TYPE:Lorg/objectweb/asm/Type;
            iconst_1
            anewarray org.objectweb.asm.Type
            dup
            iconst_0
            aload 1 /* type */
            aastore
            invokespecial net.sf.cglib.core.Signature.<init>:(Ljava/lang/String;Lorg/objectweb/asm/Type;[Lorg/objectweb/asm/Type;)V
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_constructor:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
        end local 2 // org.objectweb.asm.Type boxed
        14: .line 729
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.objectweb.asm.Type type
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lnet/sf/cglib/core/CodeEmitter;
            0   15     1   type  Lorg/objectweb/asm/Type;
            5   14     2  boxed  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      type  

  public void unbox(org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type type
         0: .line 739
            getstatic net.sf.cglib.core.Constants.TYPE_NUMBER:Lorg/objectweb/asm/Type;
            astore 2 /* t */
        start local 2 // org.objectweb.asm.Type t
         1: .line 740
            aconst_null
            astore 3 /* sig */
        start local 3 // net.sf.cglib.core.Signature sig
         2: .line 741
            aload 1 /* type */
            invokevirtual org.objectweb.asm.Type.getSort:()I
            tableswitch { // 0 - 8
                    0: 3
                    1: 7
                    2: 4
                    3: 16
                    4: 16
                    5: 16
                    6: 12
                    7: 14
                    8: 10
              default: 17
          }
         3: .line 743
      StackMap locals: org.objectweb.asm.Type net.sf.cglib.core.Signature
      StackMap stack:
            return
         4: .line 745
      StackMap locals:
      StackMap stack:
            getstatic net.sf.cglib.core.Constants.TYPE_CHARACTER:Lorg/objectweb/asm/Type;
            astore 2 /* t */
         5: .line 746
            getstatic net.sf.cglib.core.CodeEmitter.CHAR_VALUE:Lnet/sf/cglib/core/Signature;
            astore 3 /* sig */
         6: .line 747
            goto 17
         7: .line 749
      StackMap locals:
      StackMap stack:
            getstatic net.sf.cglib.core.Constants.TYPE_BOOLEAN:Lorg/objectweb/asm/Type;
            astore 2 /* t */
         8: .line 750
            getstatic net.sf.cglib.core.CodeEmitter.BOOLEAN_VALUE:Lnet/sf/cglib/core/Signature;
            astore 3 /* sig */
         9: .line 751
            goto 17
        10: .line 753
      StackMap locals:
      StackMap stack:
            getstatic net.sf.cglib.core.CodeEmitter.DOUBLE_VALUE:Lnet/sf/cglib/core/Signature;
            astore 3 /* sig */
        11: .line 754
            goto 17
        12: .line 756
      StackMap locals:
      StackMap stack:
            getstatic net.sf.cglib.core.CodeEmitter.FLOAT_VALUE:Lnet/sf/cglib/core/Signature;
            astore 3 /* sig */
        13: .line 757
            goto 17
        14: .line 759
      StackMap locals:
      StackMap stack:
            getstatic net.sf.cglib.core.CodeEmitter.LONG_VALUE:Lnet/sf/cglib/core/Signature;
            astore 3 /* sig */
        15: .line 760
            goto 17
        16: .line 764
      StackMap locals:
      StackMap stack:
            getstatic net.sf.cglib.core.CodeEmitter.INT_VALUE:Lnet/sf/cglib/core/Signature;
            astore 3 /* sig */
        17: .line 767
      StackMap locals:
      StackMap stack:
            aload 3 /* sig */
            ifnonnull 20
        18: .line 768
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.checkcast:(Lorg/objectweb/asm/Type;)V
        19: .line 769
            goto 22
        20: .line 770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual net.sf.cglib.core.CodeEmitter.checkcast:(Lorg/objectweb/asm/Type;)V
        21: .line 771
            aload 0 /* this */
            aload 2 /* t */
            aload 3 /* sig */
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
        22: .line 773
      StackMap locals:
      StackMap stack:
            return
        end local 3 // net.sf.cglib.core.Signature sig
        end local 2 // org.objectweb.asm.Type t
        end local 1 // org.objectweb.asm.Type type
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0   23     1  type  Lorg/objectweb/asm/Type;
            1   23     2     t  Lorg/objectweb/asm/Type;
            2   23     3   sig  Lnet/sf/cglib/core/Signature;
    MethodParameters:
      Name  Flags
      type  

  public void create_arg_array();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // net.sf.cglib.core.CodeEmitter this
         0: .line 785
            aload 0 /* this */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            getfield net.sf.cglib.core.CodeEmitter$State.argumentTypes:[Lorg/objectweb/asm/Type;
            arraylength
            invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
         1: .line 786
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.newarray:()V
         2: .line 787
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: goto 10
         4: .line 788
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
         5: .line 789
            aload 0 /* this */
            iload 1 /* i */
            invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
         6: .line 790
            aload 0 /* this */
            iload 1 /* i */
            invokevirtual net.sf.cglib.core.CodeEmitter.load_arg:(I)V
         7: .line 791
            aload 0 /* this */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            getfield net.sf.cglib.core.CodeEmitter$State.argumentTypes:[Lorg/objectweb/asm/Type;
            iload 1 /* i */
            aaload
            invokevirtual net.sf.cglib.core.CodeEmitter.box:(Lorg/objectweb/asm/Type;)V
         8: .line 792
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.aastore:()V
         9: .line 787
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 1 /* i */
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            getfield net.sf.cglib.core.CodeEmitter$State.argumentTypes:[Lorg/objectweb/asm/Type;
            arraylength
            if_icmplt 4
        end local 1 // int i
        11: .line 794
            return
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lnet/sf/cglib/core/CodeEmitter;
            3   11     1     i  I

  public void zero_or_null(org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type type
         0: .line 801
            aload 1 /* type */
            invokestatic net.sf.cglib.core.TypeUtils.isPrimitive:(Lorg/objectweb/asm/Type;)Z
            ifeq 11
         1: .line 802
            aload 1 /* type */
            invokevirtual org.objectweb.asm.Type.getSort:()I
            tableswitch { // 0 - 8
                    0: 8
                    1: 9
                    2: 9
                    3: 9
                    4: 9
                    5: 9
                    6: 6
                    7: 4
                    8: 2
              default: 9
          }
         2: .line 804
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dconst_0
            invokevirtual net.sf.cglib.core.CodeEmitter.push:(D)V
         3: .line 805
            goto 12
         4: .line 807
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_0
            invokevirtual net.sf.cglib.core.CodeEmitter.push:(J)V
         5: .line 808
            goto 12
         6: .line 810
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fconst_0
            invokevirtual net.sf.cglib.core.CodeEmitter.push:(F)V
         7: .line 811
            goto 12
         8: .line 813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.aconst_null:()V
         9: .line 815
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
        10: .line 817
            goto 12
        11: .line 818
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.aconst_null:()V
        12: .line 820
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.objectweb.asm.Type type
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lnet/sf/cglib/core/CodeEmitter;
            0   13     1  type  Lorg/objectweb/asm/Type;
    MethodParameters:
      Name  Flags
      type  

  public void unbox_or_zero(org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // org.objectweb.asm.Type type
         0: .line 827
            aload 1 /* type */
            invokestatic net.sf.cglib.core.TypeUtils.isPrimitive:(Lorg/objectweb/asm/Type;)Z
            ifeq 13
         1: .line 828
            aload 1 /* type */
            getstatic org.objectweb.asm.Type.VOID_TYPE:Lorg/objectweb/asm/Type;
            if_acmpeq 14
         2: .line 829
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
            astore 2 /* nonNull */
        start local 2 // org.objectweb.asm.Label nonNull
         3: .line 830
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
            astore 3 /* end */
        start local 3 // org.objectweb.asm.Label end
         4: .line 831
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
         5: .line 832
            aload 0 /* this */
            aload 2 /* nonNull */
            invokevirtual net.sf.cglib.core.CodeEmitter.ifnonnull:(Lorg/objectweb/asm/Label;)V
         6: .line 833
            aload 0 /* this */
            invokevirtual net.sf.cglib.core.CodeEmitter.pop:()V
         7: .line 834
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.zero_or_null:(Lorg/objectweb/asm/Type;)V
         8: .line 835
            aload 0 /* this */
            aload 3 /* end */
            invokevirtual net.sf.cglib.core.CodeEmitter.goTo:(Lorg/objectweb/asm/Label;)V
         9: .line 836
            aload 0 /* this */
            aload 2 /* nonNull */
            invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
        10: .line 837
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.unbox:(Lorg/objectweb/asm/Type;)V
        11: .line 838
            aload 0 /* this */
            aload 3 /* end */
            invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
        end local 3 // org.objectweb.asm.Label end
        end local 2 // org.objectweb.asm.Label nonNull
        12: .line 840
            goto 14
        13: .line 841
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual net.sf.cglib.core.CodeEmitter.checkcast:(Lorg/objectweb/asm/Type;)V
        14: .line 843
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.objectweb.asm.Type type
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lnet/sf/cglib/core/CodeEmitter;
            0   15     1     type  Lorg/objectweb/asm/Type;
            3   12     2  nonNull  Lorg/objectweb/asm/Label;
            4   12     3      end  Lorg/objectweb/asm/Label;
    MethodParameters:
      Name  Flags
      type  

  public void visitMaxs(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // int maxStack
        start local 2 // int maxLocals
         0: .line 846
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.state:Lnet/sf/cglib/core/CodeEmitter$State;
            getfield net.sf.cglib.core.CodeEmitter$State.access:I
            invokestatic net.sf.cglib.core.TypeUtils.isAbstract:(I)Z
            ifne 2
         1: .line 847
            aload 0 /* this */
            getfield net.sf.cglib.core.CodeEmitter.mv:Lorg/objectweb/asm/MethodVisitor;
            iconst_0
            iconst_0
            invokevirtual org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
         2: .line 849
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int maxLocals
        end local 1 // int maxStack
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lnet/sf/cglib/core/CodeEmitter;
            0    3     1   maxStack  I
            0    3     2  maxLocals  I
    MethodParameters:
           Name  Flags
      maxStack   
      maxLocals  

  public void invoke(net.sf.cglib.core.MethodInfo, org.objectweb.asm.Type);
    descriptor: (Lnet/sf/cglib/core/MethodInfo;Lorg/objectweb/asm/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // net.sf.cglib.core.MethodInfo method
        start local 2 // org.objectweb.asm.Type virtualType
         0: .line 852
            aload 1 /* method */
            invokevirtual net.sf.cglib.core.MethodInfo.getClassInfo:()Lnet/sf/cglib/core/ClassInfo;
            astore 3 /* classInfo */
        start local 3 // net.sf.cglib.core.ClassInfo classInfo
         1: .line 853
            aload 3 /* classInfo */
            invokevirtual net.sf.cglib.core.ClassInfo.getType:()Lorg/objectweb/asm/Type;
            astore 4 /* type */
        start local 4 // org.objectweb.asm.Type type
         2: .line 854
            aload 1 /* method */
            invokevirtual net.sf.cglib.core.MethodInfo.getSignature:()Lnet/sf/cglib/core/Signature;
            astore 5 /* sig */
        start local 5 // net.sf.cglib.core.Signature sig
         3: .line 855
            aload 5 /* sig */
            invokevirtual net.sf.cglib.core.Signature.getName:()Ljava/lang/String;
            ldc "<init>"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 856
            aload 0 /* this */
            aload 4 /* type */
            aload 5 /* sig */
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_constructor:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
         5: .line 857
            goto 13
      StackMap locals: net.sf.cglib.core.ClassInfo org.objectweb.asm.Type net.sf.cglib.core.Signature
      StackMap stack:
         6: aload 1 /* method */
            invokevirtual net.sf.cglib.core.MethodInfo.getModifiers:()I
            invokestatic net.sf.cglib.core.TypeUtils.isStatic:(I)Z
            ifeq 9
         7: .line 858
            aload 0 /* this */
            aload 4 /* type */
            aload 5 /* sig */
            aload 3 /* classInfo */
            invokevirtual net.sf.cglib.core.ClassInfo.getModifiers:()I
            invokestatic net.sf.cglib.core.TypeUtils.isInterface:(I)Z
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_static:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;Z)V
         8: .line 859
            goto 13
      StackMap locals:
      StackMap stack:
         9: aload 3 /* classInfo */
            invokevirtual net.sf.cglib.core.ClassInfo.getModifiers:()I
            invokestatic net.sf.cglib.core.TypeUtils.isInterface:(I)Z
            ifeq 12
        10: .line 860
            aload 0 /* this */
            aload 4 /* type */
            aload 5 /* sig */
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_interface:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
        11: .line 861
            goto 13
        12: .line 862
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* virtualType */
            aload 5 /* sig */
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
        13: .line 864
      StackMap locals:
      StackMap stack:
            return
        end local 5 // net.sf.cglib.core.Signature sig
        end local 4 // org.objectweb.asm.Type type
        end local 3 // net.sf.cglib.core.ClassInfo classInfo
        end local 2 // org.objectweb.asm.Type virtualType
        end local 1 // net.sf.cglib.core.MethodInfo method
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lnet/sf/cglib/core/CodeEmitter;
            0   14     1       method  Lnet/sf/cglib/core/MethodInfo;
            0   14     2  virtualType  Lorg/objectweb/asm/Type;
            1   14     3    classInfo  Lnet/sf/cglib/core/ClassInfo;
            2   14     4         type  Lorg/objectweb/asm/Type;
            3   14     5          sig  Lnet/sf/cglib/core/Signature;
    MethodParameters:
             Name  Flags
      method       
      virtualType  

  public void invoke(net.sf.cglib.core.MethodInfo);
    descriptor: (Lnet/sf/cglib/core/MethodInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.CodeEmitter this
        start local 1 // net.sf.cglib.core.MethodInfo method
         0: .line 867
            aload 0 /* this */
            aload 1 /* method */
            aload 1 /* method */
            invokevirtual net.sf.cglib.core.MethodInfo.getClassInfo:()Lnet/sf/cglib/core/ClassInfo;
            invokevirtual net.sf.cglib.core.ClassInfo.getType:()Lorg/objectweb/asm/Type;
            invokevirtual net.sf.cglib.core.CodeEmitter.invoke:(Lnet/sf/cglib/core/MethodInfo;Lorg/objectweb/asm/Type;)V
         1: .line 868
            return
        end local 1 // net.sf.cglib.core.MethodInfo method
        end local 0 // net.sf.cglib.core.CodeEmitter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lnet/sf/cglib/core/CodeEmitter;
            0    2     1  method  Lnet/sf/cglib/core/MethodInfo;
    MethodParameters:
        Name  Flags
      method  
}
SourceFile: "CodeEmitter.java"
NestMembers:
  net.sf.cglib.core.CodeEmitter$State
InnerClasses:
  FieldInfo = net.sf.cglib.core.ClassEmitter$FieldInfo of net.sf.cglib.core.ClassEmitter
  private State = net.sf.cglib.core.CodeEmitter$State of net.sf.cglib.core.CodeEmitter