class javassist.CtNewWrappedMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javassist.CtNewWrappedMethod
  super_class: java.lang.Object
{
  private static final java.lang.String addedWrappedMethod;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "_added_m$"

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtNewWrappedMethod this
         0: .line 30
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javassist.CtNewWrappedMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtNewWrappedMethod;

  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=6, locals=10, 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 41
            new javassist.CtMethod
            dup
            aload 0 /* returnType */
            aload 1 /* mname */
            aload 2 /* parameterTypes */
         1: .line 42
            aload 6 /* declaring */
         2: .line 41
            invokespecial javassist.CtMethod.<init>:(Ljavassist/CtClass;Ljava/lang/String;[Ljavassist/CtClass;Ljavassist/CtClass;)V
            astore 7 /* mt */
        start local 7 // javassist.CtMethod mt
         3: .line 43
            aload 7 /* mt */
            aload 4 /* body */
            invokevirtual javassist.CtMethod.getModifiers:()I
            invokevirtual javassist.CtMethod.setModifiers:(I)V
         4: .line 45
            aload 7 /* mt */
            aload 3 /* exceptionTypes */
            invokevirtual javassist.CtMethod.setExceptionTypes:([Ljavassist/CtClass;)V
         5: .line 46
            goto 8
         6: .line 47
      StackMap locals: javassist.CtClass java.lang.String javassist.CtClass[] javassist.CtClass[] javassist.CtMethod javassist.CtMethod$ConstParameter javassist.CtClass javassist.CtMethod
      StackMap stack: javassist.NotFoundException
            astore 8 /* e */
        start local 8 // javassist.NotFoundException e
         7: .line 48
            new javassist.CannotCompileException
            dup
            aload 8 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
            athrow
        end local 8 // javassist.NotFoundException e
         8: .line 51
      StackMap locals:
      StackMap stack:
            aload 6 /* declaring */
            aload 6 /* declaring */
            invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
            aload 4 /* body */
         9: .line 52
            aload 2 /* parameterTypes */
            aload 0 /* returnType */
            aload 5 /* constParam */
        10: .line 51
            invokestatic javassist.CtNewWrappedMethod.makeBody:(Ljavassist/CtClass;Ljavassist/bytecode/ClassFile;Ljavassist/CtMethod;[Ljavassist/CtClass;Ljavassist/CtClass;Ljavassist/CtMethod$ConstParameter;)Ljavassist/bytecode/Bytecode;
            astore 8 /* code */
        start local 8 // javassist.bytecode.Bytecode code
        11: .line 53
            aload 7 /* mt */
            invokevirtual javassist.CtMethod.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
            astore 9 /* minfo */
        start local 9 // javassist.bytecode.MethodInfo minfo
        12: .line 54
            aload 9 /* minfo */
            aload 8 /* code */
            invokevirtual javassist.bytecode.Bytecode.toCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            invokevirtual javassist.bytecode.MethodInfo.setCodeAttribute:(Ljavassist/bytecode/CodeAttribute;)V
        13: .line 56
            aload 7 /* mt */
            areturn
        end local 9 // javassist.bytecode.MethodInfo minfo
        end local 8 // javassist.bytecode.Bytecode code
        end local 7 // javassist.CtMethod mt
        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   14     0      returnType  Ljavassist/CtClass;
            0   14     1           mname  Ljava/lang/String;
            0   14     2  parameterTypes  [Ljavassist/CtClass;
            0   14     3  exceptionTypes  [Ljavassist/CtClass;
            0   14     4            body  Ljavassist/CtMethod;
            0   14     5      constParam  Ljavassist/CtMethod$ConstParameter;
            0   14     6       declaring  Ljavassist/CtClass;
            3   14     7              mt  Ljavassist/CtMethod;
            7    8     8               e  Ljavassist/NotFoundException;
           11   14     8            code  Ljavassist/bytecode/Bytecode;
           12   14     9           minfo  Ljavassist/bytecode/MethodInfo;
      Exception table:
        from    to  target  type
           4     5       6  Class javassist.NotFoundException
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
                Name  Flags
      returnType      
      mname           
      parameterTypes  
      exceptionTypes  
      body            
      constParam      
      declaring       

  static javassist.bytecode.Bytecode makeBody(javassist.CtClass, javassist.bytecode.ClassFile, javassist.CtMethod, javassist.CtClass[], javassist.CtClass, javassist.CtMethod$ConstParameter);
    descriptor: (Ljavassist/CtClass;Ljavassist/bytecode/ClassFile;Ljavassist/CtMethod;[Ljavassist/CtClass;Ljavassist/CtClass;Ljavassist/CtMethod$ConstParameter;)Ljavassist/bytecode/Bytecode;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=9, args_size=6
        start local 0 // javassist.CtClass clazz
        start local 1 // javassist.bytecode.ClassFile classfile
        start local 2 // javassist.CtMethod wrappedBody
        start local 3 // javassist.CtClass[] parameters
        start local 4 // javassist.CtClass returnType
        start local 5 // javassist.CtMethod$ConstParameter cparam
         0: .line 66
            aload 2 /* wrappedBody */
            invokevirtual javassist.CtMethod.getModifiers:()I
            invokestatic javassist.Modifier.isStatic:(I)Z
            istore 6 /* isStatic */
        start local 6 // boolean isStatic
         1: .line 67
            new javassist.bytecode.Bytecode
            dup
            aload 1 /* classfile */
            invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
            iconst_0
            iconst_0
            invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
            astore 7 /* code */
        start local 7 // javassist.bytecode.Bytecode code
         2: .line 68
            aload 0 /* clazz */
            aload 1 /* classfile */
            aload 2 /* wrappedBody */
            iload 6 /* isStatic */
         3: .line 69
            aload 3 /* parameters */
            aload 4 /* returnType */
            aload 5 /* cparam */
            aload 7 /* code */
         4: .line 68
            invokestatic javassist.CtNewWrappedMethod.makeBody0:(Ljavassist/CtClass;Ljavassist/bytecode/ClassFile;Ljavassist/CtMethod;Z[Ljavassist/CtClass;Ljavassist/CtClass;Ljavassist/CtMethod$ConstParameter;Ljavassist/bytecode/Bytecode;)I
            istore 8 /* stacksize */
        start local 8 // int stacksize
         5: .line 70
            aload 7 /* code */
            iload 8 /* stacksize */
            invokevirtual javassist.bytecode.Bytecode.setMaxStack:(I)V
         6: .line 71
            aload 7 /* code */
            iload 6 /* isStatic */
            aload 3 /* parameters */
            iconst_0
            invokevirtual javassist.bytecode.Bytecode.setMaxLocals:(Z[Ljavassist/CtClass;I)V
         7: .line 72
            aload 7 /* code */
            areturn
        end local 8 // int stacksize
        end local 7 // javassist.bytecode.Bytecode code
        end local 6 // boolean isStatic
        end local 5 // javassist.CtMethod$ConstParameter cparam
        end local 4 // javassist.CtClass returnType
        end local 3 // javassist.CtClass[] parameters
        end local 2 // javassist.CtMethod wrappedBody
        end local 1 // javassist.bytecode.ClassFile classfile
        end local 0 // javassist.CtClass clazz
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0        clazz  Ljavassist/CtClass;
            0    8     1    classfile  Ljavassist/bytecode/ClassFile;
            0    8     2  wrappedBody  Ljavassist/CtMethod;
            0    8     3   parameters  [Ljavassist/CtClass;
            0    8     4   returnType  Ljavassist/CtClass;
            0    8     5       cparam  Ljavassist/CtMethod$ConstParameter;
            1    8     6     isStatic  Z
            2    8     7         code  Ljavassist/bytecode/Bytecode;
            5    8     8    stacksize  I
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
             Name  Flags
      clazz        
      classfile    
      wrappedBody  
      parameters   
      returnType   
      cparam       

  protected static int makeBody0(javassist.CtClass, javassist.bytecode.ClassFile, javassist.CtMethod, boolean, javassist.CtClass[], javassist.CtClass, javassist.CtMethod$ConstParameter, javassist.bytecode.Bytecode);
    descriptor: (Ljavassist/CtClass;Ljavassist/bytecode/ClassFile;Ljavassist/CtMethod;Z[Ljavassist/CtClass;Ljavassist/CtClass;Ljavassist/CtMethod$ConstParameter;Ljavassist/bytecode/Bytecode;)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=13, args_size=8
        start local 0 // javassist.CtClass clazz
        start local 1 // javassist.bytecode.ClassFile classfile
        start local 2 // javassist.CtMethod wrappedBody
        start local 3 // boolean isStatic
        start local 4 // javassist.CtClass[] parameters
        start local 5 // javassist.CtClass returnType
        start local 6 // javassist.CtMethod$ConstParameter cparam
        start local 7 // javassist.bytecode.Bytecode code
         0: .line 85
            aload 0 /* clazz */
            instanceof javassist.CtClassType
            ifne 4
         1: .line 86
            new javassist.CannotCompileException
            dup
            new java.lang.StringBuilder
            dup
            ldc "bad declaring class"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 87
            aload 0 /* clazz */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 86
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 89
      StackMap locals:
      StackMap stack:
            iload 3 /* isStatic */
            ifne 6
         5: .line 90
            aload 7 /* code */
            iconst_0
            invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
         6: .line 92
      StackMap locals:
      StackMap stack:
            aload 7 /* code */
            aload 4 /* parameters */
         7: .line 93
            iload 3 /* isStatic */
            ifeq 8
            iconst_0
            goto 9
      StackMap locals: javassist.CtClass javassist.bytecode.ClassFile javassist.CtMethod int javassist.CtClass[] javassist.CtClass javassist.CtMethod$ConstParameter javassist.bytecode.Bytecode
      StackMap stack: javassist.bytecode.Bytecode javassist.CtClass[]
         8: iconst_1
         9: .line 92
      StackMap locals: javassist.CtClass javassist.bytecode.ClassFile javassist.CtMethod int javassist.CtClass[] javassist.CtClass javassist.CtMethod$ConstParameter javassist.bytecode.Bytecode
      StackMap stack: javassist.bytecode.Bytecode javassist.CtClass[] int
            invokestatic javassist.CtNewWrappedMethod.compileParameterList:(Ljavassist/bytecode/Bytecode;[Ljavassist/CtClass;I)I
            istore 8 /* stacksize */
        start local 8 // int stacksize
        10: .line 96
            aload 6 /* cparam */
            ifnonnull 14
        11: .line 97
            iconst_0
            istore 9 /* stacksize2 */
        start local 9 // int stacksize2
        12: .line 98
            invokestatic javassist.CtMethod$ConstParameter.defaultDescriptor:()Ljava/lang/String;
            astore 10 /* desc */
        start local 10 // java.lang.String desc
        13: .line 99
            goto 16
        end local 10 // java.lang.String desc
        end local 9 // int stacksize2
        14: .line 101
      StackMap locals: int
      StackMap stack:
            aload 6 /* cparam */
            aload 7 /* code */
            invokevirtual javassist.CtMethod$ConstParameter.compile:(Ljavassist/bytecode/Bytecode;)I
            istore 9 /* stacksize2 */
        start local 9 // int stacksize2
        15: .line 102
            aload 6 /* cparam */
            invokevirtual javassist.CtMethod$ConstParameter.descriptor:()Ljava/lang/String;
            astore 10 /* desc */
        start local 10 // java.lang.String desc
        16: .line 105
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 2 /* wrappedBody */
            aload 10 /* desc */
            invokestatic javassist.CtNewWrappedMethod.checkSignature:(Ljavassist/CtMethod;Ljava/lang/String;)V
        17: .line 109
            aload 0 /* clazz */
            checkcast javassist.CtClassType
            aload 1 /* classfile */
        18: .line 110
            aload 2 /* wrappedBody */
        19: .line 109
            invokestatic javassist.CtNewWrappedMethod.addBodyMethod:(Ljavassist/CtClassType;Ljavassist/bytecode/ClassFile;Ljavassist/CtMethod;)Ljava/lang/String;
            astore 11 /* bodyname */
        start local 11 // java.lang.String bodyname
        20: .line 114
            goto 23
        end local 11 // java.lang.String bodyname
        21: .line 115
      StackMap locals:
      StackMap stack: javassist.bytecode.BadBytecode
            astore 12 /* e */
        start local 12 // javassist.bytecode.BadBytecode e
        22: .line 116
            new javassist.CannotCompileException
            dup
            aload 12 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 12 // javassist.bytecode.BadBytecode e
        start local 11 // java.lang.String bodyname
        23: .line 119
      StackMap locals: java.lang.String
      StackMap stack:
            iload 3 /* isStatic */
            ifeq 25
        24: .line 120
            aload 7 /* code */
            getstatic javassist.bytecode.Bytecode.THIS:Ljavassist/CtClass;
            aload 11 /* bodyname */
            aload 10 /* desc */
            invokevirtual javassist.bytecode.Bytecode.addInvokestatic:(Ljavassist/CtClass;Ljava/lang/String;Ljava/lang/String;)V
            goto 26
        25: .line 122
      StackMap locals:
      StackMap stack:
            aload 7 /* code */
            getstatic javassist.bytecode.Bytecode.THIS:Ljavassist/CtClass;
            aload 11 /* bodyname */
            aload 10 /* desc */
            invokevirtual javassist.bytecode.Bytecode.addInvokespecial:(Ljavassist/CtClass;Ljava/lang/String;Ljava/lang/String;)V
        26: .line 124
      StackMap locals:
      StackMap stack:
            aload 7 /* code */
            aload 5 /* returnType */
            invokestatic javassist.CtNewWrappedMethod.compileReturn:(Ljavassist/bytecode/Bytecode;Ljavassist/CtClass;)V
        27: .line 126
            iload 8 /* stacksize */
            iload 9 /* stacksize2 */
            iconst_2
            iadd
            if_icmpge 29
        28: .line 127
            iload 9 /* stacksize2 */
            iconst_2
            iadd
            istore 8 /* stacksize */
        29: .line 129
      StackMap locals:
      StackMap stack:
            iload 8 /* stacksize */
            ireturn
        end local 11 // java.lang.String bodyname
        end local 10 // java.lang.String desc
        end local 9 // int stacksize2
        end local 8 // int stacksize
        end local 7 // javassist.bytecode.Bytecode code
        end local 6 // javassist.CtMethod$ConstParameter cparam
        end local 5 // javassist.CtClass returnType
        end local 4 // javassist.CtClass[] parameters
        end local 3 // boolean isStatic
        end local 2 // javassist.CtMethod wrappedBody
        end local 1 // javassist.bytecode.ClassFile classfile
        end local 0 // javassist.CtClass clazz
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   30     0        clazz  Ljavassist/CtClass;
            0   30     1    classfile  Ljavassist/bytecode/ClassFile;
            0   30     2  wrappedBody  Ljavassist/CtMethod;
            0   30     3     isStatic  Z
            0   30     4   parameters  [Ljavassist/CtClass;
            0   30     5   returnType  Ljavassist/CtClass;
            0   30     6       cparam  Ljavassist/CtMethod$ConstParameter;
            0   30     7         code  Ljavassist/bytecode/Bytecode;
           10   30     8    stacksize  I
           12   14     9   stacksize2  I
           15   30     9   stacksize2  I
           13   14    10         desc  Ljava/lang/String;
           16   30    10         desc  Ljava/lang/String;
           20   21    11     bodyname  Ljava/lang/String;
           23   30    11     bodyname  Ljava/lang/String;
           22   23    12            e  Ljavassist/bytecode/BadBytecode;
      Exception table:
        from    to  target  type
          17    20      21  Class javassist.bytecode.BadBytecode
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
             Name  Flags
      clazz        
      classfile    
      wrappedBody  
      isStatic     
      parameters   
      returnType   
      cparam       
      code         

  private static void checkSignature(javassist.CtMethod, java.lang.String);
    descriptor: (Ljavassist/CtMethod;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // javassist.CtMethod wrappedBody
        start local 1 // java.lang.String descriptor
         0: .line 136
            aload 1 /* descriptor */
            aload 0 /* wrappedBody */
            invokevirtual javassist.CtMethod.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         1: .line 137
            new javassist.CannotCompileException
            dup
         2: .line 138
            new java.lang.StringBuilder
            dup
            ldc "wrapped method with a bad signature: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 139
            aload 0 /* wrappedBody */
            invokevirtual javassist.CtMethod.getDeclaringClass:()Ljavassist/CtClass;
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 140
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* wrappedBody */
            invokevirtual javassist.CtMethod.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 138
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 137
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 141
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String descriptor
        end local 0 // javassist.CtMethod wrappedBody
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0  wrappedBody  Ljavassist/CtMethod;
            0    8     1   descriptor  Ljava/lang/String;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
             Name  Flags
      wrappedBody  
      descriptor   

  private static java.lang.String addBodyMethod(javassist.CtClassType, javassist.bytecode.ClassFile, javassist.CtMethod);
    descriptor: (Ljavassist/CtClassType;Ljavassist/bytecode/ClassFile;Ljavassist/CtMethod;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // javassist.CtClassType clazz
        start local 1 // javassist.bytecode.ClassFile classfile
        start local 2 // javassist.CtMethod src
         0: .line 148
            aload 0 /* clazz */
            invokevirtual javassist.CtClassType.getHiddenMethods:()Ljava/util/Map;
            astore 3 /* bodies */
        start local 3 // java.util.Map bodies
         1: .line 149
            aload 3 /* bodies */
            aload 2 /* src */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* bodyname */
        start local 4 // java.lang.String bodyname
         2: .line 150
            aload 4 /* bodyname */
            ifnonnull 19
         3: .line 152
      StackMap locals: java.util.Map java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "_added_m$"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* clazz */
            invokevirtual javassist.CtClassType.getUniqueNumber:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* bodyname */
         4: .line 153
            aload 1 /* classfile */
            aload 4 /* bodyname */
            invokevirtual javassist.bytecode.ClassFile.getMethod:(Ljava/lang/String;)Ljavassist/bytecode/MethodInfo;
            ifnonnull 3
         5: .line 154
            new javassist.ClassMap
            dup
            invokespecial javassist.ClassMap.<init>:()V
            astore 5 /* map */
        start local 5 // javassist.ClassMap map
         6: .line 155
            aload 5 /* map */
            aload 2 /* src */
            invokevirtual javassist.CtMethod.getDeclaringClass:()Ljavassist/CtClass;
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            aload 0 /* clazz */
            invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
            invokevirtual javassist.ClassMap.put:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         7: .line 156
            new javassist.bytecode.MethodInfo
            dup
            aload 1 /* classfile */
            invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
         8: .line 157
            aload 4 /* bodyname */
            aload 2 /* src */
            invokevirtual javassist.CtMethod.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
         9: .line 158
            aload 5 /* map */
        10: .line 156
            invokespecial javassist.bytecode.MethodInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;Ljavassist/bytecode/MethodInfo;Ljava/util/Map;)V
            astore 6 /* body */
        start local 6 // javassist.bytecode.MethodInfo body
        11: .line 159
            aload 6 /* body */
            invokevirtual javassist.bytecode.MethodInfo.getAccessFlags:()I
            istore 7 /* acc */
        start local 7 // int acc
        12: .line 160
            aload 6 /* body */
            iload 7 /* acc */
            invokestatic javassist.bytecode.AccessFlag.setPrivate:(I)I
            invokevirtual javassist.bytecode.MethodInfo.setAccessFlags:(I)V
        13: .line 161
            aload 6 /* body */
            new javassist.bytecode.SyntheticAttribute
            dup
            aload 1 /* classfile */
            invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
            invokespecial javassist.bytecode.SyntheticAttribute.<init>:(Ljavassist/bytecode/ConstPool;)V
            invokevirtual javassist.bytecode.MethodInfo.addAttribute:(Ljavassist/bytecode/AttributeInfo;)V
        14: .line 163
            aload 1 /* classfile */
            aload 6 /* body */
            invokevirtual javassist.bytecode.ClassFile.addMethod:(Ljavassist/bytecode/MethodInfo;)V
        15: .line 164
            aload 3 /* bodies */
            aload 2 /* src */
            aload 4 /* bodyname */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 165
            aload 0 /* clazz */
            invokevirtual javassist.CtClassType.hasMemberCache:()Ljavassist/CtMember$Cache;
            astore 8 /* cache */
        start local 8 // javassist.CtMember$Cache cache
        17: .line 166
            aload 8 /* cache */
            ifnull 19
        18: .line 167
            aload 8 /* cache */
            new javassist.CtMethod
            dup
            aload 6 /* body */
            aload 0 /* clazz */
            invokespecial javassist.CtMethod.<init>:(Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;)V
            invokevirtual javassist.CtMember$Cache.addMethod:(Ljavassist/CtMember;)V
        end local 8 // javassist.CtMember$Cache cache
        end local 7 // int acc
        end local 6 // javassist.bytecode.MethodInfo body
        end local 5 // javassist.ClassMap map
        19: .line 170
      StackMap locals:
      StackMap stack:
            aload 4 /* bodyname */
            areturn
        end local 4 // java.lang.String bodyname
        end local 3 // java.util.Map bodies
        end local 2 // javassist.CtMethod src
        end local 1 // javassist.bytecode.ClassFile classfile
        end local 0 // javassist.CtClassType clazz
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0      clazz  Ljavassist/CtClassType;
            0   20     1  classfile  Ljavassist/bytecode/ClassFile;
            0   20     2        src  Ljavassist/CtMethod;
            1   20     3     bodies  Ljava/util/Map<Ljavassist/CtMethod;Ljava/lang/String;>;
            2   20     4   bodyname  Ljava/lang/String;
            6   19     5        map  Ljavassist/ClassMap;
           11   19     6       body  Ljavassist/bytecode/MethodInfo;
           12   19     7        acc  I
           17   19     8      cache  Ljavassist/CtMember$Cache;
    Exceptions:
      throws javassist.bytecode.BadBytecode, javassist.CannotCompileException
    MethodParameters:
           Name  Flags
      clazz      
      classfile  
      src        

  static int compileParameterList(javassist.bytecode.Bytecode, javassist.CtClass[], int);
    descriptor: (Ljavassist/bytecode/Bytecode;[Ljavassist/CtClass;I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javassist.bytecode.Bytecode code
        start local 1 // javassist.CtClass[] params
        start local 2 // int regno
         0: .line 182
            aload 0 /* code */
            aload 1 /* params */
            iload 2 /* regno */
            invokestatic javassist.compiler.JvstCodeGen.compileParameterList:(Ljavassist/bytecode/Bytecode;[Ljavassist/CtClass;I)I
            ireturn
        end local 2 // int regno
        end local 1 // javassist.CtClass[] params
        end local 0 // javassist.bytecode.Bytecode code
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    code  Ljavassist/bytecode/Bytecode;
            0    1     1  params  [Ljavassist/CtClass;
            0    1     2   regno  I
    MethodParameters:
        Name  Flags
      code    
      params  
      regno   

  private static void compileReturn(javassist.bytecode.Bytecode, javassist.CtClass);
    descriptor: (Ljavassist/bytecode/Bytecode;Ljavassist/CtClass;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // javassist.bytecode.Bytecode code
        start local 1 // javassist.CtClass type
         0: .line 189
            aload 1 /* type */
            invokevirtual javassist.CtClass.isPrimitive:()Z
            ifeq 10
         1: .line 190
            aload 1 /* type */
            checkcast javassist.CtPrimitiveType
            astore 2 /* pt */
        start local 2 // javassist.CtPrimitiveType pt
         2: .line 191
            aload 2 /* pt */
            getstatic javassist.CtClass.voidType:Ljavassist/CtClass;
            if_acmpeq 8
         3: .line 192
            aload 2 /* pt */
            invokevirtual javassist.CtPrimitiveType.getWrapperName:()Ljava/lang/String;
            astore 3 /* wrapper */
        start local 3 // java.lang.String wrapper
         4: .line 193
            aload 0 /* code */
            aload 3 /* wrapper */
            invokevirtual javassist.bytecode.Bytecode.addCheckcast:(Ljava/lang/String;)V
         5: .line 194
            aload 0 /* code */
            aload 3 /* wrapper */
            aload 2 /* pt */
            invokevirtual javassist.CtPrimitiveType.getGetMethodName:()Ljava/lang/String;
         6: .line 195
            aload 2 /* pt */
            invokevirtual javassist.CtPrimitiveType.getGetMethodDescriptor:()Ljava/lang/String;
         7: .line 194
            invokevirtual javassist.bytecode.Bytecode.addInvokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 3 // java.lang.String wrapper
         8: .line 198
      StackMap locals: javassist.CtPrimitiveType
      StackMap stack:
            aload 0 /* code */
            aload 2 /* pt */
            invokevirtual javassist.CtPrimitiveType.getReturnOp:()I
            invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
        end local 2 // javassist.CtPrimitiveType pt
         9: .line 199
            goto 12
        10: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* code */
            aload 1 /* type */
            invokevirtual javassist.bytecode.Bytecode.addCheckcast:(Ljavassist/CtClass;)V
        11: .line 202
            aload 0 /* code */
            sipush 176
            invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
        12: .line 204
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javassist.CtClass type
        end local 0 // javassist.bytecode.Bytecode code
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     code  Ljavassist/bytecode/Bytecode;
            0   13     1     type  Ljavassist/CtClass;
            2    9     2       pt  Ljavassist/CtPrimitiveType;
            4    8     3  wrapper  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      code  
      type  
}
SourceFile: "CtNewWrappedMethod.java"
InnerClasses:
  Cache = javassist.CtMember$Cache of javassist.CtMember
  public ConstParameter = javassist.CtMethod$ConstParameter of javassist.CtMethod