public final class javassist.CtConstructor extends javassist.CtBehavior
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: javassist.CtConstructor
  super_class: javassist.CtBehavior
{
  protected void <init>(javassist.bytecode.MethodInfo, javassist.CtClass);
    descriptor: (Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javassist.CtConstructor this
        start local 1 // javassist.bytecode.MethodInfo minfo
        start local 2 // javassist.CtClass declaring
         0: .line 46
            aload 0 /* this */
            aload 2 /* declaring */
            aload 1 /* minfo */
            invokespecial javassist.CtBehavior.<init>:(Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;)V
         1: .line 47
            return
        end local 2 // javassist.CtClass declaring
        end local 1 // javassist.bytecode.MethodInfo minfo
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljavassist/CtConstructor;
            0    2     1      minfo  Ljavassist/bytecode/MethodInfo;
            0    2     2  declaring  Ljavassist/CtClass;
    MethodParameters:
           Name  Flags
      minfo      
      declaring  

  public void <init>(javassist.CtClass[], javassist.CtClass);
    descriptor: ([Ljavassist/CtClass;Ljavassist/CtClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // javassist.CtConstructor this
        start local 1 // javassist.CtClass[] parameters
        start local 2 // javassist.CtClass declaring
         0: .line 65
            aload 0 /* this */
            aconst_null
            aload 2 /* declaring */
            invokespecial javassist.CtConstructor.<init>:(Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;)V
         1: .line 66
            aload 2 /* declaring */
            invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
            invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
            astore 3 /* cp */
        start local 3 // javassist.bytecode.ConstPool cp
         2: .line 67
            aload 1 /* parameters */
            invokestatic javassist.bytecode.Descriptor.ofConstructor:([Ljavassist/CtClass;)Ljava/lang/String;
            astore 4 /* desc */
        start local 4 // java.lang.String desc
         3: .line 68
            aload 0 /* this */
            new javassist.bytecode.MethodInfo
            dup
            aload 3 /* cp */
            ldc "<init>"
            aload 4 /* desc */
            invokespecial javassist.bytecode.MethodInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;Ljava/lang/String;)V
            putfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
         4: .line 69
            aload 0 /* this */
            iconst_1
            invokevirtual javassist.CtConstructor.setModifiers:(I)V
         5: .line 70
            return
        end local 4 // java.lang.String desc
        end local 3 // javassist.bytecode.ConstPool cp
        end local 2 // javassist.CtClass declaring
        end local 1 // javassist.CtClass[] parameters
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Ljavassist/CtConstructor;
            0    6     1  parameters  [Ljavassist/CtClass;
            0    6     2   declaring  Ljavassist/CtClass;
            2    6     3          cp  Ljavassist/bytecode/ConstPool;
            3    6     4        desc  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      parameters  
      declaring   

  public void <init>(javassist.CtConstructor, javassist.CtClass, javassist.ClassMap);
    descriptor: (Ljavassist/CtConstructor;Ljavassist/CtClass;Ljavassist/ClassMap;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // javassist.CtConstructor this
        start local 1 // javassist.CtConstructor src
        start local 2 // javassist.CtClass declaring
        start local 3 // javassist.ClassMap map
         0: .line 109
            aload 0 /* this */
            aconst_null
            aload 2 /* declaring */
            invokespecial javassist.CtConstructor.<init>:(Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;)V
         1: .line 110
            aload 0 /* this */
            aload 1 /* src */
            iconst_1
            aload 3 /* map */
            invokevirtual javassist.CtConstructor.copy:(Ljavassist/CtBehavior;ZLjavassist/ClassMap;)V
         2: .line 111
            return
        end local 3 // javassist.ClassMap map
        end local 2 // javassist.CtClass declaring
        end local 1 // javassist.CtConstructor src
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljavassist/CtConstructor;
            0    3     1        src  Ljavassist/CtConstructor;
            0    3     2  declaring  Ljavassist/CtClass;
            0    3     3        map  Ljavassist/ClassMap;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
           Name  Flags
      src        
      declaring  
      map        

  public boolean isConstructor();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtConstructor this
         0: .line 117
            aload 0 /* this */
            getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.isConstructor:()Z
            ireturn
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtConstructor;

  public boolean isClassInitializer();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtConstructor this
         0: .line 124
            aload 0 /* this */
            getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.isStaticInitializer:()Z
            ireturn
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtConstructor;

  public java.lang.String getLongName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javassist.CtConstructor this
         0: .line 135
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual javassist.CtConstructor.getDeclaringClass:()Ljavassist/CtClass;
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 136
            aload 0 /* this */
            invokevirtual javassist.CtConstructor.isConstructor:()Z
            ifeq 2
            aload 0 /* this */
            invokevirtual javassist.CtConstructor.getSignature:()Ljava/lang/String;
            invokestatic javassist.bytecode.Descriptor.toString:(Ljava/lang/String;)Ljava/lang/String;
            goto 3
         2: .line 137
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            ldc ".<clinit>()"
         3: .line 136
      StackMap locals: javassist.CtConstructor
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 135
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavassist/CtConstructor;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtConstructor this
         0: .line 148
            aload 0 /* this */
            getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.isStaticInitializer:()Z
            ifeq 2
         1: .line 149
            ldc "<clinit>"
            areturn
         2: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javassist.CtConstructor.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.getSimpleName:()Ljava/lang/String;
            areturn
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavassist/CtConstructor;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // javassist.CtConstructor this
         0: .line 162
            aload 0 /* this */
            invokevirtual javassist.CtConstructor.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            astore 1 /* ca */
        start local 1 // javassist.bytecode.CodeAttribute ca
         1: .line 163
            aload 1 /* ca */
            ifnonnull 3
         2: .line 164
            iconst_0
            ireturn
         3: .line 167
      StackMap locals: javassist.bytecode.CodeAttribute
      StackMap stack:
            aload 1 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getConstPool:()Ljavassist/bytecode/ConstPool;
            astore 2 /* cp */
        start local 2 // javassist.bytecode.ConstPool cp
         4: .line 168
            aload 1 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
            astore 3 /* it */
        start local 3 // javassist.bytecode.CodeIterator it
         5: .line 171
            aload 3 /* it */
            aload 3 /* it */
            invokevirtual javassist.bytecode.CodeIterator.next:()I
            invokevirtual javassist.bytecode.CodeIterator.byteAt:(I)I
            istore 6 /* op0 */
        start local 6 // int op0
         6: .line 172
            iload 6 /* op0 */
            sipush 177
            if_icmpeq 18
         7: .line 173
            iload 6 /* op0 */
            bipush 42
            if_icmpne 17
         8: .line 174
            aload 3 /* it */
            aload 3 /* it */
            invokevirtual javassist.bytecode.CodeIterator.next:()I
            dup
            istore 4 /* pos */
        start local 4 // int pos
         9: invokevirtual javassist.bytecode.CodeIterator.byteAt:(I)I
            sipush 183
            if_icmpne 17
        10: .line 175
            aload 2 /* cp */
            aload 0 /* this */
            invokevirtual javassist.CtConstructor.getSuperclassName:()Ljava/lang/String;
        11: .line 176
            aload 3 /* it */
            iload 4 /* pos */
            iconst_1
            iadd
            invokevirtual javassist.bytecode.CodeIterator.u16bitAt:(I)I
        12: .line 175
            invokevirtual javassist.bytecode.ConstPool.isConstructor:(Ljava/lang/String;I)I
            dup
            istore 5 /* desc */
        start local 5 // int desc
        13: ifeq 17
        14: .line 177
            ldc "()V"
            aload 2 /* cp */
            iload 5 /* desc */
            invokevirtual javassist.bytecode.ConstPool.getUtf8Info:(I)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 178
            aload 3 /* it */
            aload 3 /* it */
            invokevirtual javassist.bytecode.CodeIterator.next:()I
            invokevirtual javassist.bytecode.CodeIterator.byteAt:(I)I
            sipush 177
            if_icmpne 17
        16: .line 179
            aload 3 /* it */
            invokevirtual javassist.bytecode.CodeIterator.hasNext:()Z
            ifeq 18
        end local 5 // int desc
        end local 4 // int pos
        17: .line 172
      StackMap locals: javassist.CtConstructor javassist.bytecode.CodeAttribute javassist.bytecode.ConstPool javassist.bytecode.CodeIterator top top int
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        18: iconst_1
        19: ireturn
        end local 6 // int op0
        20: .line 181
      StackMap locals: javassist.CtConstructor javassist.bytecode.CodeAttribute javassist.bytecode.ConstPool javassist.bytecode.CodeIterator
      StackMap stack: javassist.bytecode.BadBytecode
            pop
        21: .line 182
            iconst_0
            ireturn
        end local 3 // javassist.bytecode.CodeIterator it
        end local 2 // javassist.bytecode.ConstPool cp
        end local 1 // javassist.bytecode.CodeAttribute ca
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Ljavassist/CtConstructor;
            1   22     1    ca  Ljavassist/bytecode/CodeAttribute;
            4   22     2    cp  Ljavassist/bytecode/ConstPool;
            5   22     3    it  Ljavassist/bytecode/CodeIterator;
            9   17     4   pos  I
           13   17     5  desc  I
            6   20     6   op0  I
      Exception table:
        from    to  target  type
           5    19      20  Class javassist.bytecode.BadBytecode

  private java.lang.String getSuperclassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // javassist.CtConstructor this
         0: .line 186
            aload 0 /* this */
            getfield javassist.CtConstructor.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
            astore 1 /* cf */
        start local 1 // javassist.bytecode.ClassFile cf
         1: .line 187
            aload 1 /* cf */
            invokevirtual javassist.bytecode.ClassFile.getSuperclass:()Ljava/lang/String;
            areturn
        end local 1 // javassist.bytecode.ClassFile cf
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtConstructor;
            1    2     1    cf  Ljavassist/bytecode/ClassFile;

  public boolean callsSuper();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // javassist.CtConstructor this
         0: .line 196
            aload 0 /* this */
            getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            astore 1 /* codeAttr */
        start local 1 // javassist.bytecode.CodeAttribute codeAttr
         1: .line 197
            aload 1 /* codeAttr */
            ifnull 9
         2: .line 198
            aload 1 /* codeAttr */
            invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
            astore 2 /* it */
        start local 2 // javassist.bytecode.CodeIterator it
         3: .line 200
            aload 2 /* it */
            invokevirtual javassist.bytecode.CodeIterator.skipSuperConstructor:()I
            istore 3 /* index */
        start local 3 // int index
         4: .line 201
            iload 3 /* index */
            iflt 5
            iconst_1
            ireturn
      StackMap locals: javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator int
      StackMap stack:
         5: iconst_0
         6: ireturn
        end local 3 // int index
         7: .line 203
      StackMap locals: javassist.CtConstructor javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator
      StackMap stack: javassist.bytecode.BadBytecode
            astore 3 /* e */
        start local 3 // javassist.bytecode.BadBytecode e
         8: .line 204
            new javassist.CannotCompileException
            dup
            aload 3 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // javassist.bytecode.BadBytecode e
        end local 2 // javassist.bytecode.CodeIterator it
         9: .line 208
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // javassist.bytecode.CodeAttribute codeAttr
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Ljavassist/CtConstructor;
            1   10     1  codeAttr  Ljavassist/bytecode/CodeAttribute;
            3    9     2        it  Ljavassist/bytecode/CodeIterator;
            4    7     3     index  I
            8    9     3         e  Ljavassist/bytecode/BadBytecode;
      Exception table:
        from    to  target  type
           3     6       7  Class javassist.bytecode.BadBytecode
    Exceptions:
      throws javassist.CannotCompileException

  public void setBody(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javassist.CtConstructor this
        start local 1 // java.lang.String src
         0: .line 222
            aload 1 /* src */
            ifnonnull 4
         1: .line 223
            aload 0 /* this */
            invokevirtual javassist.CtConstructor.isClassInitializer:()Z
            ifeq 3
         2: .line 224
            ldc ";"
            astore 1 /* src */
            goto 4
         3: .line 226
      StackMap locals:
      StackMap stack:
            ldc "super();"
            astore 1 /* src */
         4: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            invokespecial javassist.CtBehavior.setBody:(Ljava/lang/String;)V
         5: .line 229
            return
        end local 1 // java.lang.String src
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljavassist/CtConstructor;
            0    6     1   src  Ljava/lang/String;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      src   

  public void setBody(javassist.CtConstructor, javassist.ClassMap);
    descriptor: (Ljavassist/CtConstructor;Ljavassist/ClassMap;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // javassist.CtConstructor this
        start local 1 // javassist.CtConstructor src
        start local 2 // javassist.ClassMap map
         0: .line 246
            aload 1 /* src */
            getfield javassist.CtConstructor.declaringClass:Ljavassist/CtClass;
            aload 1 /* src */
            getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
         1: .line 247
            aload 0 /* this */
            getfield javassist.CtConstructor.declaringClass:Ljavassist/CtClass;
            aload 0 /* this */
            getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 2 /* map */
         2: .line 246
            invokestatic javassist.CtConstructor.setBody0:(Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;Ljavassist/ClassMap;)V
         3: .line 248
            return
        end local 2 // javassist.ClassMap map
        end local 1 // javassist.CtConstructor src
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavassist/CtConstructor;
            0    4     1   src  Ljavassist/CtConstructor;
            0    4     2   map  Ljavassist/ClassMap;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      src   
      map   

  public void insertBeforeBody(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // javassist.CtConstructor this
        start local 1 // java.lang.String src
         0: .line 259
            aload 0 /* this */
            getfield javassist.CtConstructor.declaringClass:Ljavassist/CtClass;
            astore 2 /* cc */
        start local 2 // javassist.CtClass cc
         1: .line 260
            aload 2 /* cc */
            invokevirtual javassist.CtClass.checkModify:()V
         2: .line 261
            aload 0 /* this */
            invokevirtual javassist.CtConstructor.isClassInitializer:()Z
            ifeq 4
         3: .line 262
            new javassist.CannotCompileException
            dup
            ldc "class initializer"
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 264
      StackMap locals: javassist.CtClass
      StackMap stack:
            aload 0 /* this */
            getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            astore 3 /* ca */
        start local 3 // javassist.bytecode.CodeAttribute ca
         5: .line 265
            aload 3 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
            astore 4 /* iterator */
        start local 4 // javassist.bytecode.CodeIterator iterator
         6: .line 266
            new javassist.bytecode.Bytecode
            dup
            aload 0 /* this */
            getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
         7: .line 267
            aload 3 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
            aload 3 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
         8: .line 266
            invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
            astore 5 /* b */
        start local 5 // javassist.bytecode.Bytecode b
         9: .line 268
            aload 5 /* b */
            aload 3 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
            invokevirtual javassist.bytecode.Bytecode.setStackDepth:(I)V
        10: .line 269
            new javassist.compiler.Javac
            dup
            aload 5 /* b */
            aload 2 /* cc */
            invokespecial javassist.compiler.Javac.<init>:(Ljavassist/bytecode/Bytecode;Ljavassist/CtClass;)V
            astore 6 /* jv */
        start local 6 // javassist.compiler.Javac jv
        11: .line 271
            aload 6 /* jv */
            aload 0 /* this */
            invokevirtual javassist.CtConstructor.getParameterTypes:()[Ljavassist/CtClass;
            iconst_0
            invokevirtual javassist.compiler.Javac.recordParams:([Ljavassist/CtClass;Z)I
            pop
        12: .line 272
            aload 6 /* jv */
            aload 1 /* src */
            invokevirtual javassist.compiler.Javac.compileStmnt:(Ljava/lang/String;)V
        13: .line 273
            aload 3 /* ca */
            aload 5 /* b */
            invokevirtual javassist.bytecode.Bytecode.getMaxStack:()I
            invokevirtual javassist.bytecode.CodeAttribute.setMaxStack:(I)V
        14: .line 274
            aload 3 /* ca */
            aload 5 /* b */
            invokevirtual javassist.bytecode.Bytecode.getMaxLocals:()I
            invokevirtual javassist.bytecode.CodeAttribute.setMaxLocals:(I)V
        15: .line 275
            aload 4 /* iterator */
            invokevirtual javassist.bytecode.CodeIterator.skipConstructor:()I
            pop
        16: .line 276
            aload 4 /* iterator */
            aload 5 /* b */
            invokevirtual javassist.bytecode.Bytecode.get:()[B
            invokevirtual javassist.bytecode.CodeIterator.insertEx:([B)I
            istore 7 /* pos */
        start local 7 // int pos
        17: .line 277
            aload 4 /* iterator */
            aload 5 /* b */
            invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
            iload 7 /* pos */
            invokevirtual javassist.bytecode.CodeIterator.insert:(Ljavassist/bytecode/ExceptionTable;I)V
        18: .line 278
            aload 0 /* this */
            getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 2 /* cc */
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
            aload 2 /* cc */
            invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
            invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
        end local 7 // int pos
        19: .line 279
            goto 26
        20: .line 280
      StackMap locals: javassist.CtConstructor java.lang.String javassist.CtClass javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator javassist.bytecode.Bytecode javassist.compiler.Javac
      StackMap stack: javassist.NotFoundException
            astore 7 /* e */
        start local 7 // javassist.NotFoundException e
        21: .line 281
            new javassist.CannotCompileException
            dup
            aload 7 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
            athrow
        end local 7 // javassist.NotFoundException e
        22: .line 283
      StackMap locals:
      StackMap stack: javassist.compiler.CompileError
            astore 7 /* e */
        start local 7 // javassist.compiler.CompileError e
        23: .line 284
            new javassist.CannotCompileException
            dup
            aload 7 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/compiler/CompileError;)V
            athrow
        end local 7 // javassist.compiler.CompileError e
        24: .line 286
      StackMap locals:
      StackMap stack: javassist.bytecode.BadBytecode
            astore 7 /* e */
        start local 7 // javassist.bytecode.BadBytecode e
        25: .line 287
            new javassist.CannotCompileException
            dup
            aload 7 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 7 // javassist.bytecode.BadBytecode e
        26: .line 289
      StackMap locals:
      StackMap stack:
            return
        end local 6 // javassist.compiler.Javac jv
        end local 5 // javassist.bytecode.Bytecode b
        end local 4 // javassist.bytecode.CodeIterator iterator
        end local 3 // javassist.bytecode.CodeAttribute ca
        end local 2 // javassist.CtClass cc
        end local 1 // java.lang.String src
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Ljavassist/CtConstructor;
            0   27     1       src  Ljava/lang/String;
            1   27     2        cc  Ljavassist/CtClass;
            5   27     3        ca  Ljavassist/bytecode/CodeAttribute;
            6   27     4  iterator  Ljavassist/bytecode/CodeIterator;
            9   27     5         b  Ljavassist/bytecode/Bytecode;
           11   27     6        jv  Ljavassist/compiler/Javac;
           17   19     7       pos  I
           21   22     7         e  Ljavassist/NotFoundException;
           23   24     7         e  Ljavassist/compiler/CompileError;
           25   26     7         e  Ljavassist/bytecode/BadBytecode;
      Exception table:
        from    to  target  type
          11    19      20  Class javassist.NotFoundException
          11    19      22  Class javassist.compiler.CompileError
          11    19      24  Class javassist.bytecode.BadBytecode
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      src   

  int getStartPosOfBody(javassist.bytecode.CodeAttribute);
    descriptor: (Ljavassist/bytecode/CodeAttribute;)I
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // javassist.CtConstructor this
        start local 1 // javassist.bytecode.CodeAttribute ca
         0: .line 296
            aload 1 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
            astore 2 /* ci */
        start local 2 // javassist.bytecode.CodeIterator ci
         1: .line 298
            aload 2 /* ci */
            invokevirtual javassist.bytecode.CodeIterator.skipConstructor:()I
            pop
         2: .line 299
            aload 2 /* ci */
            invokevirtual javassist.bytecode.CodeIterator.next:()I
         3: ireturn
         4: .line 301
      StackMap locals: javassist.CtConstructor javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator
      StackMap stack: javassist.bytecode.BadBytecode
            astore 3 /* e */
        start local 3 // javassist.bytecode.BadBytecode e
         5: .line 302
            new javassist.CannotCompileException
            dup
            aload 3 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // javassist.bytecode.BadBytecode e
        end local 2 // javassist.bytecode.CodeIterator ci
        end local 1 // javassist.bytecode.CodeAttribute ca
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljavassist/CtConstructor;
            0    6     1    ca  Ljavassist/bytecode/CodeAttribute;
            1    6     2    ci  Ljavassist/bytecode/CodeIterator;
            5    6     3     e  Ljavassist/bytecode/BadBytecode;
      Exception table:
        from    to  target  type
           1     3       4  Class javassist.bytecode.BadBytecode
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      ca    

  public javassist.CtMethod toMethod(java.lang.String, javassist.CtClass);
    descriptor: (Ljava/lang/String;Ljavassist/CtClass;)Ljavassist/CtMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // javassist.CtConstructor this
        start local 1 // java.lang.String name
        start local 2 // javassist.CtClass declaring
         0: .line 329
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* declaring */
            aconst_null
            invokevirtual javassist.CtConstructor.toMethod:(Ljava/lang/String;Ljavassist/CtClass;Ljavassist/ClassMap;)Ljavassist/CtMethod;
            areturn
        end local 2 // javassist.CtClass declaring
        end local 1 // java.lang.String name
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljavassist/CtConstructor;
            0    1     1       name  Ljava/lang/String;
            0    1     2  declaring  Ljavassist/CtClass;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
           Name  Flags
      name       
      declaring  

  public javassist.CtMethod toMethod(java.lang.String, javassist.CtClass, javassist.ClassMap);
    descriptor: (Ljava/lang/String;Ljavassist/CtClass;Ljavassist/ClassMap;)Ljavassist/CtMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // javassist.CtConstructor this
        start local 1 // java.lang.String name
        start local 2 // javassist.CtClass declaring
        start local 3 // javassist.ClassMap map
         0: .line 363
            new javassist.CtMethod
            dup
            aconst_null
            aload 2 /* declaring */
            invokespecial javassist.CtMethod.<init>:(Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;)V
            astore 4 /* method */
        start local 4 // javassist.CtMethod method
         1: .line 364
            aload 4 /* method */
            aload 0 /* this */
            iconst_0
            aload 3 /* map */
            invokevirtual javassist.CtMethod.copy:(Ljavassist/CtBehavior;ZLjavassist/ClassMap;)V
         2: .line 365
            aload 0 /* this */
            invokevirtual javassist.CtConstructor.isConstructor:()Z
            ifeq 13
         3: .line 366
            aload 4 /* method */
            invokevirtual javassist.CtMethod.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
            astore 5 /* minfo */
        start local 5 // javassist.bytecode.MethodInfo minfo
         4: .line 367
            aload 5 /* minfo */
            invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            astore 6 /* ca */
        start local 6 // javassist.bytecode.CodeAttribute ca
         5: .line 368
            aload 6 /* ca */
            ifnull 13
         6: .line 369
            aload 6 /* ca */
            invokestatic javassist.CtConstructor.removeConsCall:(Ljavassist/bytecode/CodeAttribute;)V
         7: .line 371
            aload 0 /* this */
            getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 2 /* declaring */
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
         8: .line 372
            aload 2 /* declaring */
            invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
         9: .line 371
            invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
        10: .line 373
            goto 13
        11: .line 374
      StackMap locals: javassist.CtConstructor java.lang.String javassist.CtClass javassist.ClassMap javassist.CtMethod javassist.bytecode.MethodInfo javassist.bytecode.CodeAttribute
      StackMap stack: javassist.bytecode.BadBytecode
            astore 7 /* e */
        start local 7 // javassist.bytecode.BadBytecode e
        12: .line 375
            new javassist.CannotCompileException
            dup
            aload 7 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 7 // javassist.bytecode.BadBytecode e
        end local 6 // javassist.bytecode.CodeAttribute ca
        end local 5 // javassist.bytecode.MethodInfo minfo
        13: .line 380
      StackMap locals:
      StackMap stack:
            aload 4 /* method */
            aload 1 /* name */
            invokevirtual javassist.CtMethod.setName:(Ljava/lang/String;)V
        14: .line 381
            aload 4 /* method */
            areturn
        end local 4 // javassist.CtMethod method
        end local 3 // javassist.ClassMap map
        end local 2 // javassist.CtClass declaring
        end local 1 // java.lang.String name
        end local 0 // javassist.CtConstructor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Ljavassist/CtConstructor;
            0   15     1       name  Ljava/lang/String;
            0   15     2  declaring  Ljavassist/CtClass;
            0   15     3        map  Ljavassist/ClassMap;
            1   15     4     method  Ljavassist/CtMethod;
            4   13     5      minfo  Ljavassist/bytecode/MethodInfo;
            5   13     6         ca  Ljavassist/bytecode/CodeAttribute;
           12   13     7          e  Ljavassist/bytecode/BadBytecode;
      Exception table:
        from    to  target  type
           7    10      11  Class javassist.bytecode.BadBytecode
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
           Name  Flags
      name       
      declaring  
      map        

  private static void removeConsCall(javassist.bytecode.CodeAttribute);
    descriptor: (Ljavassist/bytecode/CodeAttribute;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // javassist.bytecode.CodeAttribute ca
         0: .line 387
            aload 0 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
            astore 1 /* iterator */
        start local 1 // javassist.bytecode.CodeIterator iterator
         1: .line 389
            aload 1 /* iterator */
            invokevirtual javassist.bytecode.CodeIterator.skipConstructor:()I
            istore 2 /* pos */
        start local 2 // int pos
         2: .line 390
            iload 2 /* pos */
            iflt 21
         3: .line 391
            aload 1 /* iterator */
            iload 2 /* pos */
            iconst_1
            iadd
            invokevirtual javassist.bytecode.CodeIterator.u16bitAt:(I)I
            istore 3 /* mref */
        start local 3 // int mref
         4: .line 392
            aload 0 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getConstPool:()Ljavassist/bytecode/ConstPool;
            iload 3 /* mref */
            invokevirtual javassist.bytecode.ConstPool.getMethodrefType:(I)Ljava/lang/String;
            astore 4 /* desc */
        start local 4 // java.lang.String desc
         5: .line 393
            aload 4 /* desc */
            invokestatic javassist.bytecode.Descriptor.numOfParameters:(Ljava/lang/String;)I
            iconst_1
            iadd
            istore 5 /* num */
        start local 5 // int num
         6: .line 394
            iload 5 /* num */
            iconst_3
            if_icmple 8
         7: .line 395
            aload 1 /* iterator */
            iload 2 /* pos */
            iload 5 /* num */
            iconst_3
            isub
            iconst_0
            invokevirtual javassist.bytecode.CodeIterator.insertGapAt:(IIZ)Ljavassist/bytecode/CodeIterator$Gap;
            getfield javassist.bytecode.CodeIterator$Gap.position:I
            istore 2 /* pos */
         8: .line 397
      StackMap locals: javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator int int java.lang.String int
      StackMap stack:
            aload 1 /* iterator */
            bipush 87
            iload 2 /* pos */
            iinc 2 /* pos */ 1
            invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
         9: .line 398
            aload 1 /* iterator */
            iconst_0
            iload 2 /* pos */
            invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
        10: .line 399
            aload 1 /* iterator */
            iconst_0
            iload 2 /* pos */
            iconst_1
            iadd
            invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
        11: .line 400
            new javassist.bytecode.Descriptor$Iterator
            dup
            aload 4 /* desc */
            invokespecial javassist.bytecode.Descriptor$Iterator.<init>:(Ljava/lang/String;)V
            astore 6 /* it */
        start local 6 // javassist.bytecode.Descriptor$Iterator it
        12: .line 402
      StackMap locals: javassist.bytecode.Descriptor$Iterator
      StackMap stack:
            aload 6 /* it */
            invokevirtual javassist.bytecode.Descriptor$Iterator.next:()I
            pop
        13: .line 403
            aload 6 /* it */
            invokevirtual javassist.bytecode.Descriptor$Iterator.isParameter:()Z
            ifeq 21
        14: .line 404
            aload 1 /* iterator */
            aload 6 /* it */
            invokevirtual javassist.bytecode.Descriptor$Iterator.is2byte:()Z
            ifeq 15
            bipush 88
            goto 16
      StackMap locals:
      StackMap stack: javassist.bytecode.CodeIterator
        15: bipush 87
        16: .line 405
      StackMap locals: javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator int int java.lang.String int javassist.bytecode.Descriptor$Iterator
      StackMap stack: javassist.bytecode.CodeIterator int
            iload 2 /* pos */
            iinc 2 /* pos */ 1
        17: .line 404
            invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
        18: .line 401
            goto 12
        end local 6 // javassist.bytecode.Descriptor$Iterator it
        end local 5 // int num
        end local 4 // java.lang.String desc
        end local 3 // int mref
        end local 2 // int pos
        19: .line 411
      StackMap locals: javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator
      StackMap stack: javassist.bytecode.BadBytecode
            astore 2 /* e */
        start local 2 // javassist.bytecode.BadBytecode e
        20: .line 412
            new javassist.CannotCompileException
            dup
            aload 2 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // javassist.bytecode.BadBytecode e
        21: .line 414
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javassist.bytecode.CodeIterator iterator
        end local 0 // javassist.bytecode.CodeAttribute ca
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0        ca  Ljavassist/bytecode/CodeAttribute;
            1   22     1  iterator  Ljavassist/bytecode/CodeIterator;
            2   19     2       pos  I
            4   19     3      mref  I
            5   19     4      desc  Ljava/lang/String;
            6   19     5       num  I
           12   19     6        it  Ljavassist/bytecode/Descriptor$Iterator;
           20   21     2         e  Ljavassist/bytecode/BadBytecode;
      Exception table:
        from    to  target  type
           1    19      19  Class javassist.bytecode.BadBytecode
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      ca    
}
SourceFile: "CtConstructor.java"
InnerClasses:
  public Gap = javassist.bytecode.CodeIterator$Gap of javassist.bytecode.CodeIterator
  public Iterator = javassist.bytecode.Descriptor$Iterator of javassist.bytecode.Descriptor