public class javassist.CtNewMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javassist.CtNewMethod
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtNewMethod this
         0: .line 35
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javassist.CtNewMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtNewMethod;

  public static javassist.CtMethod make(java.lang.String, javassist.CtClass);
    descriptor: (Ljava/lang/String;Ljavassist/CtClass;)Ljavassist/CtMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String src
        start local 1 // javassist.CtClass declaring
         0: .line 50
            aload 0 /* src */
            aload 1 /* declaring */
            aconst_null
            aconst_null
            invokestatic javassist.CtNewMethod.make:(Ljava/lang/String;Ljavassist/CtClass;Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtMethod;
            areturn
        end local 1 // javassist.CtClass declaring
        end local 0 // java.lang.String src
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0        src  Ljava/lang/String;
            0    1     1  declaring  Ljavassist/CtClass;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
           Name  Flags
      src        
      declaring  

  public static javassist.CtMethod make(java.lang.String, javassist.CtClass, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljavassist/CtClass;Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // java.lang.String src
        start local 1 // javassist.CtClass declaring
        start local 2 // java.lang.String delegateObj
        start local 3 // java.lang.String delegateMethod
         0: .line 74
            new javassist.compiler.Javac
            dup
            aload 1 /* declaring */
            invokespecial javassist.compiler.Javac.<init>:(Ljavassist/CtClass;)V
            astore 4 /* compiler */
        start local 4 // javassist.compiler.Javac compiler
         1: .line 76
            aload 3 /* delegateMethod */
            ifnull 3
         2: .line 77
            aload 4 /* compiler */
            aload 2 /* delegateObj */
            aload 3 /* delegateMethod */
            invokevirtual javassist.compiler.Javac.recordProceed:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 79
      StackMap locals: javassist.compiler.Javac
      StackMap stack:
            aload 4 /* compiler */
            aload 0 /* src */
            invokevirtual javassist.compiler.Javac.compile:(Ljava/lang/String;)Ljavassist/CtMember;
            astore 5 /* obj */
        start local 5 // javassist.CtMember obj
         4: .line 80
            aload 5 /* obj */
            instanceof javassist.CtMethod
            ifeq 9
         5: .line 81
            aload 5 /* obj */
            checkcast javassist.CtMethod
         6: areturn
        end local 5 // javassist.CtMember obj
         7: .line 83
      StackMap locals:
      StackMap stack: javassist.compiler.CompileError
            astore 5 /* e */
        start local 5 // javassist.compiler.CompileError e
         8: .line 84
            new javassist.CannotCompileException
            dup
            aload 5 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/compiler/CompileError;)V
            athrow
        end local 5 // javassist.compiler.CompileError e
         9: .line 87
      StackMap locals:
      StackMap stack:
            new javassist.CannotCompileException
            dup
            ldc "not a method"
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // javassist.compiler.Javac compiler
        end local 3 // java.lang.String delegateMethod
        end local 2 // java.lang.String delegateObj
        end local 1 // javassist.CtClass declaring
        end local 0 // java.lang.String src
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0             src  Ljava/lang/String;
            0   10     1       declaring  Ljavassist/CtClass;
            0   10     2     delegateObj  Ljava/lang/String;
            0   10     3  delegateMethod  Ljava/lang/String;
            1   10     4        compiler  Ljavassist/compiler/Javac;
            4    7     5             obj  Ljavassist/CtMember;
            8    9     5               e  Ljavassist/compiler/CompileError;
      Exception table:
        from    to  target  type
           1     6       7  Class javassist.compiler.CompileError
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
                Name  Flags
      src             
      declaring       
      delegateObj     
      delegateMethod  

  public static javassist.CtMethod make(javassist.CtClass, java.lang.String, javassist.CtClass[], javassist.CtClass[], java.lang.String, javassist.CtClass);
    descriptor: (Ljavassist/CtClass;Ljava/lang/String;[Ljavassist/CtClass;[Ljavassist/CtClass;Ljava/lang/String;Ljavassist/CtClass;)Ljavassist/CtMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // javassist.CtClass returnType
        start local 1 // java.lang.String mname
        start local 2 // javassist.CtClass[] parameters
        start local 3 // javassist.CtClass[] exceptions
        start local 4 // java.lang.String body
        start local 5 // javassist.CtClass declaring
         0: .line 111
            iconst_1
            aload 0 /* returnType */
            aload 1 /* mname */
            aload 2 /* parameters */
            aload 3 /* exceptions */
         1: .line 112
            aload 4 /* body */
            aload 5 /* declaring */
         2: .line 111
            invokestatic javassist.CtNewMethod.make:(ILjavassist/CtClass;Ljava/lang/String;[Ljavassist/CtClass;[Ljavassist/CtClass;Ljava/lang/String;Ljavassist/CtClass;)Ljavassist/CtMethod;
            areturn
        end local 5 // javassist.CtClass declaring
        end local 4 // java.lang.String body
        end local 3 // javassist.CtClass[] exceptions
        end local 2 // javassist.CtClass[] parameters
        end local 1 // java.lang.String mname
        end local 0 // javassist.CtClass returnType
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  returnType  Ljavassist/CtClass;
            0    3     1       mname  Ljava/lang/String;
            0    3     2  parameters  [Ljavassist/CtClass;
            0    3     3  exceptions  [Ljavassist/CtClass;
            0    3     4        body  Ljava/lang/String;
            0    3     5   declaring  Ljavassist/CtClass;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
            Name  Flags
      returnType  
      mname       
      parameters  
      exceptions  
      body        
      declaring   

  public static javassist.CtMethod make(int, javassist.CtClass, java.lang.String, javassist.CtClass[], javassist.CtClass[], java.lang.String, javassist.CtClass);
    descriptor: (ILjavassist/CtClass;Ljava/lang/String;[Ljavassist/CtClass;[Ljavassist/CtClass;Ljava/lang/String;Ljavassist/CtClass;)Ljavassist/CtMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=7
        start local 0 // int modifiers
        start local 1 // javassist.CtClass returnType
        start local 2 // java.lang.String mname
        start local 3 // javassist.CtClass[] parameters
        start local 4 // javassist.CtClass[] exceptions
        start local 5 // java.lang.String body
        start local 6 // javassist.CtClass declaring
         0: .line 140
            new javassist.CtMethod
            dup
            aload 1 /* returnType */
            aload 2 /* mname */
            aload 3 /* parameters */
            aload 6 /* declaring */
            invokespecial javassist.CtMethod.<init>:(Ljavassist/CtClass;Ljava/lang/String;[Ljavassist/CtClass;Ljavassist/CtClass;)V
         1: .line 139
            astore 7 /* cm */
        start local 7 // javassist.CtMethod cm
         2: .line 141
            aload 7 /* cm */
            iload 0 /* modifiers */
            invokevirtual javassist.CtMethod.setModifiers:(I)V
         3: .line 142
            aload 7 /* cm */
            aload 4 /* exceptions */
            invokevirtual javassist.CtMethod.setExceptionTypes:([Ljavassist/CtClass;)V
         4: .line 143
            aload 7 /* cm */
            aload 5 /* body */
            invokevirtual javassist.CtMethod.setBody:(Ljava/lang/String;)V
         5: .line 144
            aload 7 /* cm */
         6: areturn
        end local 7 // javassist.CtMethod cm
         7: .line 146
      StackMap locals:
      StackMap stack: javassist.NotFoundException
            astore 7 /* e */
        start local 7 // javassist.NotFoundException e
         8: .line 147
            new javassist.CannotCompileException
            dup
            aload 7 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
            athrow
        end local 7 // javassist.NotFoundException e
        end local 6 // javassist.CtClass declaring
        end local 5 // java.lang.String body
        end local 4 // javassist.CtClass[] exceptions
        end local 3 // javassist.CtClass[] parameters
        end local 2 // java.lang.String mname
        end local 1 // javassist.CtClass returnType
        end local 0 // int modifiers
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0   modifiers  I
            0    9     1  returnType  Ljavassist/CtClass;
            0    9     2       mname  Ljava/lang/String;
            0    9     3  parameters  [Ljavassist/CtClass;
            0    9     4  exceptions  [Ljavassist/CtClass;
            0    9     5        body  Ljava/lang/String;
            0    9     6   declaring  Ljavassist/CtClass;
            2    7     7          cm  Ljavassist/CtMethod;
            8    9     7           e  Ljavassist/NotFoundException;
      Exception table:
        from    to  target  type
           0     6       7  Class javassist.NotFoundException
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
            Name  Flags
      modifiers   
      returnType  
      mname       
      parameters  
      exceptions  
      body        
      declaring   

  public static javassist.CtMethod copy(javassist.CtMethod, javassist.CtClass, javassist.ClassMap);
    descriptor: (Ljavassist/CtMethod;Ljavassist/CtClass;Ljavassist/ClassMap;)Ljavassist/CtMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // javassist.CtMethod src
        start local 1 // javassist.CtClass declaring
        start local 2 // javassist.ClassMap map
         0: .line 168
            new javassist.CtMethod
            dup
            aload 0 /* src */
            aload 1 /* declaring */
            aload 2 /* map */
            invokespecial javassist.CtMethod.<init>:(Ljavassist/CtMethod;Ljavassist/CtClass;Ljavassist/ClassMap;)V
            areturn
        end local 2 // javassist.ClassMap map
        end local 1 // javassist.CtClass declaring
        end local 0 // javassist.CtMethod src
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0        src  Ljavassist/CtMethod;
            0    1     1  declaring  Ljavassist/CtClass;
            0    1     2        map  Ljavassist/ClassMap;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
           Name  Flags
      src        
      declaring  
      map        

  public static javassist.CtMethod copy(javassist.CtMethod, java.lang.String, javassist.CtClass, javassist.ClassMap);
    descriptor: (Ljavassist/CtMethod;Ljava/lang/String;Ljavassist/CtClass;Ljavassist/ClassMap;)Ljavassist/CtMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // javassist.CtMethod src
        start local 1 // java.lang.String name
        start local 2 // javassist.CtClass declaring
        start local 3 // javassist.ClassMap map
         0: .line 190
            new javassist.CtMethod
            dup
            aload 0 /* src */
            aload 2 /* declaring */
            aload 3 /* map */
            invokespecial javassist.CtMethod.<init>:(Ljavassist/CtMethod;Ljavassist/CtClass;Ljavassist/ClassMap;)V
            astore 4 /* cm */
        start local 4 // javassist.CtMethod cm
         1: .line 191
            aload 4 /* cm */
            aload 1 /* name */
            invokevirtual javassist.CtMethod.setName:(Ljava/lang/String;)V
         2: .line 192
            aload 4 /* cm */
            areturn
        end local 4 // javassist.CtMethod cm
        end local 3 // javassist.ClassMap map
        end local 2 // javassist.CtClass declaring
        end local 1 // java.lang.String name
        end local 0 // javassist.CtMethod src
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0        src  Ljavassist/CtMethod;
            0    3     1       name  Ljava/lang/String;
            0    3     2  declaring  Ljavassist/CtClass;
            0    3     3        map  Ljavassist/ClassMap;
            1    3     4         cm  Ljavassist/CtMethod;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
           Name  Flags
      src        
      name       
      declaring  
      map        

  public static javassist.CtMethod abstractMethod(javassist.CtClass, java.lang.String, javassist.CtClass[], javassist.CtClass[], javassist.CtClass);
    descriptor: (Ljavassist/CtClass;Ljava/lang/String;[Ljavassist/CtClass;[Ljavassist/CtClass;Ljavassist/CtClass;)Ljavassist/CtMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // javassist.CtClass returnType
        start local 1 // java.lang.String mname
        start local 2 // javassist.CtClass[] parameters
        start local 3 // javassist.CtClass[] exceptions
        start local 4 // javassist.CtClass declaring
         0: .line 213
            new javassist.CtMethod
            dup
            aload 0 /* returnType */
            aload 1 /* mname */
            aload 2 /* parameters */
            aload 4 /* declaring */
            invokespecial javassist.CtMethod.<init>:(Ljavassist/CtClass;Ljava/lang/String;[Ljavassist/CtClass;Ljavassist/CtClass;)V
            astore 5 /* cm */
        start local 5 // javassist.CtMethod cm
         1: .line 214
            aload 5 /* cm */
            aload 3 /* exceptions */
            invokevirtual javassist.CtMethod.setExceptionTypes:([Ljavassist/CtClass;)V
         2: .line 215
            aload 5 /* cm */
            areturn
        end local 5 // javassist.CtMethod cm
        end local 4 // javassist.CtClass declaring
        end local 3 // javassist.CtClass[] exceptions
        end local 2 // javassist.CtClass[] parameters
        end local 1 // java.lang.String mname
        end local 0 // javassist.CtClass returnType
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  returnType  Ljavassist/CtClass;
            0    3     1       mname  Ljava/lang/String;
            0    3     2  parameters  [Ljavassist/CtClass;
            0    3     3  exceptions  [Ljavassist/CtClass;
            0    3     4   declaring  Ljavassist/CtClass;
            1    3     5          cm  Ljavassist/CtMethod;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
            Name  Flags
      returnType  
      mname       
      parameters  
      exceptions  
      declaring   

  public static javassist.CtMethod getter(java.lang.String, javassist.CtField);
    descriptor: (Ljava/lang/String;Ljavassist/CtField;)Ljavassist/CtMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // java.lang.String methodName
        start local 1 // javassist.CtField field
         0: .line 230
            aload 1 /* field */
            invokevirtual javassist.CtField.getFieldInfo2:()Ljavassist/bytecode/FieldInfo;
            astore 2 /* finfo */
        start local 2 // javassist.bytecode.FieldInfo finfo
         1: .line 231
            aload 2 /* finfo */
            invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
            astore 3 /* fieldType */
        start local 3 // java.lang.String fieldType
         2: .line 232
            new java.lang.StringBuilder
            dup
            ldc "()"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* fieldType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* desc */
        start local 4 // java.lang.String desc
         3: .line 233
            aload 2 /* finfo */
            invokevirtual javassist.bytecode.FieldInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
            astore 5 /* cp */
        start local 5 // javassist.bytecode.ConstPool cp
         4: .line 234
            new javassist.bytecode.MethodInfo
            dup
            aload 5 /* cp */
            aload 0 /* methodName */
            aload 4 /* desc */
            invokespecial javassist.bytecode.MethodInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;Ljava/lang/String;)V
            astore 6 /* minfo */
        start local 6 // javassist.bytecode.MethodInfo minfo
         5: .line 235
            aload 6 /* minfo */
            iconst_1
            invokevirtual javassist.bytecode.MethodInfo.setAccessFlags:(I)V
         6: .line 237
            new javassist.bytecode.Bytecode
            dup
            aload 5 /* cp */
            iconst_2
            iconst_1
            invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
            astore 7 /* code */
        start local 7 // javassist.bytecode.Bytecode code
         7: .line 239
            aload 2 /* finfo */
            invokevirtual javassist.bytecode.FieldInfo.getName:()Ljava/lang/String;
            astore 8 /* fieldName */
        start local 8 // java.lang.String fieldName
         8: .line 240
            aload 2 /* finfo */
            invokevirtual javassist.bytecode.FieldInfo.getAccessFlags:()I
            bipush 8
            iand
            ifne 12
         9: .line 241
            aload 7 /* code */
            iconst_0
            invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
        10: .line 242
            aload 7 /* code */
            getstatic javassist.bytecode.Bytecode.THIS:Ljavassist/CtClass;
            aload 8 /* fieldName */
            aload 3 /* fieldType */
            invokevirtual javassist.bytecode.Bytecode.addGetfield:(Ljavassist/CtClass;Ljava/lang/String;Ljava/lang/String;)V
        11: .line 243
            goto 13
        12: .line 245
      StackMap locals: java.lang.String javassist.CtField javassist.bytecode.FieldInfo java.lang.String java.lang.String javassist.bytecode.ConstPool javassist.bytecode.MethodInfo javassist.bytecode.Bytecode java.lang.String
      StackMap stack:
            aload 7 /* code */
            getstatic javassist.bytecode.Bytecode.THIS:Ljavassist/CtClass;
            aload 8 /* fieldName */
            aload 3 /* fieldType */
            invokevirtual javassist.bytecode.Bytecode.addGetstatic:(Ljavassist/CtClass;Ljava/lang/String;Ljava/lang/String;)V
        13: .line 247
      StackMap locals:
      StackMap stack:
            aload 7 /* code */
            aload 1 /* field */
            invokevirtual javassist.CtField.getType:()Ljavassist/CtClass;
            invokevirtual javassist.bytecode.Bytecode.addReturn:(Ljavassist/CtClass;)V
        end local 8 // java.lang.String fieldName
        14: .line 248
            goto 17
        15: .line 249
      StackMap locals: java.lang.String javassist.CtField javassist.bytecode.FieldInfo java.lang.String java.lang.String javassist.bytecode.ConstPool javassist.bytecode.MethodInfo javassist.bytecode.Bytecode
      StackMap stack: javassist.NotFoundException
            astore 8 /* e */
        start local 8 // javassist.NotFoundException e
        16: .line 250
            new javassist.CannotCompileException
            dup
            aload 8 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
            athrow
        end local 8 // javassist.NotFoundException e
        17: .line 253
      StackMap locals:
      StackMap stack:
            aload 6 /* minfo */
            aload 7 /* code */
            invokevirtual javassist.bytecode.Bytecode.toCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            invokevirtual javassist.bytecode.MethodInfo.setCodeAttribute:(Ljavassist/bytecode/CodeAttribute;)V
        18: .line 254
            aload 1 /* field */
            invokevirtual javassist.CtField.getDeclaringClass:()Ljavassist/CtClass;
            astore 8 /* cc */
        start local 8 // javassist.CtClass cc
        19: .line 256
            new javassist.CtMethod
            dup
            aload 6 /* minfo */
            aload 8 /* cc */
            invokespecial javassist.CtMethod.<init>:(Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;)V
            areturn
        end local 8 // javassist.CtClass cc
        end local 7 // javassist.bytecode.Bytecode code
        end local 6 // javassist.bytecode.MethodInfo minfo
        end local 5 // javassist.bytecode.ConstPool cp
        end local 4 // java.lang.String desc
        end local 3 // java.lang.String fieldType
        end local 2 // javassist.bytecode.FieldInfo finfo
        end local 1 // javassist.CtField field
        end local 0 // java.lang.String methodName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0  methodName  Ljava/lang/String;
            0   20     1       field  Ljavassist/CtField;
            1   20     2       finfo  Ljavassist/bytecode/FieldInfo;
            2   20     3   fieldType  Ljava/lang/String;
            3   20     4        desc  Ljava/lang/String;
            4   20     5          cp  Ljavassist/bytecode/ConstPool;
            5   20     6       minfo  Ljavassist/bytecode/MethodInfo;
            7   20     7        code  Ljavassist/bytecode/Bytecode;
            8   14     8   fieldName  Ljava/lang/String;
           16   17     8           e  Ljavassist/NotFoundException;
           19   20     8          cc  Ljavassist/CtClass;
      Exception table:
        from    to  target  type
           7    14      15  Class javassist.NotFoundException
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
            Name  Flags
      methodName  
      field       

  public static javassist.CtMethod setter(java.lang.String, javassist.CtField);
    descriptor: (Ljava/lang/String;Ljavassist/CtField;)Ljavassist/CtMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // java.lang.String methodName
        start local 1 // javassist.CtField field
         0: .line 273
            aload 1 /* field */
            invokevirtual javassist.CtField.getFieldInfo2:()Ljavassist/bytecode/FieldInfo;
            astore 2 /* finfo */
        start local 2 // javassist.bytecode.FieldInfo finfo
         1: .line 274
            aload 2 /* finfo */
            invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
            astore 3 /* fieldType */
        start local 3 // java.lang.String fieldType
         2: .line 275
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* fieldType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")V"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* desc */
        start local 4 // java.lang.String desc
         3: .line 276
            aload 2 /* finfo */
            invokevirtual javassist.bytecode.FieldInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
            astore 5 /* cp */
        start local 5 // javassist.bytecode.ConstPool cp
         4: .line 277
            new javassist.bytecode.MethodInfo
            dup
            aload 5 /* cp */
            aload 0 /* methodName */
            aload 4 /* desc */
            invokespecial javassist.bytecode.MethodInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;Ljava/lang/String;)V
            astore 6 /* minfo */
        start local 6 // javassist.bytecode.MethodInfo minfo
         5: .line 278
            aload 6 /* minfo */
            iconst_1
            invokevirtual javassist.bytecode.MethodInfo.setAccessFlags:(I)V
         6: .line 280
            new javassist.bytecode.Bytecode
            dup
            aload 5 /* cp */
            iconst_3
            iconst_3
            invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
            astore 7 /* code */
        start local 7 // javassist.bytecode.Bytecode code
         7: .line 282
            aload 2 /* finfo */
            invokevirtual javassist.bytecode.FieldInfo.getName:()Ljava/lang/String;
            astore 8 /* fieldName */
        start local 8 // java.lang.String fieldName
         8: .line 283
            aload 2 /* finfo */
            invokevirtual javassist.bytecode.FieldInfo.getAccessFlags:()I
            bipush 8
            iand
            ifne 13
         9: .line 284
            aload 7 /* code */
            iconst_0
            invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
        10: .line 285
            aload 7 /* code */
            iconst_1
            aload 1 /* field */
            invokevirtual javassist.CtField.getType:()Ljavassist/CtClass;
            invokevirtual javassist.bytecode.Bytecode.addLoad:(ILjavassist/CtClass;)I
            pop
        11: .line 286
            aload 7 /* code */
            getstatic javassist.bytecode.Bytecode.THIS:Ljavassist/CtClass;
            aload 8 /* fieldName */
            aload 3 /* fieldType */
            invokevirtual javassist.bytecode.Bytecode.addPutfield:(Ljavassist/CtClass;Ljava/lang/String;Ljava/lang/String;)V
        12: .line 287
            goto 15
        13: .line 289
      StackMap locals: java.lang.String javassist.CtField javassist.bytecode.FieldInfo java.lang.String java.lang.String javassist.bytecode.ConstPool javassist.bytecode.MethodInfo javassist.bytecode.Bytecode java.lang.String
      StackMap stack:
            aload 7 /* code */
            iconst_1
            aload 1 /* field */
            invokevirtual javassist.CtField.getType:()Ljavassist/CtClass;
            invokevirtual javassist.bytecode.Bytecode.addLoad:(ILjavassist/CtClass;)I
            pop
        14: .line 290
            aload 7 /* code */
            getstatic javassist.bytecode.Bytecode.THIS:Ljavassist/CtClass;
            aload 8 /* fieldName */
            aload 3 /* fieldType */
            invokevirtual javassist.bytecode.Bytecode.addPutstatic:(Ljavassist/CtClass;Ljava/lang/String;Ljava/lang/String;)V
        15: .line 293
      StackMap locals:
      StackMap stack:
            aload 7 /* code */
            aconst_null
            invokevirtual javassist.bytecode.Bytecode.addReturn:(Ljavassist/CtClass;)V
        end local 8 // java.lang.String fieldName
        16: .line 294
            goto 19
        17: .line 295
      StackMap locals: java.lang.String javassist.CtField javassist.bytecode.FieldInfo java.lang.String java.lang.String javassist.bytecode.ConstPool javassist.bytecode.MethodInfo javassist.bytecode.Bytecode
      StackMap stack: javassist.NotFoundException
            astore 8 /* e */
        start local 8 // javassist.NotFoundException e
        18: .line 296
            new javassist.CannotCompileException
            dup
            aload 8 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
            athrow
        end local 8 // javassist.NotFoundException e
        19: .line 299
      StackMap locals:
      StackMap stack:
            aload 6 /* minfo */
            aload 7 /* code */
            invokevirtual javassist.bytecode.Bytecode.toCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            invokevirtual javassist.bytecode.MethodInfo.setCodeAttribute:(Ljavassist/bytecode/CodeAttribute;)V
        20: .line 300
            aload 1 /* field */
            invokevirtual javassist.CtField.getDeclaringClass:()Ljavassist/CtClass;
            astore 8 /* cc */
        start local 8 // javassist.CtClass cc
        21: .line 302
            new javassist.CtMethod
            dup
            aload 6 /* minfo */
            aload 8 /* cc */
            invokespecial javassist.CtMethod.<init>:(Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;)V
            areturn
        end local 8 // javassist.CtClass cc
        end local 7 // javassist.bytecode.Bytecode code
        end local 6 // javassist.bytecode.MethodInfo minfo
        end local 5 // javassist.bytecode.ConstPool cp
        end local 4 // java.lang.String desc
        end local 3 // java.lang.String fieldType
        end local 2 // javassist.bytecode.FieldInfo finfo
        end local 1 // javassist.CtField field
        end local 0 // java.lang.String methodName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0  methodName  Ljava/lang/String;
            0   22     1       field  Ljavassist/CtField;
            1   22     2       finfo  Ljavassist/bytecode/FieldInfo;
            2   22     3   fieldType  Ljava/lang/String;
            3   22     4        desc  Ljava/lang/String;
            4   22     5          cp  Ljavassist/bytecode/ConstPool;
            5   22     6       minfo  Ljavassist/bytecode/MethodInfo;
            7   22     7        code  Ljavassist/bytecode/Bytecode;
            8   16     8   fieldName  Ljava/lang/String;
           18   19     8           e  Ljavassist/NotFoundException;
           21   22     8          cc  Ljavassist/CtClass;
      Exception table:
        from    to  target  type
           7    16      17  Class javassist.NotFoundException
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
            Name  Flags
      methodName  
      field       

  public static javassist.CtMethod delegator(javassist.CtMethod, javassist.CtClass);
    descriptor: (Ljavassist/CtMethod;Ljavassist/CtClass;)Ljavassist/CtMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javassist.CtMethod delegate
        start local 1 // javassist.CtClass declaring
         0: .line 331
            aload 0 /* delegate */
            aload 1 /* declaring */
            invokestatic javassist.CtNewMethod.delegator0:(Ljavassist/CtMethod;Ljavassist/CtClass;)Ljavassist/CtMethod;
         1: areturn
         2: .line 333
      StackMap locals:
      StackMap stack: javassist.NotFoundException
            astore 2 /* e */
        start local 2 // javassist.NotFoundException e
         3: .line 334
            new javassist.CannotCompileException
            dup
            aload 2 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
            athrow
        end local 2 // javassist.NotFoundException e
        end local 1 // javassist.CtClass declaring
        end local 0 // javassist.CtMethod delegate
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0   delegate  Ljavassist/CtMethod;
            0    4     1  declaring  Ljavassist/CtClass;
            3    4     2          e  Ljavassist/NotFoundException;
      Exception table:
        from    to  target  type
           0     1       2  Class javassist.NotFoundException
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
           Name  Flags
      delegate   
      declaring  

  private static javassist.CtMethod delegator0(javassist.CtMethod, javassist.CtClass);
    descriptor: (Ljavassist/CtMethod;Ljavassist/CtClass;)Ljavassist/CtMethod;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=13, args_size=2
        start local 0 // javassist.CtMethod delegate
        start local 1 // javassist.CtClass declaring
         0: .line 341
            aload 0 /* delegate */
            invokevirtual javassist.CtMethod.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
            astore 2 /* deleInfo */
        start local 2 // javassist.bytecode.MethodInfo deleInfo
         1: .line 342
            aload 2 /* deleInfo */
            invokevirtual javassist.bytecode.MethodInfo.getName:()Ljava/lang/String;
            astore 3 /* methodName */
        start local 3 // java.lang.String methodName
         2: .line 343
            aload 2 /* deleInfo */
            invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
            astore 4 /* desc */
        start local 4 // java.lang.String desc
         3: .line 344
            aload 1 /* declaring */
            invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
            invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
            astore 5 /* cp */
        start local 5 // javassist.bytecode.ConstPool cp
         4: .line 345
            new javassist.bytecode.MethodInfo
            dup
            aload 5 /* cp */
            aload 3 /* methodName */
            aload 4 /* desc */
            invokespecial javassist.bytecode.MethodInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;Ljava/lang/String;)V
            astore 6 /* minfo */
        start local 6 // javassist.bytecode.MethodInfo minfo
         5: .line 346
            aload 6 /* minfo */
            aload 2 /* deleInfo */
            invokevirtual javassist.bytecode.MethodInfo.getAccessFlags:()I
            invokevirtual javassist.bytecode.MethodInfo.setAccessFlags:(I)V
         6: .line 348
            aload 2 /* deleInfo */
            invokevirtual javassist.bytecode.MethodInfo.getExceptionsAttribute:()Ljavassist/bytecode/ExceptionsAttribute;
            astore 7 /* eattr */
        start local 7 // javassist.bytecode.ExceptionsAttribute eattr
         7: .line 349
            aload 7 /* eattr */
            ifnull 11
         8: .line 350
            aload 6 /* minfo */
         9: .line 351
            aload 7 /* eattr */
            aload 5 /* cp */
            aconst_null
            invokevirtual javassist.bytecode.ExceptionsAttribute.copy:(Ljavassist/bytecode/ConstPool;Ljava/util/Map;)Ljavassist/bytecode/AttributeInfo;
            checkcast javassist.bytecode.ExceptionsAttribute
        10: .line 350
            invokevirtual javassist.bytecode.MethodInfo.setExceptionsAttribute:(Ljavassist/bytecode/ExceptionsAttribute;)V
        11: .line 353
      StackMap locals: javassist.CtMethod javassist.CtClass javassist.bytecode.MethodInfo java.lang.String java.lang.String javassist.bytecode.ConstPool javassist.bytecode.MethodInfo javassist.bytecode.ExceptionsAttribute
      StackMap stack:
            new javassist.bytecode.Bytecode
            dup
            aload 5 /* cp */
            iconst_0
            iconst_0
            invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
            astore 8 /* code */
        start local 8 // javassist.bytecode.Bytecode code
        12: .line 354
            aload 0 /* delegate */
            invokevirtual javassist.CtMethod.getModifiers:()I
            invokestatic javassist.Modifier.isStatic:(I)Z
            istore 9 /* isStatic */
        start local 9 // boolean isStatic
        13: .line 355
            aload 0 /* delegate */
            invokevirtual javassist.CtMethod.getDeclaringClass:()Ljavassist/CtClass;
            astore 10 /* deleClass */
        start local 10 // javassist.CtClass deleClass
        14: .line 356
            aload 0 /* delegate */
            invokevirtual javassist.CtMethod.getParameterTypes:()[Ljavassist/CtClass;
            astore 11 /* params */
        start local 11 // javassist.CtClass[] params
        15: .line 358
            iload 9 /* isStatic */
            ifeq 19
        16: .line 359
            aload 8 /* code */
            aload 11 /* params */
            iconst_0
            invokevirtual javassist.bytecode.Bytecode.addLoadParameters:([Ljavassist/CtClass;I)I
            istore 12 /* s */
        start local 12 // int s
        17: .line 360
            aload 8 /* code */
            aload 10 /* deleClass */
            aload 3 /* methodName */
            aload 4 /* desc */
            invokevirtual javassist.bytecode.Bytecode.addInvokestatic:(Ljavassist/CtClass;Ljava/lang/String;Ljava/lang/String;)V
        18: .line 361
            goto 22
        end local 12 // int s
        19: .line 363
      StackMap locals: javassist.CtMethod javassist.CtClass javassist.bytecode.MethodInfo java.lang.String java.lang.String javassist.bytecode.ConstPool javassist.bytecode.MethodInfo javassist.bytecode.ExceptionsAttribute javassist.bytecode.Bytecode int javassist.CtClass javassist.CtClass[]
      StackMap stack:
            aload 8 /* code */
            iconst_0
            aload 10 /* deleClass */
            invokevirtual javassist.bytecode.Bytecode.addLoad:(ILjavassist/CtClass;)I
            pop
        20: .line 364
            aload 8 /* code */
            aload 11 /* params */
            iconst_1
            invokevirtual javassist.bytecode.Bytecode.addLoadParameters:([Ljavassist/CtClass;I)I
            istore 12 /* s */
        start local 12 // int s
        21: .line 365
            aload 8 /* code */
            aload 10 /* deleClass */
            aload 3 /* methodName */
            aload 4 /* desc */
            invokevirtual javassist.bytecode.Bytecode.addInvokespecial:(Ljavassist/CtClass;Ljava/lang/String;Ljava/lang/String;)V
        22: .line 368
      StackMap locals: int
      StackMap stack:
            aload 8 /* code */
            aload 0 /* delegate */
            invokevirtual javassist.CtMethod.getReturnType:()Ljavassist/CtClass;
            invokevirtual javassist.bytecode.Bytecode.addReturn:(Ljavassist/CtClass;)V
        23: .line 369
            aload 8 /* code */
            iinc 12 /* s */ 1
            iload 12 /* s */
            invokevirtual javassist.bytecode.Bytecode.setMaxLocals:(I)V
        24: .line 370
            aload 8 /* code */
            iload 12 /* s */
            iconst_2
            if_icmpge 25
            iconst_2
            goto 26
      StackMap locals:
      StackMap stack: javassist.bytecode.Bytecode
        25: iload 12 /* s */
      StackMap locals: javassist.CtMethod javassist.CtClass javassist.bytecode.MethodInfo java.lang.String java.lang.String javassist.bytecode.ConstPool javassist.bytecode.MethodInfo javassist.bytecode.ExceptionsAttribute javassist.bytecode.Bytecode int javassist.CtClass javassist.CtClass[] int
      StackMap stack: javassist.bytecode.Bytecode int
        26: invokevirtual javassist.bytecode.Bytecode.setMaxStack:(I)V
        27: .line 371
            aload 6 /* minfo */
            aload 8 /* code */
            invokevirtual javassist.bytecode.Bytecode.toCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            invokevirtual javassist.bytecode.MethodInfo.setCodeAttribute:(Ljavassist/bytecode/CodeAttribute;)V
        28: .line 373
            new javassist.CtMethod
            dup
            aload 6 /* minfo */
            aload 1 /* declaring */
            invokespecial javassist.CtMethod.<init>:(Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;)V
            areturn
        end local 12 // int s
        end local 11 // javassist.CtClass[] params
        end local 10 // javassist.CtClass deleClass
        end local 9 // boolean isStatic
        end local 8 // javassist.bytecode.Bytecode code
        end local 7 // javassist.bytecode.ExceptionsAttribute eattr
        end local 6 // javassist.bytecode.MethodInfo minfo
        end local 5 // javassist.bytecode.ConstPool cp
        end local 4 // java.lang.String desc
        end local 3 // java.lang.String methodName
        end local 2 // javassist.bytecode.MethodInfo deleInfo
        end local 1 // javassist.CtClass declaring
        end local 0 // javassist.CtMethod delegate
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   29     0    delegate  Ljavassist/CtMethod;
            0   29     1   declaring  Ljavassist/CtClass;
            1   29     2    deleInfo  Ljavassist/bytecode/MethodInfo;
            2   29     3  methodName  Ljava/lang/String;
            3   29     4        desc  Ljava/lang/String;
            4   29     5          cp  Ljavassist/bytecode/ConstPool;
            5   29     6       minfo  Ljavassist/bytecode/MethodInfo;
            7   29     7       eattr  Ljavassist/bytecode/ExceptionsAttribute;
           12   29     8        code  Ljavassist/bytecode/Bytecode;
           13   29     9    isStatic  Z
           14   29    10   deleClass  Ljavassist/CtClass;
           15   29    11      params  [Ljavassist/CtClass;
           17   19    12           s  I
           21   29    12           s  I
    Exceptions:
      throws javassist.CannotCompileException, javassist.NotFoundException
    MethodParameters:
           Name  Flags
      delegate   
      declaring  

  public static javassist.CtMethod wrapped(javassist.CtClass, java.lang.String, javassist.CtClass[], javassist.CtClass[], javassist.CtMethod, javassist.CtMethod$ConstParameter, javassist.CtClass);
    descriptor: (Ljavassist/CtClass;Ljava/lang/String;[Ljavassist/CtClass;[Ljavassist/CtClass;Ljavassist/CtMethod;Ljavassist/CtMethod$ConstParameter;Ljavassist/CtClass;)Ljavassist/CtMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // javassist.CtClass returnType
        start local 1 // java.lang.String mname
        start local 2 // javassist.CtClass[] parameterTypes
        start local 3 // javassist.CtClass[] exceptionTypes
        start local 4 // javassist.CtMethod body
        start local 5 // javassist.CtMethod$ConstParameter constParam
        start local 6 // javassist.CtClass declaring
         0: .line 480
            aload 0 /* returnType */
            aload 1 /* mname */
            aload 2 /* parameterTypes */
         1: .line 481
            aload 3 /* exceptionTypes */
            aload 4 /* body */
            aload 5 /* constParam */
            aload 6 /* declaring */
         2: .line 480
            invokestatic javassist.CtNewWrappedMethod.wrapped:(Ljavassist/CtClass;Ljava/lang/String;[Ljavassist/CtClass;[Ljavassist/CtClass;Ljavassist/CtMethod;Ljavassist/CtMethod$ConstParameter;Ljavassist/CtClass;)Ljavassist/CtMethod;
            areturn
        end local 6 // javassist.CtClass declaring
        end local 5 // javassist.CtMethod$ConstParameter constParam
        end local 4 // javassist.CtMethod body
        end local 3 // javassist.CtClass[] exceptionTypes
        end local 2 // javassist.CtClass[] parameterTypes
        end local 1 // java.lang.String mname
        end local 0 // javassist.CtClass returnType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0      returnType  Ljavassist/CtClass;
            0    3     1           mname  Ljava/lang/String;
            0    3     2  parameterTypes  [Ljavassist/CtClass;
            0    3     3  exceptionTypes  [Ljavassist/CtClass;
            0    3     4            body  Ljavassist/CtMethod;
            0    3     5      constParam  Ljavassist/CtMethod$ConstParameter;
            0    3     6       declaring  Ljavassist/CtClass;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
                Name  Flags
      returnType      
      mname           
      parameterTypes  
      exceptionTypes  
      body            
      constParam      
      declaring       
}
SourceFile: "CtNewMethod.java"
InnerClasses:
  public ConstParameter = javassist.CtMethod$ConstParameter of javassist.CtMethod