public abstract class javassist.CtBehavior extends javassist.CtMember
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javassist.CtBehavior
  super_class: javassist.CtMember
{
  protected javassist.bytecode.MethodInfo methodInfo;
    descriptor: Ljavassist/bytecode/MethodInfo;
    flags: (0x0004) ACC_PROTECTED

  protected void <init>(javassist.CtClass, javassist.bytecode.MethodInfo);
    descriptor: (Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // javassist.CtBehavior this
        start local 1 // javassist.CtClass clazz
        start local 2 // javassist.bytecode.MethodInfo minfo
         0: .line 57
            aload 0 /* this */
            aload 1 /* clazz */
            invokespecial javassist.CtMember.<init>:(Ljavassist/CtClass;)V
         1: .line 58
            aload 0 /* this */
            aload 2 /* minfo */
            putfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
         2: .line 59
            return
        end local 2 // javassist.bytecode.MethodInfo minfo
        end local 1 // javassist.CtClass clazz
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljavassist/CtBehavior;
            0    3     1  clazz  Ljavassist/CtClass;
            0    3     2  minfo  Ljavassist/bytecode/MethodInfo;
    MethodParameters:
       Name  Flags
      clazz  
      minfo  

  void copy(javassist.CtBehavior, boolean, javassist.ClassMap);
    descriptor: (Ljavassist/CtBehavior;ZLjavassist/ClassMap;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=13, args_size=4
        start local 0 // javassist.CtBehavior this
        start local 1 // javassist.CtBehavior src
        start local 2 // boolean isCons
        start local 3 // javassist.ClassMap map
         0: .line 67
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            astore 4 /* declaring */
        start local 4 // javassist.CtClass declaring
         1: .line 68
            aload 1 /* src */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            astore 5 /* srcInfo */
        start local 5 // javassist.bytecode.MethodInfo srcInfo
         2: .line 69
            aload 1 /* src */
            invokevirtual javassist.CtBehavior.getDeclaringClass:()Ljavassist/CtClass;
            astore 6 /* srcClass */
        start local 6 // javassist.CtClass srcClass
         3: .line 70
            aload 4 /* declaring */
            invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
            invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
            astore 7 /* cp */
        start local 7 // javassist.bytecode.ConstPool cp
         4: .line 72
            new javassist.ClassMap
            dup
            aload 3 /* map */
            invokespecial javassist.ClassMap.<init>:(Ljavassist/ClassMap;)V
            astore 3 /* map */
         5: .line 73
            aload 3 /* map */
            aload 6 /* srcClass */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            aload 4 /* declaring */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            invokevirtual javassist.ClassMap.put:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         6: .line 75
            iconst_0
            istore 8 /* patch */
        start local 8 // boolean patch
         7: .line 76
            aload 6 /* srcClass */
            invokevirtual javassist.CtClass.getSuperclass:()Ljavassist/CtClass;
            astore 9 /* srcSuper */
        start local 9 // javassist.CtClass srcSuper
         8: .line 77
            aload 4 /* declaring */
            invokevirtual javassist.CtClass.getSuperclass:()Ljavassist/CtClass;
            astore 10 /* destSuper */
        start local 10 // javassist.CtClass destSuper
         9: .line 78
            aconst_null
            astore 11 /* destSuperName */
        start local 11 // java.lang.String destSuperName
        10: .line 79
            aload 9 /* srcSuper */
            ifnull 17
            aload 10 /* destSuper */
            ifnull 17
        11: .line 80
            aload 9 /* srcSuper */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            astore 12 /* srcSuperName */
        start local 12 // java.lang.String srcSuperName
        12: .line 81
            aload 10 /* destSuper */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            astore 11 /* destSuperName */
        13: .line 82
            aload 12 /* srcSuperName */
            aload 11 /* destSuperName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        14: .line 83
            aload 12 /* srcSuperName */
            ldc "java.lang.Object"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 84
            iconst_1
            istore 8 /* patch */
            goto 17
        16: .line 86
      StackMap locals: javassist.CtBehavior javassist.CtBehavior int javassist.ClassMap javassist.CtClass javassist.bytecode.MethodInfo javassist.CtClass javassist.bytecode.ConstPool int javassist.CtClass javassist.CtClass java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* map */
            aload 12 /* srcSuperName */
            aload 11 /* destSuperName */
            invokevirtual javassist.ClassMap.putIfNone:(Ljava/lang/String;Ljava/lang/String;)V
        end local 12 // java.lang.String srcSuperName
        17: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new javassist.bytecode.MethodInfo
            dup
            aload 7 /* cp */
            aload 5 /* srcInfo */
            invokevirtual javassist.bytecode.MethodInfo.getName:()Ljava/lang/String;
            aload 5 /* srcInfo */
            aload 3 /* map */
            invokespecial javassist.bytecode.MethodInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;Ljavassist/bytecode/MethodInfo;Ljava/util/Map;)V
            putfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
        18: .line 91
            iload 2 /* isCons */
            ifeq 25
            iload 8 /* patch */
            ifeq 25
        19: .line 92
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 11 /* destSuperName */
            invokevirtual javassist.bytecode.MethodInfo.setSuperclass:(Ljava/lang/String;)V
        end local 11 // java.lang.String destSuperName
        end local 10 // javassist.CtClass destSuper
        end local 9 // javassist.CtClass srcSuper
        end local 8 // boolean patch
        20: .line 93
            goto 25
        21: .line 94
      StackMap locals: javassist.CtBehavior javassist.CtBehavior int javassist.ClassMap javassist.CtClass javassist.bytecode.MethodInfo javassist.CtClass javassist.bytecode.ConstPool
      StackMap stack: javassist.NotFoundException
            astore 8 /* e */
        start local 8 // javassist.NotFoundException e
        22: .line 95
            new javassist.CannotCompileException
            dup
            aload 8 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
            athrow
        end local 8 // javassist.NotFoundException e
        23: .line 97
      StackMap locals:
      StackMap stack: javassist.bytecode.BadBytecode
            astore 8 /* e */
        start local 8 // javassist.bytecode.BadBytecode e
        24: .line 98
            new javassist.CannotCompileException
            dup
            aload 8 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 8 // javassist.bytecode.BadBytecode e
        25: .line 100
      StackMap locals:
      StackMap stack:
            return
        end local 7 // javassist.bytecode.ConstPool cp
        end local 6 // javassist.CtClass srcClass
        end local 5 // javassist.bytecode.MethodInfo srcInfo
        end local 4 // javassist.CtClass declaring
        end local 3 // javassist.ClassMap map
        end local 2 // boolean isCons
        end local 1 // javassist.CtBehavior src
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   26     0           this  Ljavassist/CtBehavior;
            0   26     1            src  Ljavassist/CtBehavior;
            0   26     2         isCons  Z
            0   26     3            map  Ljavassist/ClassMap;
            1   26     4      declaring  Ljavassist/CtClass;
            2   26     5        srcInfo  Ljavassist/bytecode/MethodInfo;
            3   26     6       srcClass  Ljavassist/CtClass;
            4   26     7             cp  Ljavassist/bytecode/ConstPool;
            7   20     8          patch  Z
            8   20     9       srcSuper  Ljavassist/CtClass;
            9   20    10      destSuper  Ljavassist/CtClass;
           10   20    11  destSuperName  Ljava/lang/String;
           12   17    12   srcSuperName  Ljava/lang/String;
           22   23     8              e  Ljavassist/NotFoundException;
           24   25     8              e  Ljavassist/bytecode/BadBytecode;
      Exception table:
        from    to  target  type
           6    20      21  Class javassist.NotFoundException
           6    20      23  Class javassist.bytecode.BadBytecode
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
        Name  Flags
      src     
      isCons  
      map     

  protected void extendToString(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.StringBuffer buffer
         0: .line 104
            aload 1 /* buffer */
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         1: .line 105
            aload 1 /* buffer */
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 106
            aload 1 /* buffer */
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         3: .line 107
            aload 1 /* buffer */
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 108
            return
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljavassist/CtBehavior;
            0    5     1  buffer  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      buffer  

  public abstract java.lang.String getLongName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public javassist.bytecode.MethodInfo getMethodInfo();
    descriptor: ()Ljavassist/bytecode/MethodInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtBehavior this
         0: .line 130
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 131
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            areturn
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtBehavior;

  public javassist.bytecode.MethodInfo getMethodInfo2();
    descriptor: ()Ljavassist/bytecode/MethodInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtBehavior this
         0: .line 153
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            areturn
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtBehavior;

  public int getModifiers();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtBehavior this
         0: .line 164
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getAccessFlags:()I
            invokestatic javassist.bytecode.AccessFlag.toModifier:(I)I
            ireturn
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtBehavior;

  public void setModifiers(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // int mod
         0: .line 178
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 179
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            iload 1 /* mod */
            invokestatic javassist.bytecode.AccessFlag.of:(I)I
            invokevirtual javassist.bytecode.MethodInfo.setAccessFlags:(I)V
         2: .line 180
            return
        end local 1 // int mod
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavassist/CtBehavior;
            0    3     1   mod  I
    MethodParameters:
      Name  Flags
      mod   

  public boolean hasAnnotation(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.String typeName
         0: .line 192
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
            astore 2 /* mi */
        start local 2 // javassist.bytecode.MethodInfo mi
         1: .line 194
            aload 2 /* mi */
            ldc "RuntimeInvisibleAnnotations"
            invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
         2: .line 193
            checkcast javassist.bytecode.AnnotationsAttribute
            astore 3 /* ainfo */
        start local 3 // javassist.bytecode.AnnotationsAttribute ainfo
         3: .line 196
            aload 2 /* mi */
            ldc "RuntimeVisibleAnnotations"
            invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
         4: .line 195
            checkcast javassist.bytecode.AnnotationsAttribute
            astore 4 /* ainfo2 */
        start local 4 // javassist.bytecode.AnnotationsAttribute ainfo2
         5: .line 197
            aload 1 /* typeName */
         6: .line 198
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getDeclaringClass:()Ljavassist/CtClass;
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
         7: .line 199
            aload 3 /* ainfo */
            aload 4 /* ainfo2 */
         8: .line 197
            invokestatic javassist.CtClassType.hasAnnotationType:(Ljava/lang/String;Ljavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)Z
            ireturn
        end local 4 // javassist.bytecode.AnnotationsAttribute ainfo2
        end local 3 // javassist.bytecode.AnnotationsAttribute ainfo
        end local 2 // javassist.bytecode.MethodInfo mi
        end local 1 // java.lang.String typeName
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Ljavassist/CtBehavior;
            0    9     1  typeName  Ljava/lang/String;
            1    9     2        mi  Ljavassist/bytecode/MethodInfo;
            3    9     3     ainfo  Ljavassist/bytecode/AnnotationsAttribute;
            5    9     4    ainfo2  Ljavassist/bytecode/AnnotationsAttribute;
    MethodParameters:
          Name  Flags
      typeName  

  public  getAnnotation(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.Class clz
         0: .line 215
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
            astore 2 /* mi */
        start local 2 // javassist.bytecode.MethodInfo mi
         1: .line 217
            aload 2 /* mi */
            ldc "RuntimeInvisibleAnnotations"
            invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
         2: .line 216
            checkcast javassist.bytecode.AnnotationsAttribute
            astore 3 /* ainfo */
        start local 3 // javassist.bytecode.AnnotationsAttribute ainfo
         3: .line 219
            aload 2 /* mi */
            ldc "RuntimeVisibleAnnotations"
            invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
         4: .line 218
            checkcast javassist.bytecode.AnnotationsAttribute
            astore 4 /* ainfo2 */
        start local 4 // javassist.bytecode.AnnotationsAttribute ainfo2
         5: .line 220
            aload 1 /* clz */
         6: .line 221
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getDeclaringClass:()Ljavassist/CtClass;
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
         7: .line 222
            aload 3 /* ainfo */
            aload 4 /* ainfo2 */
         8: .line 220
            invokestatic javassist.CtClassType.getAnnotationType:(Ljava/lang/Class;Ljavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)Ljava/lang/Object;
            areturn
        end local 4 // javassist.bytecode.AnnotationsAttribute ainfo2
        end local 3 // javassist.bytecode.AnnotationsAttribute ainfo
        end local 2 // javassist.bytecode.MethodInfo mi
        end local 1 // java.lang.Class clz
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljavassist/CtBehavior;
            0    9     1     clz  Ljava/lang/Class<*>;
            1    9     2      mi  Ljavassist/bytecode/MethodInfo;
            3    9     3   ainfo  Ljavassist/bytecode/AnnotationsAttribute;
            5    9     4  ainfo2  Ljavassist/bytecode/AnnotationsAttribute;
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      clz   

  public java.lang.Object[] getAnnotations();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javassist.CtBehavior this
         0: .line 234
            aload 0 /* this */
            iconst_0
            invokevirtual javassist.CtBehavior.getAnnotations:(Z)[Ljava/lang/Object;
            areturn
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtBehavior;
    Exceptions:
      throws java.lang.ClassNotFoundException

  public java.lang.Object[] getAvailableAnnotations();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // javassist.CtBehavior this
         0: .line 249
            aload 0 /* this */
            iconst_1
            invokevirtual javassist.CtBehavior.getAnnotations:(Z)[Ljava/lang/Object;
         1: areturn
         2: .line 251
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 1 /* e */
        start local 1 // java.lang.ClassNotFoundException e
         3: .line 252
            new java.lang.RuntimeException
            dup
            ldc "Unexpected exception"
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ClassNotFoundException e
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavassist/CtBehavior;
            3    4     1     e  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassNotFoundException

  private java.lang.Object[] getAnnotations(boolean);
    descriptor: (Z)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // boolean ignoreNotFound
         0: .line 259
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
            astore 2 /* mi */
        start local 2 // javassist.bytecode.MethodInfo mi
         1: .line 261
            aload 2 /* mi */
            ldc "RuntimeInvisibleAnnotations"
            invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
         2: .line 260
            checkcast javassist.bytecode.AnnotationsAttribute
            astore 3 /* ainfo */
        start local 3 // javassist.bytecode.AnnotationsAttribute ainfo
         3: .line 263
            aload 2 /* mi */
            ldc "RuntimeVisibleAnnotations"
            invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
         4: .line 262
            checkcast javassist.bytecode.AnnotationsAttribute
            astore 4 /* ainfo2 */
        start local 4 // javassist.bytecode.AnnotationsAttribute ainfo2
         5: .line 264
            iload 1 /* ignoreNotFound */
         6: .line 265
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getDeclaringClass:()Ljavassist/CtClass;
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
         7: .line 266
            aload 3 /* ainfo */
            aload 4 /* ainfo2 */
         8: .line 264
            invokestatic javassist.CtClassType.toAnnotationType:(ZLjavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)[Ljava/lang/Object;
            areturn
        end local 4 // javassist.bytecode.AnnotationsAttribute ainfo2
        end local 3 // javassist.bytecode.AnnotationsAttribute ainfo
        end local 2 // javassist.bytecode.MethodInfo mi
        end local 1 // boolean ignoreNotFound
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Ljavassist/CtBehavior;
            0    9     1  ignoreNotFound  Z
            1    9     2              mi  Ljavassist/bytecode/MethodInfo;
            3    9     3           ainfo  Ljavassist/bytecode/AnnotationsAttribute;
            5    9     4          ainfo2  Ljavassist/bytecode/AnnotationsAttribute;
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
                Name  Flags
      ignoreNotFound  

  public java.lang.Object[][] getParameterAnnotations();
    descriptor: ()[[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javassist.CtBehavior this
         0: .line 281
            aload 0 /* this */
            iconst_0
            invokevirtual javassist.CtBehavior.getParameterAnnotations:(Z)[[Ljava/lang/Object;
            areturn
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtBehavior;
    Exceptions:
      throws java.lang.ClassNotFoundException

  public java.lang.Object[][] getAvailableParameterAnnotations();
    descriptor: ()[[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // javassist.CtBehavior this
         0: .line 299
            aload 0 /* this */
            iconst_1
            invokevirtual javassist.CtBehavior.getParameterAnnotations:(Z)[[Ljava/lang/Object;
         1: areturn
         2: .line 301
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 1 /* e */
        start local 1 // java.lang.ClassNotFoundException e
         3: .line 302
            new java.lang.RuntimeException
            dup
            ldc "Unexpected exception"
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ClassNotFoundException e
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavassist/CtBehavior;
            3    4     1     e  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassNotFoundException

  java.lang.Object[][] getParameterAnnotations(boolean);
    descriptor: (Z)[[Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // boolean ignoreNotFound
         0: .line 309
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
            astore 2 /* mi */
        start local 2 // javassist.bytecode.MethodInfo mi
         1: .line 311
            aload 2 /* mi */
            ldc "RuntimeInvisibleParameterAnnotations"
            invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
         2: .line 310
            checkcast javassist.bytecode.ParameterAnnotationsAttribute
            astore 3 /* ainfo */
        start local 3 // javassist.bytecode.ParameterAnnotationsAttribute ainfo
         3: .line 313
            aload 2 /* mi */
            ldc "RuntimeVisibleParameterAnnotations"
            invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
         4: .line 312
            checkcast javassist.bytecode.ParameterAnnotationsAttribute
            astore 4 /* ainfo2 */
        start local 4 // javassist.bytecode.ParameterAnnotationsAttribute ainfo2
         5: .line 314
            iload 1 /* ignoreNotFound */
         6: .line 315
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getDeclaringClass:()Ljavassist/CtClass;
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
         7: .line 316
            aload 3 /* ainfo */
            aload 4 /* ainfo2 */
            aload 2 /* mi */
         8: .line 314
            invokestatic javassist.CtClassType.toAnnotationType:(ZLjavassist/ClassPool;Ljavassist/bytecode/ParameterAnnotationsAttribute;Ljavassist/bytecode/ParameterAnnotationsAttribute;Ljavassist/bytecode/MethodInfo;)[[Ljava/lang/Object;
            areturn
        end local 4 // javassist.bytecode.ParameterAnnotationsAttribute ainfo2
        end local 3 // javassist.bytecode.ParameterAnnotationsAttribute ainfo
        end local 2 // javassist.bytecode.MethodInfo mi
        end local 1 // boolean ignoreNotFound
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Ljavassist/CtBehavior;
            0    9     1  ignoreNotFound  Z
            1    9     2              mi  Ljavassist/bytecode/MethodInfo;
            3    9     3           ainfo  Ljavassist/bytecode/ParameterAnnotationsAttribute;
            5    9     4          ainfo2  Ljavassist/bytecode/ParameterAnnotationsAttribute;
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
                Name  Flags
      ignoreNotFound  

  public javassist.CtClass[] getParameterTypes();
    descriptor: ()[Ljavassist/CtClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javassist.CtBehavior this
         0: .line 323
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
         1: .line 324
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
         2: .line 323
            invokestatic javassist.bytecode.Descriptor.getParameterTypes:(Ljava/lang/String;Ljavassist/ClassPool;)[Ljavassist/CtClass;
            areturn
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavassist/CtBehavior;
    Exceptions:
      throws javassist.NotFoundException

  javassist.CtClass getReturnType0();
    descriptor: ()Ljavassist/CtClass;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javassist.CtBehavior this
         0: .line 331
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
         1: .line 332
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
         2: .line 331
            invokestatic javassist.bytecode.Descriptor.getReturnType:(Ljava/lang/String;Ljavassist/ClassPool;)Ljavassist/CtClass;
            areturn
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavassist/CtBehavior;
    Exceptions:
      throws javassist.NotFoundException

  public java.lang.String getSignature();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtBehavior this
         0: .line 354
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
            areturn
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtBehavior;

  public java.lang.String getGenericSignature();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javassist.CtBehavior this
         0: .line 367
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            ldc "Signature"
            invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
            checkcast javassist.bytecode.SignatureAttribute
         1: .line 366
            astore 1 /* sa */
        start local 1 // javassist.bytecode.SignatureAttribute sa
         2: .line 368
            aload 1 /* sa */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: javassist.bytecode.SignatureAttribute
      StackMap stack:
         3: aload 1 /* sa */
            invokevirtual javassist.bytecode.SignatureAttribute.getSignature:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: areturn
        end local 1 // javassist.bytecode.SignatureAttribute sa
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavassist/CtBehavior;
            2    5     1    sa  Ljavassist/bytecode/SignatureAttribute;

  public void setGenericSignature(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.String sig
         0: .line 383
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 384
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            new javassist.bytecode.SignatureAttribute
            dup
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
            aload 1 /* sig */
            invokespecial javassist.bytecode.SignatureAttribute.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;)V
            invokevirtual javassist.bytecode.MethodInfo.addAttribute:(Ljavassist/bytecode/AttributeInfo;)V
         2: .line 385
            return
        end local 1 // java.lang.String sig
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavassist/CtBehavior;
            0    3     1   sig  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      sig   

  public javassist.CtClass[] getExceptionTypes();
    descriptor: ()[Ljavassist/CtClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // javassist.CtBehavior this
         0: .line 394
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getExceptionsAttribute:()Ljavassist/bytecode/ExceptionsAttribute;
            astore 2 /* ea */
        start local 2 // javassist.bytecode.ExceptionsAttribute ea
         1: .line 395
            aload 2 /* ea */
            ifnonnull 4
         2: .line 396
            aconst_null
            astore 1 /* exceptions */
        start local 1 // java.lang.String[] exceptions
         3: goto 5
        end local 1 // java.lang.String[] exceptions
         4: .line 398
      StackMap locals: javassist.CtBehavior top javassist.bytecode.ExceptionsAttribute
      StackMap stack:
            aload 2 /* ea */
            invokevirtual javassist.bytecode.ExceptionsAttribute.getExceptions:()[Ljava/lang/String;
            astore 1 /* exceptions */
        start local 1 // java.lang.String[] exceptions
         5: .line 400
      StackMap locals: javassist.CtBehavior java.lang.String[] javassist.bytecode.ExceptionsAttribute
      StackMap stack:
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
            aload 1 /* exceptions */
            invokevirtual javassist.ClassPool.get:([Ljava/lang/String;)[Ljavassist/CtClass;
            areturn
        end local 2 // javassist.bytecode.ExceptionsAttribute ea
        end local 1 // java.lang.String[] exceptions
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Ljavassist/CtBehavior;
            3    4     1  exceptions  [Ljava/lang/String;
            5    6     1  exceptions  [Ljava/lang/String;
            1    6     2          ea  Ljavassist/bytecode/ExceptionsAttribute;
    Exceptions:
      throws javassist.NotFoundException

  public void setExceptionTypes(javassist.CtClass[]);
    descriptor: ([Ljavassist/CtClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // javassist.CtClass[] types
         0: .line 407
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 408
            aload 1 /* types */
            ifnull 2
            aload 1 /* types */
            arraylength
            ifne 4
         2: .line 409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.removeExceptionsAttribute:()V
         3: .line 410
            return
         4: .line 413
      StackMap locals:
      StackMap stack:
            aload 1 /* types */
            arraylength
            anewarray java.lang.String
            astore 2 /* names */
        start local 2 // java.lang.String[] names
         5: .line 414
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 9
         7: .line 415
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 2 /* names */
            iload 3 /* i */
            aload 1 /* types */
            iload 3 /* i */
            aaload
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            aastore
         8: .line 414
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 1 /* types */
            arraylength
            if_icmplt 7
        end local 3 // int i
        10: .line 417
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getExceptionsAttribute:()Ljavassist/bytecode/ExceptionsAttribute;
            astore 3 /* ea */
        start local 3 // javassist.bytecode.ExceptionsAttribute ea
        11: .line 418
            aload 3 /* ea */
            ifnonnull 14
        12: .line 419
            new javassist.bytecode.ExceptionsAttribute
            dup
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
            invokespecial javassist.bytecode.ExceptionsAttribute.<init>:(Ljavassist/bytecode/ConstPool;)V
            astore 3 /* ea */
        13: .line 420
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 3 /* ea */
            invokevirtual javassist.bytecode.MethodInfo.setExceptionsAttribute:(Ljavassist/bytecode/ExceptionsAttribute;)V
        14: .line 423
      StackMap locals: javassist.CtBehavior javassist.CtClass[] java.lang.String[] javassist.bytecode.ExceptionsAttribute
      StackMap stack:
            aload 3 /* ea */
            aload 2 /* names */
            invokevirtual javassist.bytecode.ExceptionsAttribute.setExceptions:([Ljava/lang/String;)V
        15: .line 424
            return
        end local 3 // javassist.bytecode.ExceptionsAttribute ea
        end local 2 // java.lang.String[] names
        end local 1 // javassist.CtClass[] types
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Ljavassist/CtBehavior;
            0   16     1  types  [Ljavassist/CtClass;
            5   16     2  names  [Ljava/lang/String;
            6   10     3      i  I
           11   16     3     ea  Ljavassist/bytecode/ExceptionsAttribute;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
       Name  Flags
      types  

  public abstract boolean isEmpty();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public void setBody(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.String src
         0: .line 440
            aload 0 /* this */
            aload 1 /* src */
            aconst_null
            aconst_null
            invokevirtual javassist.CtBehavior.setBody:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 441
            return
        end local 1 // java.lang.String src
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtBehavior;
            0    2     1   src  Ljava/lang/String;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      src   

  public void setBody(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.String src
        start local 2 // java.lang.String delegateObj
        start local 3 // java.lang.String delegateMethod
         0: .line 459
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            astore 4 /* cc */
        start local 4 // javassist.CtClass cc
         1: .line 460
            aload 4 /* cc */
            invokevirtual javassist.CtClass.checkModify:()V
         2: .line 462
            new javassist.compiler.Javac
            dup
            aload 4 /* cc */
            invokespecial javassist.compiler.Javac.<init>:(Ljavassist/CtClass;)V
            astore 5 /* jv */
        start local 5 // javassist.compiler.Javac jv
         3: .line 463
            aload 3 /* delegateMethod */
            ifnull 5
         4: .line 464
            aload 5 /* jv */
            aload 2 /* delegateObj */
            aload 3 /* delegateMethod */
            invokevirtual javassist.compiler.Javac.recordProceed:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 466
      StackMap locals: javassist.CtClass javassist.compiler.Javac
      StackMap stack:
            aload 5 /* jv */
            aload 0 /* this */
            aload 1 /* src */
            invokevirtual javassist.compiler.Javac.compileBody:(Ljavassist/CtBehavior;Ljava/lang/String;)Ljavassist/bytecode/Bytecode;
            astore 6 /* b */
        start local 6 // javassist.bytecode.Bytecode b
         6: .line 467
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 6 /* b */
            invokevirtual javassist.bytecode.Bytecode.toCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            invokevirtual javassist.bytecode.MethodInfo.setCodeAttribute:(Ljavassist/bytecode/CodeAttribute;)V
         7: .line 468
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getAccessFlags:()I
         8: .line 469
            sipush -1025
            iand
         9: .line 468
            invokevirtual javassist.bytecode.MethodInfo.setAccessFlags:(I)V
        10: .line 470
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 4 /* cc */
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
            aload 4 /* cc */
            invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
            invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
        11: .line 471
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.rebuildClassFile:()V
        end local 6 // javassist.bytecode.Bytecode b
        end local 5 // javassist.compiler.Javac jv
        12: .line 472
            goto 17
        13: .line 473
      StackMap locals: javassist.CtBehavior java.lang.String java.lang.String java.lang.String javassist.CtClass
      StackMap stack: javassist.compiler.CompileError
            astore 5 /* e */
        start local 5 // javassist.compiler.CompileError e
        14: .line 474
            new javassist.CannotCompileException
            dup
            aload 5 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/compiler/CompileError;)V
            athrow
        end local 5 // javassist.compiler.CompileError e
        15: .line 475
      StackMap locals:
      StackMap stack: javassist.bytecode.BadBytecode
            astore 5 /* e */
        start local 5 // javassist.bytecode.BadBytecode e
        16: .line 476
            new javassist.CannotCompileException
            dup
            aload 5 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // javassist.bytecode.BadBytecode e
        17: .line 478
      StackMap locals:
      StackMap stack:
            return
        end local 4 // javassist.CtClass cc
        end local 3 // java.lang.String delegateMethod
        end local 2 // java.lang.String delegateObj
        end local 1 // java.lang.String src
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Ljavassist/CtBehavior;
            0   18     1             src  Ljava/lang/String;
            0   18     2     delegateObj  Ljava/lang/String;
            0   18     3  delegateMethod  Ljava/lang/String;
            1   18     4              cc  Ljavassist/CtClass;
            3   12     5              jv  Ljavassist/compiler/Javac;
            6   12     6               b  Ljavassist/bytecode/Bytecode;
           14   15     5               e  Ljavassist/compiler/CompileError;
           16   17     5               e  Ljavassist/bytecode/BadBytecode;
      Exception table:
        from    to  target  type
           2    12      13  Class javassist.compiler.CompileError
           2    12      15  Class javassist.bytecode.BadBytecode
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
                Name  Flags
      src             
      delegateObj     
      delegateMethod  

  static void setBody0(javassist.CtClass, javassist.bytecode.MethodInfo, javassist.CtClass, javassist.bytecode.MethodInfo, javassist.ClassMap);
    descriptor: (Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;Ljavassist/ClassMap;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=8, args_size=5
        start local 0 // javassist.CtClass srcClass
        start local 1 // javassist.bytecode.MethodInfo srcInfo
        start local 2 // javassist.CtClass destClass
        start local 3 // javassist.bytecode.MethodInfo destInfo
        start local 4 // javassist.ClassMap map
         0: .line 485
            aload 2 /* destClass */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 487
            new javassist.ClassMap
            dup
            aload 4 /* map */
            invokespecial javassist.ClassMap.<init>:(Ljavassist/ClassMap;)V
            astore 4 /* map */
         2: .line 488
            aload 4 /* map */
            aload 0 /* srcClass */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            aload 2 /* destClass */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            invokevirtual javassist.ClassMap.put:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         3: .line 490
            aload 1 /* srcInfo */
            invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            astore 5 /* cattr */
        start local 5 // javassist.bytecode.CodeAttribute cattr
         4: .line 491
            aload 5 /* cattr */
            ifnull 11
         5: .line 492
            aload 3 /* destInfo */
            invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
            astore 6 /* cp */
        start local 6 // javassist.bytecode.ConstPool cp
         6: .line 493
            aload 5 /* cattr */
            aload 6 /* cp */
            aload 4 /* map */
            invokevirtual javassist.bytecode.CodeAttribute.copy:(Ljavassist/bytecode/ConstPool;Ljava/util/Map;)Ljavassist/bytecode/AttributeInfo;
            checkcast javassist.bytecode.CodeAttribute
            astore 7 /* ca */
        start local 7 // javassist.bytecode.CodeAttribute ca
         7: .line 494
            aload 3 /* destInfo */
            aload 7 /* ca */
            invokevirtual javassist.bytecode.MethodInfo.setCodeAttribute:(Ljavassist/bytecode/CodeAttribute;)V
        end local 7 // javassist.bytecode.CodeAttribute ca
        end local 6 // javassist.bytecode.ConstPool cp
        end local 5 // javassist.bytecode.CodeAttribute cattr
         8: .line 497
            goto 11
         9: .line 498
      StackMap locals:
      StackMap stack: javassist.bytecode.CodeAttribute$RuntimeCopyException
            astore 5 /* e */
        start local 5 // javassist.bytecode.CodeAttribute$RuntimeCopyException e
        10: .line 501
            new javassist.CannotCompileException
            dup
            aload 5 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // javassist.bytecode.CodeAttribute$RuntimeCopyException e
        11: .line 504
      StackMap locals:
      StackMap stack:
            aload 3 /* destInfo */
            aload 3 /* destInfo */
            invokevirtual javassist.bytecode.MethodInfo.getAccessFlags:()I
        12: .line 505
            sipush -1025
            iand
        13: .line 504
            invokevirtual javassist.bytecode.MethodInfo.setAccessFlags:(I)V
        14: .line 506
            aload 2 /* destClass */
            invokevirtual javassist.CtClass.rebuildClassFile:()V
        15: .line 507
            return
        end local 4 // javassist.ClassMap map
        end local 3 // javassist.bytecode.MethodInfo destInfo
        end local 2 // javassist.CtClass destClass
        end local 1 // javassist.bytecode.MethodInfo srcInfo
        end local 0 // javassist.CtClass srcClass
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0   srcClass  Ljavassist/CtClass;
            0   16     1    srcInfo  Ljavassist/bytecode/MethodInfo;
            0   16     2  destClass  Ljavassist/CtClass;
            0   16     3   destInfo  Ljavassist/bytecode/MethodInfo;
            0   16     4        map  Ljavassist/ClassMap;
            4    8     5      cattr  Ljavassist/bytecode/CodeAttribute;
            6    8     6         cp  Ljavassist/bytecode/ConstPool;
            7    8     7         ca  Ljavassist/bytecode/CodeAttribute;
           10   11     5          e  Ljavassist/bytecode/CodeAttribute$RuntimeCopyException;
      Exception table:
        from    to  target  type
           3     8       9  Class javassist.bytecode.CodeAttribute$RuntimeCopyException
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
           Name  Flags
      srcClass   
      srcInfo    
      destClass  
      destInfo   
      map        

  public byte[] getAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.String name
         0: .line 523
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 1 /* name */
            invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
            astore 2 /* ai */
        start local 2 // javassist.bytecode.AttributeInfo ai
         1: .line 524
            aload 2 /* ai */
            ifnonnull 3
         2: .line 525
            aconst_null
            areturn
         3: .line 526
      StackMap locals: javassist.bytecode.AttributeInfo
      StackMap stack:
            aload 2 /* ai */
            invokevirtual javassist.bytecode.AttributeInfo.get:()[B
            areturn
        end local 2 // javassist.bytecode.AttributeInfo ai
        end local 1 // java.lang.String name
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavassist/CtBehavior;
            0    4     1  name  Ljava/lang/String;
            1    4     2    ai  Ljavassist/bytecode/AttributeInfo;
    MethodParameters:
      Name  Flags
      name  

  public void setAttribute(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.String name
        start local 2 // byte[] data
         0: .line 542
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 543
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            new javassist.bytecode.AttributeInfo
            dup
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
         2: .line 544
            aload 1 /* name */
            aload 2 /* data */
            invokespecial javassist.bytecode.AttributeInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;[B)V
         3: .line 543
            invokevirtual javassist.bytecode.MethodInfo.addAttribute:(Ljavassist/bytecode/AttributeInfo;)V
         4: .line 545
            return
        end local 2 // byte[] data
        end local 1 // java.lang.String name
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavassist/CtBehavior;
            0    5     1  name  Ljava/lang/String;
            0    5     2  data  [B
    MethodParameters:
      Name  Flags
      name  
      data  

  public void useCflow(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.String name
         0: .line 566
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            astore 2 /* cc */
        start local 2 // javassist.CtClass cc
         1: .line 567
            aload 2 /* cc */
            invokevirtual javassist.CtClass.checkModify:()V
         2: .line 568
            aload 2 /* cc */
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
            astore 3 /* pool */
        start local 3 // javassist.ClassPool pool
         3: .line 570
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: .line 572
      StackMap locals: javassist.CtBehavior java.lang.String javassist.CtClass javassist.ClassPool top int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "_cflow$"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* i */
            iinc 5 /* i */ 1
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* fname */
        start local 4 // java.lang.String fname
         5: .line 574
            aload 2 /* cc */
            aload 4 /* fname */
            invokevirtual javassist.CtClass.getDeclaredField:(Ljava/lang/String;)Ljavassist/CtField;
            pop
         6: .line 575
            goto 4
         7: .line 576
      StackMap locals: javassist.CtBehavior java.lang.String javassist.CtClass javassist.ClassPool java.lang.String int
      StackMap stack: javassist.NotFoundException
            pop
         8: .line 581
            aload 3 /* pool */
            aload 1 /* name */
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            aload 4 /* fname */
            invokevirtual javassist.ClassPool.recordCflow:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         9: .line 583
            aload 3 /* pool */
            ldc "javassist.runtime.Cflow"
            invokevirtual javassist.ClassPool.get:(Ljava/lang/String;)Ljavassist/CtClass;
            astore 6 /* type */
        start local 6 // javassist.CtClass type
        10: .line 584
            new javassist.CtField
            dup
            aload 6 /* type */
            aload 4 /* fname */
            aload 2 /* cc */
            invokespecial javassist.CtField.<init>:(Ljavassist/CtClass;Ljava/lang/String;Ljavassist/CtClass;)V
            astore 7 /* field */
        start local 7 // javassist.CtField field
        11: .line 585
            aload 7 /* field */
            bipush 9
            invokevirtual javassist.CtField.setModifiers:(I)V
        12: .line 586
            aload 2 /* cc */
            aload 7 /* field */
            aload 6 /* type */
            invokestatic javassist.CtField$Initializer.byNew:(Ljavassist/CtClass;)Ljavassist/CtField$Initializer;
            invokevirtual javassist.CtClass.addField:(Ljavassist/CtField;Ljavassist/CtField$Initializer;)V
        13: .line 587
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 4 /* fname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".enter();"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            invokevirtual javassist.CtBehavior.insertBefore:(Ljava/lang/String;Z)V
        14: .line 588
            new java.lang.StringBuilder
            dup
            aload 4 /* fname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".exit();"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* src */
        start local 8 // java.lang.String src
        15: .line 589
            aload 0 /* this */
            aload 8 /* src */
            iconst_1
            invokevirtual javassist.CtBehavior.insertAfter:(Ljava/lang/String;Z)V
        end local 8 // java.lang.String src
        end local 7 // javassist.CtField field
        end local 6 // javassist.CtClass type
        16: .line 590
            goto 19
        17: .line 591
      StackMap locals:
      StackMap stack: javassist.NotFoundException
            astore 6 /* e */
        start local 6 // javassist.NotFoundException e
        18: .line 592
            new javassist.CannotCompileException
            dup
            aload 6 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
            athrow
        end local 6 // javassist.NotFoundException e
        19: .line 594
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int i
        end local 4 // java.lang.String fname
        end local 3 // javassist.ClassPool pool
        end local 2 // javassist.CtClass cc
        end local 1 // java.lang.String name
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     0   this  Ljavassist/CtBehavior;
            0   20     1   name  Ljava/lang/String;
            1   20     2     cc  Ljavassist/CtClass;
            3   20     3   pool  Ljavassist/ClassPool;
            5   20     4  fname  Ljava/lang/String;
            4   20     5      i  I
           10   16     6   type  Ljavassist/CtClass;
           11   16     7  field  Ljavassist/CtField;
           15   16     8    src  Ljava/lang/String;
           18   19     6      e  Ljavassist/NotFoundException;
      Exception table:
        from    to  target  type
           5     6       7  Class javassist.NotFoundException
           9    16      17  Class javassist.NotFoundException
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      name  

  public void addLocalVariable(java.lang.String, javassist.CtClass);
    descriptor: (Ljava/lang/String;Ljavassist/CtClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.String name
        start local 2 // javassist.CtClass type
         0: .line 614
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 615
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
            astore 3 /* cp */
        start local 3 // javassist.bytecode.ConstPool cp
         2: .line 616
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            astore 4 /* ca */
        start local 4 // javassist.bytecode.CodeAttribute ca
         3: .line 617
            aload 4 /* ca */
            ifnonnull 5
         4: .line 618
            new javassist.CannotCompileException
            dup
            ldc "no method body"
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 620
      StackMap locals: javassist.bytecode.ConstPool javassist.bytecode.CodeAttribute
      StackMap stack:
            aload 4 /* ca */
         6: .line 621
            ldc "LocalVariableTable"
         7: .line 620
            invokevirtual javassist.bytecode.CodeAttribute.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
            checkcast javassist.bytecode.LocalVariableAttribute
            astore 5 /* va */
        start local 5 // javassist.bytecode.LocalVariableAttribute va
         8: .line 622
            aload 5 /* va */
            ifnonnull 11
         9: .line 623
            new javassist.bytecode.LocalVariableAttribute
            dup
            aload 3 /* cp */
            invokespecial javassist.bytecode.LocalVariableAttribute.<init>:(Ljavassist/bytecode/ConstPool;)V
            astore 5 /* va */
        10: .line 624
            aload 4 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getAttributes:()Ljava/util/List;
            aload 5 /* va */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 627
      StackMap locals: javassist.bytecode.LocalVariableAttribute
      StackMap stack:
            aload 4 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
            istore 6 /* maxLocals */
        start local 6 // int maxLocals
        12: .line 628
            aload 2 /* type */
            invokestatic javassist.bytecode.Descriptor.of:(Ljavassist/CtClass;)Ljava/lang/String;
            astore 7 /* desc */
        start local 7 // java.lang.String desc
        13: .line 629
            aload 5 /* va */
            iconst_0
            aload 4 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getCodeLength:()I
        14: .line 630
            aload 3 /* cp */
            aload 1 /* name */
            invokevirtual javassist.bytecode.ConstPool.addUtf8Info:(Ljava/lang/String;)I
            aload 3 /* cp */
            aload 7 /* desc */
            invokevirtual javassist.bytecode.ConstPool.addUtf8Info:(Ljava/lang/String;)I
            iload 6 /* maxLocals */
        15: .line 629
            invokevirtual javassist.bytecode.LocalVariableAttribute.addEntry:(IIIII)V
        16: .line 631
            aload 4 /* ca */
            iload 6 /* maxLocals */
            aload 7 /* desc */
            invokestatic javassist.bytecode.Descriptor.dataSize:(Ljava/lang/String;)I
            iadd
            invokevirtual javassist.bytecode.CodeAttribute.setMaxLocals:(I)V
        17: .line 632
            return
        end local 7 // java.lang.String desc
        end local 6 // int maxLocals
        end local 5 // javassist.bytecode.LocalVariableAttribute va
        end local 4 // javassist.bytecode.CodeAttribute ca
        end local 3 // javassist.bytecode.ConstPool cp
        end local 2 // javassist.CtClass type
        end local 1 // java.lang.String name
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Ljavassist/CtBehavior;
            0   18     1       name  Ljava/lang/String;
            0   18     2       type  Ljavassist/CtClass;
            2   18     3         cp  Ljavassist/bytecode/ConstPool;
            3   18     4         ca  Ljavassist/bytecode/CodeAttribute;
            8   18     5         va  Ljavassist/bytecode/LocalVariableAttribute;
           12   18     6  maxLocals  I
           13   18     7       desc  Ljava/lang/String;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      name  
      type  

  public void insertParameter(javassist.CtClass);
    descriptor: (Ljavassist/CtClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // javassist.CtClass type
         0: .line 640
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 641
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
            astore 2 /* desc */
        start local 2 // java.lang.String desc
         2: .line 642
            aload 1 /* type */
            aload 2 /* desc */
            invokestatic javassist.bytecode.Descriptor.insertParameter:(Ljavassist/CtClass;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* desc2 */
        start local 3 // java.lang.String desc2
         3: .line 644
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getModifiers:()I
            invokestatic javassist.Modifier.isStatic:(I)Z
            ifeq 4
            iconst_0
            goto 5
      StackMap locals: javassist.CtBehavior javassist.CtClass java.lang.String java.lang.String
      StackMap stack: javassist.CtBehavior
         4: iconst_1
      StackMap locals: javassist.CtBehavior javassist.CtClass java.lang.String java.lang.String
      StackMap stack: javassist.CtBehavior int
         5: aload 1 /* type */
            aload 2 /* desc */
            invokevirtual javassist.CtBehavior.addParameter2:(ILjavassist/CtClass;Ljava/lang/String;)V
         6: .line 645
            goto 9
         7: .line 646
      StackMap locals:
      StackMap stack: javassist.bytecode.BadBytecode
            astore 4 /* e */
        start local 4 // javassist.bytecode.BadBytecode e
         8: .line 647
            new javassist.CannotCompileException
            dup
            aload 4 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // javassist.bytecode.BadBytecode e
         9: .line 650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 3 /* desc2 */
            invokevirtual javassist.bytecode.MethodInfo.setDescriptor:(Ljava/lang/String;)V
        10: .line 651
            return
        end local 3 // java.lang.String desc2
        end local 2 // java.lang.String desc
        end local 1 // javassist.CtClass type
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Ljavassist/CtBehavior;
            0   11     1   type  Ljavassist/CtClass;
            2   11     2   desc  Ljava/lang/String;
            3   11     3  desc2  Ljava/lang/String;
            8    9     4      e  Ljavassist/bytecode/BadBytecode;
      Exception table:
        from    to  target  type
           3     6       7  Class javassist.bytecode.BadBytecode
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      type  

  public void addParameter(javassist.CtClass);
    descriptor: (Ljavassist/CtClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // javassist.CtClass type
         0: .line 659
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 660
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
            astore 2 /* desc */
        start local 2 // java.lang.String desc
         2: .line 661
            aload 1 /* type */
            aload 2 /* desc */
            invokestatic javassist.bytecode.Descriptor.appendParameter:(Ljavassist/CtClass;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* desc2 */
        start local 3 // java.lang.String desc2
         3: .line 662
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getModifiers:()I
            invokestatic javassist.Modifier.isStatic:(I)Z
            ifeq 4
            iconst_0
            goto 5
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* offset */
        start local 4 // int offset
         6: .line 664
            aload 0 /* this */
            iload 4 /* offset */
            aload 2 /* desc */
            invokestatic javassist.bytecode.Descriptor.paramSize:(Ljava/lang/String;)I
            iadd
            aload 1 /* type */
            aload 2 /* desc */
            invokevirtual javassist.CtBehavior.addParameter2:(ILjavassist/CtClass;Ljava/lang/String;)V
         7: .line 665
            goto 10
         8: .line 666
      StackMap locals: javassist.CtBehavior javassist.CtClass java.lang.String java.lang.String int
      StackMap stack: javassist.bytecode.BadBytecode
            astore 5 /* e */
        start local 5 // javassist.bytecode.BadBytecode e
         9: .line 667
            new javassist.CannotCompileException
            dup
            aload 5 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // javassist.bytecode.BadBytecode e
        10: .line 670
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 3 /* desc2 */
            invokevirtual javassist.bytecode.MethodInfo.setDescriptor:(Ljava/lang/String;)V
        11: .line 671
            return
        end local 4 // int offset
        end local 3 // java.lang.String desc2
        end local 2 // java.lang.String desc
        end local 1 // javassist.CtClass type
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljavassist/CtBehavior;
            0   12     1    type  Ljavassist/CtClass;
            2   12     2    desc  Ljava/lang/String;
            3   12     3   desc2  Ljava/lang/String;
            6   12     4  offset  I
            9   10     5       e  Ljavassist/bytecode/BadBytecode;
      Exception table:
        from    to  target  type
           6     7       8  Class javassist.bytecode.BadBytecode
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      type  

  private void addParameter2(int, javassist.CtClass, java.lang.String);
    descriptor: (ILjavassist/CtClass;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // javassist.CtBehavior this
        start local 1 // int where
        start local 2 // javassist.CtClass type
        start local 3 // java.lang.String desc
         0: .line 676
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            astore 4 /* ca */
        start local 4 // javassist.bytecode.CodeAttribute ca
         1: .line 677
            aload 4 /* ca */
            ifnull 26
         2: .line 678
            iconst_1
            istore 5 /* size */
        start local 5 // int size
         3: .line 679
            bipush 76
            istore 6 /* typeDesc */
        start local 6 // char typeDesc
         4: .line 680
            iconst_0
            istore 7 /* classInfo */
        start local 7 // int classInfo
         5: .line 681
            aload 2 /* type */
            invokevirtual javassist.CtClass.isPrimitive:()Z
            ifeq 10
         6: .line 682
            aload 2 /* type */
            checkcast javassist.CtPrimitiveType
            astore 8 /* cpt */
        start local 8 // javassist.CtPrimitiveType cpt
         7: .line 683
            aload 8 /* cpt */
            invokevirtual javassist.CtPrimitiveType.getDataSize:()I
            istore 5 /* size */
         8: .line 684
            aload 8 /* cpt */
            invokevirtual javassist.CtPrimitiveType.getDescriptor:()C
            istore 6 /* typeDesc */
        end local 8 // javassist.CtPrimitiveType cpt
         9: .line 685
            goto 11
        10: .line 687
      StackMap locals: javassist.CtBehavior int javassist.CtClass java.lang.String javassist.bytecode.CodeAttribute int int int
      StackMap stack:
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
            aload 2 /* type */
            invokevirtual javassist.bytecode.ConstPool.addClassInfo:(Ljavassist/CtClass;)I
            istore 7 /* classInfo */
        11: .line 689
      StackMap locals:
      StackMap stack:
            aload 4 /* ca */
            iload 1 /* where */
            iload 5 /* size */
            invokevirtual javassist.bytecode.CodeAttribute.insertLocalVar:(II)V
        12: .line 691
            aload 4 /* ca */
            ldc "LocalVariableTable"
            invokevirtual javassist.bytecode.CodeAttribute.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
            checkcast javassist.bytecode.LocalVariableAttribute
        13: .line 690
            astore 8 /* va */
        start local 8 // javassist.bytecode.LocalVariableAttribute va
        14: .line 692
            aload 8 /* va */
            ifnull 16
        15: .line 693
            aload 8 /* va */
            iload 1 /* where */
            iload 5 /* size */
            invokevirtual javassist.bytecode.LocalVariableAttribute.shiftIndex:(II)V
        16: .line 696
      StackMap locals: javassist.bytecode.LocalVariableAttribute
      StackMap stack:
            aload 4 /* ca */
            ldc "LocalVariableTypeTable"
            invokevirtual javassist.bytecode.CodeAttribute.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
            checkcast javassist.bytecode.LocalVariableTypeAttribute
        17: .line 695
            astore 9 /* lvta */
        start local 9 // javassist.bytecode.LocalVariableTypeAttribute lvta
        18: .line 697
            aload 9 /* lvta */
            ifnull 20
        19: .line 698
            aload 9 /* lvta */
            iload 1 /* where */
            iload 5 /* size */
            invokevirtual javassist.bytecode.LocalVariableTypeAttribute.shiftIndex:(II)V
        20: .line 700
      StackMap locals: javassist.bytecode.LocalVariableTypeAttribute
      StackMap stack:
            aload 4 /* ca */
            ldc "StackMapTable"
            invokevirtual javassist.bytecode.CodeAttribute.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
            checkcast javassist.bytecode.StackMapTable
            astore 10 /* smt */
        start local 10 // javassist.bytecode.StackMapTable smt
        21: .line 701
            aload 10 /* smt */
            ifnull 23
        22: .line 702
            aload 10 /* smt */
            iload 1 /* where */
            iload 6 /* typeDesc */
            invokestatic javassist.bytecode.StackMapTable.typeTagOf:(C)I
            iload 7 /* classInfo */
            invokevirtual javassist.bytecode.StackMapTable.insertLocal:(III)V
        23: .line 704
      StackMap locals: javassist.bytecode.StackMapTable
      StackMap stack:
            aload 4 /* ca */
            ldc "StackMap"
            invokevirtual javassist.bytecode.CodeAttribute.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
            checkcast javassist.bytecode.StackMap
            astore 11 /* sm */
        start local 11 // javassist.bytecode.StackMap sm
        24: .line 705
            aload 11 /* sm */
            ifnull 26
        25: .line 706
            aload 11 /* sm */
            iload 1 /* where */
            iload 6 /* typeDesc */
            invokestatic javassist.bytecode.StackMapTable.typeTagOf:(C)I
            iload 7 /* classInfo */
            invokevirtual javassist.bytecode.StackMap.insertLocal:(III)V
        end local 11 // javassist.bytecode.StackMap sm
        end local 10 // javassist.bytecode.StackMapTable smt
        end local 9 // javassist.bytecode.LocalVariableTypeAttribute lvta
        end local 8 // javassist.bytecode.LocalVariableAttribute va
        end local 7 // int classInfo
        end local 6 // char typeDesc
        end local 5 // int size
        26: .line 708
      StackMap locals: javassist.CtBehavior int javassist.CtClass java.lang.String javassist.bytecode.CodeAttribute
      StackMap stack:
            return
        end local 4 // javassist.bytecode.CodeAttribute ca
        end local 3 // java.lang.String desc
        end local 2 // javassist.CtClass type
        end local 1 // int where
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0       this  Ljavassist/CtBehavior;
            0   27     1      where  I
            0   27     2       type  Ljavassist/CtClass;
            0   27     3       desc  Ljava/lang/String;
            1   27     4         ca  Ljavassist/bytecode/CodeAttribute;
            3   26     5       size  I
            4   26     6   typeDesc  C
            5   26     7  classInfo  I
            7    9     8        cpt  Ljavassist/CtPrimitiveType;
           14   26     8         va  Ljavassist/bytecode/LocalVariableAttribute;
           18   26     9       lvta  Ljavassist/bytecode/LocalVariableTypeAttribute;
           21   26    10        smt  Ljavassist/bytecode/StackMapTable;
           24   26    11         sm  Ljavassist/bytecode/StackMap;
    Exceptions:
      throws javassist.bytecode.BadBytecode
    MethodParameters:
       Name  Flags
      where  
      type   
      desc   

  public void instrument(javassist.CodeConverter);
    descriptor: (Ljavassist/CodeConverter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // javassist.CodeConverter converter
         0: .line 718
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 719
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
            astore 2 /* cp */
        start local 2 // javassist.bytecode.ConstPool cp
         2: .line 720
            aload 1 /* converter */
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getDeclaringClass:()Ljavassist/CtClass;
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 2 /* cp */
            invokevirtual javassist.CodeConverter.doit:(Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;Ljavassist/bytecode/ConstPool;)V
         3: .line 721
            return
        end local 2 // javassist.bytecode.ConstPool cp
        end local 1 // javassist.CodeConverter converter
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Ljavassist/CtBehavior;
            0    4     1  converter  Ljavassist/CodeConverter;
            2    4     2         cp  Ljavassist/bytecode/ConstPool;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
           Name  Flags
      converter  

  public void instrument(javassist.expr.ExprEditor);
    descriptor: (Ljavassist/expr/ExprEditor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // javassist.expr.ExprEditor editor
         0: .line 741
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.isFrozen:()Z
            ifeq 2
         1: .line 742
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.checkModify:()V
         2: .line 744
      StackMap locals:
      StackMap stack:
            aload 1 /* editor */
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.expr.ExprEditor.doit:(Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;)Z
            ifeq 4
         3: .line 745
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            invokevirtual javassist.CtClass.checkModify:()V
         4: .line 746
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javassist.expr.ExprEditor editor
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljavassist/CtBehavior;
            0    5     1  editor  Ljavassist/expr/ExprEditor;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
        Name  Flags
      editor  

  public void insertBefore(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.String src
         0: .line 766
            aload 0 /* this */
            aload 1 /* src */
            iconst_1
            invokevirtual javassist.CtBehavior.insertBefore:(Ljava/lang/String;Z)V
         1: .line 767
            return
        end local 1 // java.lang.String src
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtBehavior;
            0    2     1   src  Ljava/lang/String;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      src   

  private void insertBefore(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=12, args_size=3
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.String src
        start local 2 // boolean rebuild
         0: .line 772
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            astore 3 /* cc */
        start local 3 // javassist.CtClass cc
         1: .line 773
            aload 3 /* cc */
            invokevirtual javassist.CtClass.checkModify:()V
         2: .line 774
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            astore 4 /* ca */
        start local 4 // javassist.bytecode.CodeAttribute ca
         3: .line 775
            aload 4 /* ca */
            ifnonnull 5
         4: .line 776
            new javassist.CannotCompileException
            dup
            ldc "no method body"
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 778
      StackMap locals: javassist.CtClass javassist.bytecode.CodeAttribute
      StackMap stack:
            aload 4 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
            astore 5 /* iterator */
        start local 5 // javassist.bytecode.CodeIterator iterator
         6: .line 779
            new javassist.compiler.Javac
            dup
            aload 3 /* cc */
            invokespecial javassist.compiler.Javac.<init>:(Ljavassist/CtClass;)V
            astore 6 /* jv */
        start local 6 // javassist.compiler.Javac jv
         7: .line 781
            aload 6 /* jv */
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getParameterTypes:()[Ljavassist/CtClass;
         8: .line 782
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getModifiers:()I
            invokestatic javassist.Modifier.isStatic:(I)Z
         9: .line 781
            invokevirtual javassist.compiler.Javac.recordParams:([Ljavassist/CtClass;Z)I
            istore 7 /* nvars */
        start local 7 // int nvars
        10: .line 783
            aload 6 /* jv */
            aload 4 /* ca */
            iload 7 /* nvars */
            invokevirtual javassist.compiler.Javac.recordParamNames:(Ljavassist/bytecode/CodeAttribute;I)Z
            pop
        11: .line 784
            aload 6 /* jv */
            aload 4 /* ca */
            iconst_0
            invokevirtual javassist.compiler.Javac.recordLocalVariables:(Ljavassist/bytecode/CodeAttribute;I)Z
            pop
        12: .line 785
            aload 6 /* jv */
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getReturnType0:()Ljavassist/CtClass;
            iconst_0
            invokevirtual javassist.compiler.Javac.recordReturnType:(Ljavassist/CtClass;Z)I
            pop
        13: .line 786
            aload 6 /* jv */
            aload 1 /* src */
            invokevirtual javassist.compiler.Javac.compileStmnt:(Ljava/lang/String;)V
        14: .line 787
            aload 6 /* jv */
            invokevirtual javassist.compiler.Javac.getBytecode:()Ljavassist/bytecode/Bytecode;
            astore 8 /* b */
        start local 8 // javassist.bytecode.Bytecode b
        15: .line 788
            aload 8 /* b */
            invokevirtual javassist.bytecode.Bytecode.getMaxStack:()I
            istore 9 /* stack */
        start local 9 // int stack
        16: .line 789
            aload 8 /* b */
            invokevirtual javassist.bytecode.Bytecode.getMaxLocals:()I
            istore 10 /* locals */
        start local 10 // int locals
        17: .line 791
            iload 9 /* stack */
            aload 4 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
            if_icmple 19
        18: .line 792
            aload 4 /* ca */
            iload 9 /* stack */
            invokevirtual javassist.bytecode.CodeAttribute.setMaxStack:(I)V
        19: .line 794
      StackMap locals: javassist.CtBehavior java.lang.String int javassist.CtClass javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator javassist.compiler.Javac int javassist.bytecode.Bytecode int int
      StackMap stack:
            iload 10 /* locals */
            aload 4 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
            if_icmple 21
        20: .line 795
            aload 4 /* ca */
            iload 10 /* locals */
            invokevirtual javassist.bytecode.CodeAttribute.setMaxLocals:(I)V
        21: .line 797
      StackMap locals:
      StackMap stack:
            aload 5 /* iterator */
            aload 8 /* b */
            invokevirtual javassist.bytecode.Bytecode.get:()[B
            invokevirtual javassist.bytecode.CodeIterator.insertEx:([B)I
            istore 11 /* pos */
        start local 11 // int pos
        22: .line 798
            aload 5 /* iterator */
            aload 8 /* b */
            invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
            iload 11 /* pos */
            invokevirtual javassist.bytecode.CodeIterator.insert:(Ljavassist/bytecode/ExceptionTable;I)V
        23: .line 799
            iload 2 /* rebuild */
            ifeq 32
        24: .line 800
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 3 /* cc */
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
            aload 3 /* cc */
            invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
            invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
        end local 11 // int pos
        end local 10 // int locals
        end local 9 // int stack
        end local 8 // javassist.bytecode.Bytecode b
        end local 7 // int nvars
        25: .line 801
            goto 32
        26: .line 802
      StackMap locals: javassist.CtBehavior java.lang.String int javassist.CtClass javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator javassist.compiler.Javac
      StackMap stack: javassist.NotFoundException
            astore 7 /* e */
        start local 7 // javassist.NotFoundException e
        27: .line 803
            new javassist.CannotCompileException
            dup
            aload 7 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
            athrow
        end local 7 // javassist.NotFoundException e
        28: .line 805
      StackMap locals:
      StackMap stack: javassist.compiler.CompileError
            astore 7 /* e */
        start local 7 // javassist.compiler.CompileError e
        29: .line 806
            new javassist.CannotCompileException
            dup
            aload 7 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/compiler/CompileError;)V
            athrow
        end local 7 // javassist.compiler.CompileError e
        30: .line 808
      StackMap locals:
      StackMap stack: javassist.bytecode.BadBytecode
            astore 7 /* e */
        start local 7 // javassist.bytecode.BadBytecode e
        31: .line 809
            new javassist.CannotCompileException
            dup
            aload 7 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 7 // javassist.bytecode.BadBytecode e
        32: .line 811
      StackMap locals:
      StackMap stack:
            return
        end local 6 // javassist.compiler.Javac jv
        end local 5 // javassist.bytecode.CodeIterator iterator
        end local 4 // javassist.bytecode.CodeAttribute ca
        end local 3 // javassist.CtClass cc
        end local 2 // boolean rebuild
        end local 1 // java.lang.String src
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   33     0      this  Ljavassist/CtBehavior;
            0   33     1       src  Ljava/lang/String;
            0   33     2   rebuild  Z
            1   33     3        cc  Ljavassist/CtClass;
            3   33     4        ca  Ljavassist/bytecode/CodeAttribute;
            6   33     5  iterator  Ljavassist/bytecode/CodeIterator;
            7   33     6        jv  Ljavassist/compiler/Javac;
           10   25     7     nvars  I
           15   25     8         b  Ljavassist/bytecode/Bytecode;
           16   25     9     stack  I
           17   25    10    locals  I
           22   25    11       pos  I
           27   28     7         e  Ljavassist/NotFoundException;
           29   30     7         e  Ljavassist/compiler/CompileError;
           31   32     7         e  Ljavassist/bytecode/BadBytecode;
      Exception table:
        from    to  target  type
           7    25      26  Class javassist.NotFoundException
           7    25      28  Class javassist.compiler.CompileError
           7    25      30  Class javassist.bytecode.BadBytecode
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
         Name  Flags
      src      
      rebuild  

  public void insertAfter(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.String src
         0: .line 824
            aload 0 /* this */
            aload 1 /* src */
            iconst_0
            iconst_0
            invokevirtual javassist.CtBehavior.insertAfter:(Ljava/lang/String;ZZ)V
         1: .line 825
            return
        end local 1 // java.lang.String src
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtBehavior;
            0    2     1   src  Ljava/lang/String;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      src   

  public void insertAfter(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.String src
        start local 2 // boolean asFinally
         0: .line 842
            aload 0 /* this */
            aload 1 /* src */
            iload 2 /* asFinally */
            iconst_0
            invokevirtual javassist.CtBehavior.insertAfter:(Ljava/lang/String;ZZ)V
         1: .line 843
            return
        end local 2 // boolean asFinally
        end local 1 // java.lang.String src
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljavassist/CtBehavior;
            0    2     1        src  Ljava/lang/String;
            0    2     2  asFinally  Z
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
           Name  Flags
      src        
      asFinally  

  public void insertAfter(java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=27, args_size=4
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.String src
        start local 2 // boolean asFinally
        start local 3 // boolean redundant
         0: .line 871
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            astore 4 /* cc */
        start local 4 // javassist.CtClass cc
         1: .line 872
            aload 4 /* cc */
            invokevirtual javassist.CtClass.checkModify:()V
         2: .line 873
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
            astore 5 /* pool */
        start local 5 // javassist.bytecode.ConstPool pool
         3: .line 874
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            astore 6 /* ca */
        start local 6 // javassist.bytecode.CodeAttribute ca
         4: .line 875
            aload 6 /* ca */
            ifnonnull 6
         5: .line 876
            new javassist.CannotCompileException
            dup
            ldc "no method body"
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 878
      StackMap locals: javassist.CtClass javassist.bytecode.ConstPool javassist.bytecode.CodeAttribute
      StackMap stack:
            aload 6 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
            astore 7 /* iterator */
        start local 7 // javassist.bytecode.CodeIterator iterator
         7: .line 879
            aload 6 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
            istore 8 /* retAddr */
        start local 8 // int retAddr
         8: .line 880
            new javassist.bytecode.Bytecode
            dup
            aload 5 /* pool */
            iconst_0
            iload 8 /* retAddr */
            iconst_1
            iadd
            invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
            astore 9 /* b */
        start local 9 // javassist.bytecode.Bytecode b
         9: .line 881
            aload 9 /* b */
            aload 6 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
            iconst_1
            iadd
            invokevirtual javassist.bytecode.Bytecode.setStackDepth:(I)V
        10: .line 882
            new javassist.compiler.Javac
            dup
            aload 9 /* b */
            aload 4 /* cc */
            invokespecial javassist.compiler.Javac.<init>:(Ljavassist/bytecode/Bytecode;Ljavassist/CtClass;)V
            astore 10 /* jv */
        start local 10 // javassist.compiler.Javac jv
        11: .line 884
            aload 10 /* jv */
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getParameterTypes:()[Ljavassist/CtClass;
        12: .line 885
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getModifiers:()I
            invokestatic javassist.Modifier.isStatic:(I)Z
        13: .line 884
            invokevirtual javassist.compiler.Javac.recordParams:([Ljavassist/CtClass;Z)I
            istore 11 /* nvars */
        start local 11 // int nvars
        14: .line 886
            aload 10 /* jv */
            aload 6 /* ca */
            iload 11 /* nvars */
            invokevirtual javassist.compiler.Javac.recordParamNames:(Ljavassist/bytecode/CodeAttribute;I)Z
            pop
        15: .line 887
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getReturnType0:()Ljavassist/CtClass;
            astore 12 /* rtype */
        start local 12 // javassist.CtClass rtype
        16: .line 888
            aload 10 /* jv */
            aload 12 /* rtype */
            iconst_1
            invokevirtual javassist.compiler.Javac.recordReturnType:(Ljavassist/CtClass;Z)I
            istore 13 /* varNo */
        start local 13 // int varNo
        17: .line 889
            aload 10 /* jv */
            aload 6 /* ca */
            iconst_0
            invokevirtual javassist.compiler.Javac.recordLocalVariables:(Ljavassist/bytecode/CodeAttribute;I)Z
            pop
        18: .line 892
            aload 0 /* this */
            iload 2 /* asFinally */
            aload 9 /* b */
            aload 12 /* rtype */
            iload 13 /* varNo */
        19: .line 893
            aload 10 /* jv */
            aload 1 /* src */
        20: .line 892
            invokevirtual javassist.CtBehavior.insertAfterHandler:(ZLjavassist/bytecode/Bytecode;Ljavassist/CtClass;ILjavassist/compiler/Javac;Ljava/lang/String;)I
            istore 14 /* handlerLen */
        start local 14 // int handlerLen
        21: .line 894
            aload 7 /* iterator */
            invokevirtual javassist.bytecode.CodeIterator.getCodeLength:()I
            istore 15 /* handlerPos */
        start local 15 // int handlerPos
        22: .line 895
            iload 2 /* asFinally */
            ifeq 24
        23: .line 896
            aload 6 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
            aload 0 /* this */
            aload 6 /* ca */
            invokevirtual javassist.CtBehavior.getStartPosOfBody:(Ljavassist/bytecode/CodeAttribute;)I
            iload 15 /* handlerPos */
            iload 15 /* handlerPos */
            iconst_0
            invokevirtual javassist.bytecode.ExceptionTable.add:(IIII)V
        24: .line 898
      StackMap locals: javassist.CtBehavior java.lang.String int int javassist.CtClass javassist.bytecode.ConstPool javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator int javassist.bytecode.Bytecode javassist.compiler.Javac int javassist.CtClass int int int
      StackMap stack:
            iconst_0
            istore 16 /* adviceLen */
        start local 16 // int adviceLen
        25: .line 899
            iconst_0
            istore 17 /* advicePos */
        start local 17 // int advicePos
        26: .line 900
            iconst_1
            istore 18 /* noReturn */
        start local 18 // boolean noReturn
        27: .line 901
            goto 69
        28: .line 902
      StackMap locals: int int int
      StackMap stack:
            aload 7 /* iterator */
            invokevirtual javassist.bytecode.CodeIterator.next:()I
            istore 19 /* pos */
        start local 19 // int pos
        29: .line 903
            iload 19 /* pos */
            iload 15 /* handlerPos */
            if_icmplt 31
        30: .line 904
            goto 70
        31: .line 906
      StackMap locals: int
      StackMap stack:
            aload 7 /* iterator */
            iload 19 /* pos */
            invokevirtual javassist.bytecode.CodeIterator.byteAt:(I)I
            istore 20 /* c */
        start local 20 // int c
        32: .line 907
            iload 20 /* c */
            sipush 176
            if_icmpeq 35
            iload 20 /* c */
            sipush 172
            if_icmpeq 35
        33: .line 908
            iload 20 /* c */
            sipush 174
            if_icmpeq 35
            iload 20 /* c */
            sipush 173
            if_icmpeq 35
        34: .line 909
            iload 20 /* c */
            sipush 175
            if_icmpeq 35
            iload 20 /* c */
            sipush 177
            if_icmpne 69
        35: .line 910
      StackMap locals: int
      StackMap stack:
            iload 3 /* redundant */
            ifeq 59
        36: .line 911
            aload 7 /* iterator */
            iload 15 /* handlerPos */
            invokevirtual javassist.bytecode.CodeIterator.setMark2:(I)V
        37: .line 915
            iload 18 /* noReturn */
            ifeq 43
        38: .line 916
            iconst_0
            istore 18 /* noReturn */
        39: .line 917
            aload 9 /* b */
            astore 21 /* bcode */
        start local 21 // javassist.bytecode.Bytecode bcode
        40: .line 918
            aload 10 /* jv */
            astore 22 /* jvc */
        start local 22 // javassist.compiler.Javac jvc
        41: .line 919
            iload 13 /* varNo */
            istore 23 /* retVarNo */
        start local 23 // int retVarNo
        42: .line 920
            goto 52
        end local 23 // int retVarNo
        end local 22 // javassist.compiler.Javac jvc
        end local 21 // javassist.bytecode.Bytecode bcode
        43: .line 922
      StackMap locals:
      StackMap stack:
            new javassist.bytecode.Bytecode
            dup
            aload 5 /* pool */
            iconst_0
            iload 8 /* retAddr */
            iconst_1
            iadd
            invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
            astore 21 /* bcode */
        start local 21 // javassist.bytecode.Bytecode bcode
        44: .line 923
            aload 21 /* bcode */
            aload 6 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
            iconst_1
            iadd
            invokevirtual javassist.bytecode.Bytecode.setStackDepth:(I)V
        45: .line 924
            new javassist.compiler.Javac
            dup
            aload 21 /* bcode */
            aload 4 /* cc */
            invokespecial javassist.compiler.Javac.<init>:(Ljavassist/bytecode/Bytecode;Ljavassist/CtClass;)V
            astore 22 /* jvc */
        start local 22 // javassist.compiler.Javac jvc
        46: .line 925
            aload 22 /* jvc */
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getParameterTypes:()[Ljavassist/CtClass;
        47: .line 926
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getModifiers:()I
            invokestatic javassist.Modifier.isStatic:(I)Z
        48: .line 925
            invokevirtual javassist.compiler.Javac.recordParams:([Ljavassist/CtClass;Z)I
            istore 24 /* nvars2 */
        start local 24 // int nvars2
        49: .line 927
            aload 22 /* jvc */
            aload 6 /* ca */
            iload 24 /* nvars2 */
            invokevirtual javassist.compiler.Javac.recordParamNames:(Ljavassist/bytecode/CodeAttribute;I)Z
            pop
        50: .line 928
            aload 22 /* jvc */
            aload 12 /* rtype */
            iconst_1
            invokevirtual javassist.compiler.Javac.recordReturnType:(Ljavassist/CtClass;Z)I
            istore 23 /* retVarNo */
        start local 23 // int retVarNo
        51: .line 929
            aload 22 /* jvc */
            aload 6 /* ca */
            iconst_0
            invokevirtual javassist.compiler.Javac.recordLocalVariables:(Ljavassist/bytecode/CodeAttribute;I)Z
            pop
        end local 24 // int nvars2
        52: .line 932
      StackMap locals: javassist.bytecode.Bytecode javassist.compiler.Javac int
      StackMap stack:
            aload 0 /* this */
            aload 21 /* bcode */
            aload 22 /* jvc */
            aload 1 /* src */
            aload 5 /* pool */
            aload 12 /* rtype */
            iload 23 /* retVarNo */
            invokevirtual javassist.CtBehavior.insertAfterAdvice:(Ljavassist/bytecode/Bytecode;Ljavassist/compiler/Javac;Ljava/lang/String;Ljavassist/bytecode/ConstPool;Ljavassist/CtClass;I)I
            istore 24 /* adviceLen2 */
        start local 24 // int adviceLen2
        53: .line 933
            aload 7 /* iterator */
            aload 21 /* bcode */
            invokevirtual javassist.bytecode.Bytecode.get:()[B
            invokevirtual javassist.bytecode.CodeIterator.append:([B)I
            istore 25 /* offset */
        start local 25 // int offset
        54: .line 934
            aload 7 /* iterator */
            aload 21 /* bcode */
            invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
            iload 25 /* offset */
            invokevirtual javassist.bytecode.CodeIterator.append:(Ljavassist/bytecode/ExceptionTable;I)V
        55: .line 935
            aload 7 /* iterator */
            invokevirtual javassist.bytecode.CodeIterator.getCodeLength:()I
            iload 24 /* adviceLen2 */
            isub
            istore 26 /* advicePos2 */
        start local 26 // int advicePos2
        56: .line 936
            aload 0 /* this */
            aload 7 /* iterator */
            iload 26 /* advicePos2 */
            iload 19 /* pos */
            invokevirtual javassist.CtBehavior.insertGoto:(Ljavassist/bytecode/CodeIterator;II)V
        57: .line 937
            aload 7 /* iterator */
            invokevirtual javassist.bytecode.CodeIterator.getMark2:()I
            istore 15 /* handlerPos */
        end local 26 // int advicePos2
        end local 25 // int offset
        end local 24 // int adviceLen2
        end local 23 // int retVarNo
        end local 22 // javassist.compiler.Javac jvc
        end local 21 // javassist.bytecode.Bytecode bcode
        58: .line 938
            goto 69
        59: .line 940
      StackMap locals:
      StackMap stack:
            iload 18 /* noReturn */
            ifeq 66
        60: .line 942
            aload 0 /* this */
            aload 9 /* b */
            aload 10 /* jv */
            aload 1 /* src */
            aload 5 /* pool */
            aload 12 /* rtype */
            iload 13 /* varNo */
            invokevirtual javassist.CtBehavior.insertAfterAdvice:(Ljavassist/bytecode/Bytecode;Ljavassist/compiler/Javac;Ljava/lang/String;Ljavassist/bytecode/ConstPool;Ljavassist/CtClass;I)I
            istore 16 /* adviceLen */
        61: .line 943
            aload 7 /* iterator */
            aload 9 /* b */
            invokevirtual javassist.bytecode.Bytecode.get:()[B
            invokevirtual javassist.bytecode.CodeIterator.append:([B)I
            istore 15 /* handlerPos */
        62: .line 944
            aload 7 /* iterator */
            aload 9 /* b */
            invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
            iload 15 /* handlerPos */
            invokevirtual javassist.bytecode.CodeIterator.append:(Ljavassist/bytecode/ExceptionTable;I)V
        63: .line 945
            aload 7 /* iterator */
            invokevirtual javassist.bytecode.CodeIterator.getCodeLength:()I
            iload 16 /* adviceLen */
            isub
            istore 17 /* advicePos */
        64: .line 946
            iload 17 /* advicePos */
            iload 15 /* handlerPos */
            isub
            istore 14 /* handlerLen */
        65: .line 947
            iconst_0
            istore 18 /* noReturn */
        66: .line 950
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* iterator */
            iload 17 /* advicePos */
            iload 19 /* pos */
            invokevirtual javassist.CtBehavior.insertGoto:(Ljavassist/bytecode/CodeIterator;II)V
        67: .line 951
            aload 7 /* iterator */
            invokevirtual javassist.bytecode.CodeIterator.getCodeLength:()I
            iload 16 /* adviceLen */
            isub
            istore 17 /* advicePos */
        68: .line 952
            iload 17 /* advicePos */
            iload 14 /* handlerLen */
            isub
            istore 15 /* handlerPos */
        end local 20 // int c
        end local 19 // int pos
        69: .line 901
      StackMap locals:
      StackMap stack:
            aload 7 /* iterator */
            invokevirtual javassist.bytecode.CodeIterator.hasNext:()Z
            ifne 28
        70: .line 957
      StackMap locals:
      StackMap stack:
            iload 18 /* noReturn */
            ifeq 73
        71: .line 958
            aload 7 /* iterator */
            aload 9 /* b */
            invokevirtual javassist.bytecode.Bytecode.get:()[B
            invokevirtual javassist.bytecode.CodeIterator.append:([B)I
            istore 15 /* handlerPos */
        72: .line 959
            aload 7 /* iterator */
            aload 9 /* b */
            invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
            iload 15 /* handlerPos */
            invokevirtual javassist.bytecode.CodeIterator.append:(Ljavassist/bytecode/ExceptionTable;I)V
        73: .line 962
      StackMap locals:
      StackMap stack:
            aload 6 /* ca */
            aload 9 /* b */
            invokevirtual javassist.bytecode.Bytecode.getMaxStack:()I
            invokevirtual javassist.bytecode.CodeAttribute.setMaxStack:(I)V
        74: .line 963
            aload 6 /* ca */
            aload 9 /* b */
            invokevirtual javassist.bytecode.Bytecode.getMaxLocals:()I
            invokevirtual javassist.bytecode.CodeAttribute.setMaxLocals:(I)V
        75: .line 964
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 4 /* cc */
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
            aload 4 /* cc */
            invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
            invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
        end local 18 // boolean noReturn
        end local 17 // int advicePos
        end local 16 // int adviceLen
        end local 15 // int handlerPos
        end local 14 // int handlerLen
        end local 13 // int varNo
        end local 12 // javassist.CtClass rtype
        end local 11 // int nvars
        76: .line 965
            goto 83
        77: .line 966
      StackMap locals: javassist.CtBehavior java.lang.String int int javassist.CtClass javassist.bytecode.ConstPool javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator int javassist.bytecode.Bytecode javassist.compiler.Javac
      StackMap stack: javassist.NotFoundException
            astore 11 /* e */
        start local 11 // javassist.NotFoundException e
        78: .line 967
            new javassist.CannotCompileException
            dup
            aload 11 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
            athrow
        end local 11 // javassist.NotFoundException e
        79: .line 969
      StackMap locals:
      StackMap stack: javassist.compiler.CompileError
            astore 11 /* e */
        start local 11 // javassist.compiler.CompileError e
        80: .line 970
            new javassist.CannotCompileException
            dup
            aload 11 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/compiler/CompileError;)V
            athrow
        end local 11 // javassist.compiler.CompileError e
        81: .line 972
      StackMap locals:
      StackMap stack: javassist.bytecode.BadBytecode
            astore 11 /* e */
        start local 11 // javassist.bytecode.BadBytecode e
        82: .line 973
            new javassist.CannotCompileException
            dup
            aload 11 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 11 // javassist.bytecode.BadBytecode e
        83: .line 975
      StackMap locals:
      StackMap stack:
            return
        end local 10 // javassist.compiler.Javac jv
        end local 9 // javassist.bytecode.Bytecode b
        end local 8 // int retAddr
        end local 7 // javassist.bytecode.CodeIterator iterator
        end local 6 // javassist.bytecode.CodeAttribute ca
        end local 5 // javassist.bytecode.ConstPool pool
        end local 4 // javassist.CtClass cc
        end local 3 // boolean redundant
        end local 2 // boolean asFinally
        end local 1 // java.lang.String src
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   84     0        this  Ljavassist/CtBehavior;
            0   84     1         src  Ljava/lang/String;
            0   84     2   asFinally  Z
            0   84     3   redundant  Z
            1   84     4          cc  Ljavassist/CtClass;
            3   84     5        pool  Ljavassist/bytecode/ConstPool;
            4   84     6          ca  Ljavassist/bytecode/CodeAttribute;
            7   84     7    iterator  Ljavassist/bytecode/CodeIterator;
            8   84     8     retAddr  I
            9   84     9           b  Ljavassist/bytecode/Bytecode;
           11   84    10          jv  Ljavassist/compiler/Javac;
           14   76    11       nvars  I
           16   76    12       rtype  Ljavassist/CtClass;
           17   76    13       varNo  I
           21   76    14  handlerLen  I
           22   76    15  handlerPos  I
           25   76    16   adviceLen  I
           26   76    17   advicePos  I
           27   76    18    noReturn  Z
           29   69    19         pos  I
           32   69    20           c  I
           40   43    21       bcode  Ljavassist/bytecode/Bytecode;
           44   58    21       bcode  Ljavassist/bytecode/Bytecode;
           41   43    22         jvc  Ljavassist/compiler/Javac;
           46   58    22         jvc  Ljavassist/compiler/Javac;
           42   43    23    retVarNo  I
           51   58    23    retVarNo  I
           49   52    24      nvars2  I
           53   58    24  adviceLen2  I
           54   58    25      offset  I
           56   58    26  advicePos2  I
           78   79    11           e  Ljavassist/NotFoundException;
           80   81    11           e  Ljavassist/compiler/CompileError;
           82   83    11           e  Ljavassist/bytecode/BadBytecode;
      Exception table:
        from    to  target  type
          11    76      77  Class javassist.NotFoundException
          11    76      79  Class javassist.compiler.CompileError
          11    76      81  Class javassist.bytecode.BadBytecode
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
           Name  Flags
      src        
      asFinally  
      redundant  

  private int insertAfterAdvice(javassist.bytecode.Bytecode, javassist.compiler.Javac, java.lang.String, javassist.bytecode.ConstPool, javassist.CtClass, int);
    descriptor: (Ljavassist/bytecode/Bytecode;Ljavassist/compiler/Javac;Ljava/lang/String;Ljavassist/bytecode/ConstPool;Ljavassist/CtClass;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=7
        start local 0 // javassist.CtBehavior this
        start local 1 // javassist.bytecode.Bytecode code
        start local 2 // javassist.compiler.Javac jv
        start local 3 // java.lang.String src
        start local 4 // javassist.bytecode.ConstPool cp
        start local 5 // javassist.CtClass rtype
        start local 6 // int varNo
         0: .line 981
            aload 1 /* code */
            invokevirtual javassist.bytecode.Bytecode.currentPc:()I
            istore 7 /* pc */
        start local 7 // int pc
         1: .line 982
            aload 5 /* rtype */
            getstatic javassist.CtClass.voidType:Ljavassist/CtClass;
            if_acmpne 9
         2: .line 983
            aload 1 /* code */
            iconst_1
            invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
         3: .line 984
            aload 1 /* code */
            iload 6 /* varNo */
            invokevirtual javassist.bytecode.Bytecode.addAstore:(I)V
         4: .line 985
            aload 2 /* jv */
            aload 3 /* src */
            invokevirtual javassist.compiler.Javac.compileStmnt:(Ljava/lang/String;)V
         5: .line 986
            aload 1 /* code */
            sipush 177
            invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
         6: .line 987
            aload 1 /* code */
            invokevirtual javassist.bytecode.Bytecode.getMaxLocals:()I
            iconst_1
            if_icmpge 15
         7: .line 988
            aload 1 /* code */
            iconst_1
            invokevirtual javassist.bytecode.Bytecode.setMaxLocals:(I)V
         8: .line 989
            goto 15
         9: .line 991
      StackMap locals: int
      StackMap stack:
            aload 1 /* code */
            iload 6 /* varNo */
            aload 5 /* rtype */
            invokevirtual javassist.bytecode.Bytecode.addStore:(ILjavassist/CtClass;)I
            pop
        10: .line 992
            aload 2 /* jv */
            aload 3 /* src */
            invokevirtual javassist.compiler.Javac.compileStmnt:(Ljava/lang/String;)V
        11: .line 993
            aload 1 /* code */
            iload 6 /* varNo */
            aload 5 /* rtype */
            invokevirtual javassist.bytecode.Bytecode.addLoad:(ILjavassist/CtClass;)I
            pop
        12: .line 994
            aload 5 /* rtype */
            invokevirtual javassist.CtClass.isPrimitive:()Z
            ifeq 14
        13: .line 995
            aload 1 /* code */
            aload 5 /* rtype */
            checkcast javassist.CtPrimitiveType
            invokevirtual javassist.CtPrimitiveType.getReturnOp:()I
            invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
            goto 15
        14: .line 997
      StackMap locals:
      StackMap stack:
            aload 1 /* code */
            sipush 176
            invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
        15: .line 1000
      StackMap locals:
      StackMap stack:
            aload 1 /* code */
            invokevirtual javassist.bytecode.Bytecode.currentPc:()I
            iload 7 /* pc */
            isub
            ireturn
        end local 7 // int pc
        end local 6 // int varNo
        end local 5 // javassist.CtClass rtype
        end local 4 // javassist.bytecode.ConstPool cp
        end local 3 // java.lang.String src
        end local 2 // javassist.compiler.Javac jv
        end local 1 // javassist.bytecode.Bytecode code
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Ljavassist/CtBehavior;
            0   16     1   code  Ljavassist/bytecode/Bytecode;
            0   16     2     jv  Ljavassist/compiler/Javac;
            0   16     3    src  Ljava/lang/String;
            0   16     4     cp  Ljavassist/bytecode/ConstPool;
            0   16     5  rtype  Ljavassist/CtClass;
            0   16     6  varNo  I
            1   16     7     pc  I
    Exceptions:
      throws javassist.compiler.CompileError
    MethodParameters:
       Name  Flags
      code   
      jv     
      src    
      cp     
      rtype  
      varNo  

  private void insertGoto(javassist.bytecode.CodeIterator, int, int);
    descriptor: (Ljavassist/bytecode/CodeIterator;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // javassist.CtBehavior this
        start local 1 // javassist.bytecode.CodeIterator iterator
        start local 2 // int subr
        start local 3 // int pos
         0: .line 1009
            aload 1 /* iterator */
            iload 2 /* subr */
            invokevirtual javassist.bytecode.CodeIterator.setMark:(I)V
         1: .line 1011
            aload 1 /* iterator */
            iconst_0
            iload 3 /* pos */
            invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
         2: .line 1012
            iload 2 /* subr */
            iconst_2
            iadd
            iload 3 /* pos */
            isub
            sipush 32767
            if_icmple 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* wide */
        start local 4 // boolean wide
         5: .line 1013
            iload 4 /* wide */
            ifeq 6
            iconst_4
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iconst_2
      StackMap locals:
      StackMap stack: int
         7: istore 5 /* len */
        start local 5 // int len
         8: .line 1014
            aload 1 /* iterator */
            iload 3 /* pos */
            iload 5 /* len */
            iconst_0
            invokevirtual javassist.bytecode.CodeIterator.insertGapAt:(IIZ)Ljavassist/bytecode/CodeIterator$Gap;
            astore 6 /* gap */
        start local 6 // javassist.bytecode.CodeIterator$Gap gap
         9: .line 1015
            aload 6 /* gap */
            getfield javassist.bytecode.CodeIterator$Gap.position:I
            aload 6 /* gap */
            getfield javassist.bytecode.CodeIterator$Gap.length:I
            iadd
            iload 5 /* len */
            isub
            istore 3 /* pos */
        10: .line 1016
            aload 1 /* iterator */
            invokevirtual javassist.bytecode.CodeIterator.getMark:()I
            iload 3 /* pos */
            isub
            istore 7 /* offset */
        start local 7 // int offset
        11: .line 1017
            iload 4 /* wide */
            ifeq 15
        12: .line 1018
            aload 1 /* iterator */
            sipush 200
            iload 3 /* pos */
            invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
        13: .line 1019
            aload 1 /* iterator */
            iload 7 /* offset */
            iload 3 /* pos */
            iconst_1
            iadd
            invokevirtual javassist.bytecode.CodeIterator.write32bit:(II)V
        14: .line 1020
            goto 24
        15: .line 1021
      StackMap locals: int javassist.bytecode.CodeIterator$Gap int
      StackMap stack:
            iload 7 /* offset */
            sipush 32767
            if_icmpgt 19
        16: .line 1022
            aload 1 /* iterator */
            sipush 167
            iload 3 /* pos */
            invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
        17: .line 1023
            aload 1 /* iterator */
            iload 7 /* offset */
            iload 3 /* pos */
            iconst_1
            iadd
            invokevirtual javassist.bytecode.CodeIterator.write16bit:(II)V
        18: .line 1024
            goto 24
        19: .line 1026
      StackMap locals:
      StackMap stack:
            aload 6 /* gap */
            getfield javassist.bytecode.CodeIterator$Gap.length:I
            iconst_4
            if_icmpge 22
        20: .line 1027
            aload 1 /* iterator */
            aload 6 /* gap */
            getfield javassist.bytecode.CodeIterator$Gap.position:I
            iconst_2
            iconst_0
            invokevirtual javassist.bytecode.CodeIterator.insertGapAt:(IIZ)Ljavassist/bytecode/CodeIterator$Gap;
            astore 8 /* gap2 */
        start local 8 // javassist.bytecode.CodeIterator$Gap gap2
        21: .line 1028
            aload 8 /* gap2 */
            getfield javassist.bytecode.CodeIterator$Gap.position:I
            aload 8 /* gap2 */
            getfield javassist.bytecode.CodeIterator$Gap.length:I
            iadd
            aload 6 /* gap */
            getfield javassist.bytecode.CodeIterator$Gap.length:I
            iadd
            iconst_4
            isub
            istore 3 /* pos */
        end local 8 // javassist.bytecode.CodeIterator$Gap gap2
        22: .line 1031
      StackMap locals:
      StackMap stack:
            aload 1 /* iterator */
            sipush 200
            iload 3 /* pos */
            invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
        23: .line 1032
            aload 1 /* iterator */
            aload 1 /* iterator */
            invokevirtual javassist.bytecode.CodeIterator.getMark:()I
            iload 3 /* pos */
            isub
            iload 3 /* pos */
            iconst_1
            iadd
            invokevirtual javassist.bytecode.CodeIterator.write32bit:(II)V
        24: .line 1034
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int offset
        end local 6 // javassist.bytecode.CodeIterator$Gap gap
        end local 5 // int len
        end local 4 // boolean wide
        end local 3 // int pos
        end local 2 // int subr
        end local 1 // javassist.bytecode.CodeIterator iterator
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0      this  Ljavassist/CtBehavior;
            0   25     1  iterator  Ljavassist/bytecode/CodeIterator;
            0   25     2      subr  I
            0   25     3       pos  I
            5   25     4      wide  Z
            8   25     5       len  I
            9   25     6       gap  Ljavassist/bytecode/CodeIterator$Gap;
           11   25     7    offset  I
           21   22     8      gap2  Ljavassist/bytecode/CodeIterator$Gap;
    Exceptions:
      throws javassist.bytecode.BadBytecode
    MethodParameters:
          Name  Flags
      iterator  
      subr      
      pos       

  private int insertAfterHandler(boolean, javassist.bytecode.Bytecode, javassist.CtClass, int, javassist.compiler.Javac, java.lang.String);
    descriptor: (ZLjavassist/bytecode/Bytecode;Ljavassist/CtClass;ILjavassist/compiler/Javac;Ljava/lang/String;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=7
        start local 0 // javassist.CtBehavior this
        start local 1 // boolean asFinally
        start local 2 // javassist.bytecode.Bytecode b
        start local 3 // javassist.CtClass rtype
        start local 4 // int returnVarNo
        start local 5 // javassist.compiler.Javac javac
        start local 6 // java.lang.String src
         0: .line 1043
            iload 1 /* asFinally */
            ifne 2
         1: .line 1044
            iconst_0
            ireturn
         2: .line 1046
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            invokevirtual javassist.bytecode.Bytecode.getMaxLocals:()I
            istore 7 /* var */
        start local 7 // int var
         3: .line 1047
            aload 2 /* b */
            iconst_1
            invokevirtual javassist.bytecode.Bytecode.incMaxLocals:(I)V
         4: .line 1048
            aload 2 /* b */
            invokevirtual javassist.bytecode.Bytecode.currentPc:()I
            istore 8 /* pc */
        start local 8 // int pc
         5: .line 1049
            aload 2 /* b */
            iload 7 /* var */
            invokevirtual javassist.bytecode.Bytecode.addAstore:(I)V
         6: .line 1050
            aload 3 /* rtype */
            invokevirtual javassist.CtClass.isPrimitive:()Z
            ifeq 27
         7: .line 1051
            aload 3 /* rtype */
            checkcast javassist.CtPrimitiveType
            invokevirtual javassist.CtPrimitiveType.getDescriptor:()C
            istore 9 /* c */
        start local 9 // char c
         8: .line 1052
            iload 9 /* c */
            bipush 68
            if_icmpne 12
         9: .line 1053
            aload 2 /* b */
            dconst_0
            invokevirtual javassist.bytecode.Bytecode.addDconst:(D)V
        10: .line 1054
            aload 2 /* b */
            iload 4 /* returnVarNo */
            invokevirtual javassist.bytecode.Bytecode.addDstore:(I)V
        11: .line 1055
            goto 29
        12: .line 1056
      StackMap locals: int int int
      StackMap stack:
            iload 9 /* c */
            bipush 70
            if_icmpne 16
        13: .line 1057
            aload 2 /* b */
            fconst_0
            invokevirtual javassist.bytecode.Bytecode.addFconst:(F)V
        14: .line 1058
            aload 2 /* b */
            iload 4 /* returnVarNo */
            invokevirtual javassist.bytecode.Bytecode.addFstore:(I)V
        15: .line 1059
            goto 29
        16: .line 1060
      StackMap locals:
      StackMap stack:
            iload 9 /* c */
            bipush 74
            if_icmpne 20
        17: .line 1061
            aload 2 /* b */
            lconst_0
            invokevirtual javassist.bytecode.Bytecode.addLconst:(J)V
        18: .line 1062
            aload 2 /* b */
            iload 4 /* returnVarNo */
            invokevirtual javassist.bytecode.Bytecode.addLstore:(I)V
        19: .line 1063
            goto 29
        20: .line 1064
      StackMap locals:
      StackMap stack:
            iload 9 /* c */
            bipush 86
            if_icmpne 24
        21: .line 1065
            aload 2 /* b */
            iconst_1
            invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
        22: .line 1066
            aload 2 /* b */
            iload 4 /* returnVarNo */
            invokevirtual javassist.bytecode.Bytecode.addAstore:(I)V
        23: .line 1067
            goto 29
        24: .line 1069
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            iconst_0
            invokevirtual javassist.bytecode.Bytecode.addIconst:(I)V
        25: .line 1070
            aload 2 /* b */
            iload 4 /* returnVarNo */
            invokevirtual javassist.bytecode.Bytecode.addIstore:(I)V
        end local 9 // char c
        26: .line 1072
            goto 29
        27: .line 1074
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            iconst_1
            invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
        28: .line 1075
            aload 2 /* b */
            iload 4 /* returnVarNo */
            invokevirtual javassist.bytecode.Bytecode.addAstore:(I)V
        29: .line 1078
      StackMap locals:
      StackMap stack:
            aload 5 /* javac */
            aload 6 /* src */
            invokevirtual javassist.compiler.Javac.compileStmnt:(Ljava/lang/String;)V
        30: .line 1079
            aload 2 /* b */
            iload 7 /* var */
            invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
        31: .line 1080
            aload 2 /* b */
            sipush 191
            invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
        32: .line 1081
            aload 2 /* b */
            invokevirtual javassist.bytecode.Bytecode.currentPc:()I
            iload 8 /* pc */
            isub
            ireturn
        end local 8 // int pc
        end local 7 // int var
        end local 6 // java.lang.String src
        end local 5 // javassist.compiler.Javac javac
        end local 4 // int returnVarNo
        end local 3 // javassist.CtClass rtype
        end local 2 // javassist.bytecode.Bytecode b
        end local 1 // boolean asFinally
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   33     0         this  Ljavassist/CtBehavior;
            0   33     1    asFinally  Z
            0   33     2            b  Ljavassist/bytecode/Bytecode;
            0   33     3        rtype  Ljavassist/CtClass;
            0   33     4  returnVarNo  I
            0   33     5        javac  Ljavassist/compiler/Javac;
            0   33     6          src  Ljava/lang/String;
            3   33     7          var  I
            5   33     8           pc  I
            8   26     9            c  C
    Exceptions:
      throws javassist.compiler.CompileError
    MethodParameters:
             Name  Flags
      asFinally    
      b            
      rtype        
      returnVarNo  
      javac        
      src          

  public void addCatch(java.lang.String, javassist.CtClass);
    descriptor: (Ljava/lang/String;Ljavassist/CtClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.String src
        start local 2 // javassist.CtClass exceptionType
         0: .line 1147
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* exceptionType */
            ldc "$e"
            invokevirtual javassist.CtBehavior.addCatch:(Ljava/lang/String;Ljavassist/CtClass;Ljava/lang/String;)V
         1: .line 1148
            return
        end local 2 // javassist.CtClass exceptionType
        end local 1 // java.lang.String src
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Ljavassist/CtBehavior;
            0    2     1            src  Ljava/lang/String;
            0    2     2  exceptionType  Ljavassist/CtClass;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
               Name  Flags
      src            
      exceptionType  

  public void addCatch(java.lang.String, javassist.CtClass, java.lang.String);
    descriptor: (Ljava/lang/String;Ljavassist/CtClass;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=15, args_size=4
        start local 0 // javassist.CtBehavior this
        start local 1 // java.lang.String src
        start local 2 // javassist.CtClass exceptionType
        start local 3 // java.lang.String exceptionName
         0: .line 1166
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            astore 4 /* cc */
        start local 4 // javassist.CtClass cc
         1: .line 1167
            aload 4 /* cc */
            invokevirtual javassist.CtClass.checkModify:()V
         2: .line 1168
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
            astore 5 /* cp */
        start local 5 // javassist.bytecode.ConstPool cp
         3: .line 1169
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            astore 6 /* ca */
        start local 6 // javassist.bytecode.CodeAttribute ca
         4: .line 1170
            aload 6 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
            astore 7 /* iterator */
        start local 7 // javassist.bytecode.CodeIterator iterator
         5: .line 1171
            new javassist.bytecode.Bytecode
            dup
            aload 5 /* cp */
            aload 6 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
            aload 6 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
            invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
            astore 8 /* b */
        start local 8 // javassist.bytecode.Bytecode b
         6: .line 1172
            aload 8 /* b */
            iconst_1
            invokevirtual javassist.bytecode.Bytecode.setStackDepth:(I)V
         7: .line 1173
            new javassist.compiler.Javac
            dup
            aload 8 /* b */
            aload 4 /* cc */
            invokespecial javassist.compiler.Javac.<init>:(Ljavassist/bytecode/Bytecode;Ljavassist/CtClass;)V
            astore 9 /* jv */
        start local 9 // javassist.compiler.Javac jv
         8: .line 1175
            aload 9 /* jv */
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getParameterTypes:()[Ljavassist/CtClass;
         9: .line 1176
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getModifiers:()I
            invokestatic javassist.Modifier.isStatic:(I)Z
        10: .line 1175
            invokevirtual javassist.compiler.Javac.recordParams:([Ljavassist/CtClass;Z)I
            pop
        11: .line 1177
            aload 9 /* jv */
            aload 2 /* exceptionType */
            aload 3 /* exceptionName */
            invokevirtual javassist.compiler.Javac.recordVariable:(Ljavassist/CtClass;Ljava/lang/String;)I
            istore 10 /* var */
        start local 10 // int var
        12: .line 1178
            aload 8 /* b */
            iload 10 /* var */
            invokevirtual javassist.bytecode.Bytecode.addAstore:(I)V
        13: .line 1179
            aload 9 /* jv */
            aload 1 /* src */
            invokevirtual javassist.compiler.Javac.compileStmnt:(Ljava/lang/String;)V
        14: .line 1181
            aload 8 /* b */
            invokevirtual javassist.bytecode.Bytecode.getMaxStack:()I
            istore 11 /* stack */
        start local 11 // int stack
        15: .line 1182
            aload 8 /* b */
            invokevirtual javassist.bytecode.Bytecode.getMaxLocals:()I
            istore 12 /* locals */
        start local 12 // int locals
        16: .line 1184
            iload 11 /* stack */
            aload 6 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
            if_icmple 18
        17: .line 1185
            aload 6 /* ca */
            iload 11 /* stack */
            invokevirtual javassist.bytecode.CodeAttribute.setMaxStack:(I)V
        18: .line 1187
      StackMap locals: javassist.CtBehavior java.lang.String javassist.CtClass java.lang.String javassist.CtClass javassist.bytecode.ConstPool javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator javassist.bytecode.Bytecode javassist.compiler.Javac int int int
      StackMap stack:
            iload 12 /* locals */
            aload 6 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
            if_icmple 20
        19: .line 1188
            aload 6 /* ca */
            iload 12 /* locals */
            invokevirtual javassist.bytecode.CodeAttribute.setMaxLocals:(I)V
        20: .line 1190
      StackMap locals:
      StackMap stack:
            aload 7 /* iterator */
            invokevirtual javassist.bytecode.CodeIterator.getCodeLength:()I
            istore 13 /* len */
        start local 13 // int len
        21: .line 1191
            aload 7 /* iterator */
            aload 8 /* b */
            invokevirtual javassist.bytecode.Bytecode.get:()[B
            invokevirtual javassist.bytecode.CodeIterator.append:([B)I
            istore 14 /* pos */
        start local 14 // int pos
        22: .line 1192
            aload 6 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
            aload 0 /* this */
            aload 6 /* ca */
            invokevirtual javassist.CtBehavior.getStartPosOfBody:(Ljavassist/bytecode/CodeAttribute;)I
            iload 13 /* len */
            iload 13 /* len */
        23: .line 1193
            aload 5 /* cp */
            aload 2 /* exceptionType */
            invokevirtual javassist.bytecode.ConstPool.addClassInfo:(Ljavassist/CtClass;)I
        24: .line 1192
            invokevirtual javassist.bytecode.ExceptionTable.add:(IIII)V
        25: .line 1194
            aload 7 /* iterator */
            aload 8 /* b */
            invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
            iload 14 /* pos */
            invokevirtual javassist.bytecode.CodeIterator.append:(Ljavassist/bytecode/ExceptionTable;I)V
        26: .line 1195
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 4 /* cc */
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
            aload 4 /* cc */
            invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
            invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
        end local 14 // int pos
        end local 13 // int len
        end local 12 // int locals
        end local 11 // int stack
        end local 10 // int var
        27: .line 1196
            goto 34
        28: .line 1197
      StackMap locals: javassist.CtBehavior java.lang.String javassist.CtClass java.lang.String javassist.CtClass javassist.bytecode.ConstPool javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator javassist.bytecode.Bytecode javassist.compiler.Javac
      StackMap stack: javassist.NotFoundException
            astore 10 /* e */
        start local 10 // javassist.NotFoundException e
        29: .line 1198
            new javassist.CannotCompileException
            dup
            aload 10 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
            athrow
        end local 10 // javassist.NotFoundException e
        30: .line 1200
      StackMap locals:
      StackMap stack: javassist.compiler.CompileError
            astore 10 /* e */
        start local 10 // javassist.compiler.CompileError e
        31: .line 1201
            new javassist.CannotCompileException
            dup
            aload 10 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/compiler/CompileError;)V
            athrow
        end local 10 // javassist.compiler.CompileError e
        32: .line 1202
      StackMap locals:
      StackMap stack: javassist.bytecode.BadBytecode
            astore 10 /* e */
        start local 10 // javassist.bytecode.BadBytecode e
        33: .line 1203
            new javassist.CannotCompileException
            dup
            aload 10 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 10 // javassist.bytecode.BadBytecode e
        34: .line 1205
      StackMap locals:
      StackMap stack:
            return
        end local 9 // javassist.compiler.Javac jv
        end local 8 // javassist.bytecode.Bytecode b
        end local 7 // javassist.bytecode.CodeIterator iterator
        end local 6 // javassist.bytecode.CodeAttribute ca
        end local 5 // javassist.bytecode.ConstPool cp
        end local 4 // javassist.CtClass cc
        end local 3 // java.lang.String exceptionName
        end local 2 // javassist.CtClass exceptionType
        end local 1 // java.lang.String src
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   35     0           this  Ljavassist/CtBehavior;
            0   35     1            src  Ljava/lang/String;
            0   35     2  exceptionType  Ljavassist/CtClass;
            0   35     3  exceptionName  Ljava/lang/String;
            1   35     4             cc  Ljavassist/CtClass;
            3   35     5             cp  Ljavassist/bytecode/ConstPool;
            4   35     6             ca  Ljavassist/bytecode/CodeAttribute;
            5   35     7       iterator  Ljavassist/bytecode/CodeIterator;
            6   35     8              b  Ljavassist/bytecode/Bytecode;
            8   35     9             jv  Ljavassist/compiler/Javac;
           12   27    10            var  I
           15   27    11          stack  I
           16   27    12         locals  I
           21   27    13            len  I
           22   27    14            pos  I
           29   30    10              e  Ljavassist/NotFoundException;
           31   32    10              e  Ljavassist/compiler/CompileError;
           33   34    10              e  Ljavassist/bytecode/BadBytecode;
      Exception table:
        from    to  target  type
           8    27      28  Class javassist.NotFoundException
           8    27      30  Class javassist.compiler.CompileError
           8    27      32  Class javassist.bytecode.BadBytecode
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
               Name  Flags
      src            
      exceptionType  
      exceptionName  

  int getStartPosOfBody(javassist.bytecode.CodeAttribute);
    descriptor: (Ljavassist/bytecode/CodeAttribute;)I
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtBehavior this
        start local 1 // javassist.bytecode.CodeAttribute ca
         0: .line 1210
            iconst_0
            ireturn
        end local 1 // javassist.bytecode.CodeAttribute ca
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtBehavior;
            0    1     1    ca  Ljavassist/bytecode/CodeAttribute;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      ca    

  public int insertAt(int, java.lang.String);
    descriptor: (ILjava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // javassist.CtBehavior this
        start local 1 // int lineNum
        start local 2 // java.lang.String src
         0: .line 1233
            aload 0 /* this */
            iload 1 /* lineNum */
            iconst_1
            aload 2 /* src */
            invokevirtual javassist.CtBehavior.insertAt:(IZLjava/lang/String;)I
            ireturn
        end local 2 // java.lang.String src
        end local 1 // int lineNum
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljavassist/CtBehavior;
            0    1     1  lineNum  I
            0    1     2      src  Ljava/lang/String;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
         Name  Flags
      lineNum  
      src      

  public int insertAt(int, boolean, java.lang.String);
    descriptor: (IZLjava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=14, args_size=4
        start local 0 // javassist.CtBehavior this
        start local 1 // int lineNum
        start local 2 // boolean modify
        start local 3 // java.lang.String src
         0: .line 1261
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
            astore 4 /* ca */
        start local 4 // javassist.bytecode.CodeAttribute ca
         1: .line 1262
            aload 4 /* ca */
            ifnonnull 3
         2: .line 1263
            new javassist.CannotCompileException
            dup
            ldc "no method body"
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1266
      StackMap locals: javassist.bytecode.CodeAttribute
      StackMap stack:
            aload 4 /* ca */
            ldc "LineNumberTable"
            invokevirtual javassist.bytecode.CodeAttribute.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
            checkcast javassist.bytecode.LineNumberAttribute
         4: .line 1265
            astore 5 /* ainfo */
        start local 5 // javassist.bytecode.LineNumberAttribute ainfo
         5: .line 1267
            aload 5 /* ainfo */
            ifnonnull 7
         6: .line 1268
            new javassist.CannotCompileException
            dup
            ldc "no line number info"
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 1270
      StackMap locals: javassist.bytecode.LineNumberAttribute
      StackMap stack:
            aload 5 /* ainfo */
            iload 1 /* lineNum */
            invokevirtual javassist.bytecode.LineNumberAttribute.toNearPc:(I)Ljavassist/bytecode/LineNumberAttribute$Pc;
            astore 6 /* pc */
        start local 6 // javassist.bytecode.LineNumberAttribute$Pc pc
         8: .line 1271
            aload 6 /* pc */
            getfield javassist.bytecode.LineNumberAttribute$Pc.line:I
            istore 1 /* lineNum */
         9: .line 1272
            aload 6 /* pc */
            getfield javassist.bytecode.LineNumberAttribute$Pc.index:I
            istore 7 /* index */
        start local 7 // int index
        10: .line 1273
            iload 2 /* modify */
            ifne 12
        11: .line 1274
            iload 1 /* lineNum */
            ireturn
        12: .line 1276
      StackMap locals: javassist.bytecode.LineNumberAttribute$Pc int
      StackMap stack:
            aload 0 /* this */
            getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
            astore 8 /* cc */
        start local 8 // javassist.CtClass cc
        13: .line 1277
            aload 8 /* cc */
            invokevirtual javassist.CtClass.checkModify:()V
        14: .line 1278
            aload 4 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
            astore 9 /* iterator */
        start local 9 // javassist.bytecode.CodeIterator iterator
        15: .line 1279
            new javassist.compiler.Javac
            dup
            aload 8 /* cc */
            invokespecial javassist.compiler.Javac.<init>:(Ljavassist/CtClass;)V
            astore 10 /* jv */
        start local 10 // javassist.compiler.Javac jv
        16: .line 1281
            aload 10 /* jv */
            aload 4 /* ca */
            iload 7 /* index */
            invokevirtual javassist.compiler.Javac.recordLocalVariables:(Ljavassist/bytecode/CodeAttribute;I)Z
            pop
        17: .line 1282
            aload 10 /* jv */
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getParameterTypes:()[Ljavassist/CtClass;
        18: .line 1283
            aload 0 /* this */
            invokevirtual javassist.CtBehavior.getModifiers:()I
            invokestatic javassist.Modifier.isStatic:(I)Z
        19: .line 1282
            invokevirtual javassist.compiler.Javac.recordParams:([Ljavassist/CtClass;Z)I
            pop
        20: .line 1284
            aload 10 /* jv */
            aload 4 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
            invokevirtual javassist.compiler.Javac.setMaxLocals:(I)V
        21: .line 1285
            aload 10 /* jv */
            aload 3 /* src */
            invokevirtual javassist.compiler.Javac.compileStmnt:(Ljava/lang/String;)V
        22: .line 1286
            aload 10 /* jv */
            invokevirtual javassist.compiler.Javac.getBytecode:()Ljavassist/bytecode/Bytecode;
            astore 11 /* b */
        start local 11 // javassist.bytecode.Bytecode b
        23: .line 1287
            aload 11 /* b */
            invokevirtual javassist.bytecode.Bytecode.getMaxLocals:()I
            istore 12 /* locals */
        start local 12 // int locals
        24: .line 1288
            aload 11 /* b */
            invokevirtual javassist.bytecode.Bytecode.getMaxStack:()I
            istore 13 /* stack */
        start local 13 // int stack
        25: .line 1289
            aload 4 /* ca */
            iload 12 /* locals */
            invokevirtual javassist.bytecode.CodeAttribute.setMaxLocals:(I)V
        26: .line 1294
            iload 13 /* stack */
            aload 4 /* ca */
            invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
            if_icmple 28
        27: .line 1295
            aload 4 /* ca */
            iload 13 /* stack */
            invokevirtual javassist.bytecode.CodeAttribute.setMaxStack:(I)V
        28: .line 1297
      StackMap locals: javassist.CtBehavior int int java.lang.String javassist.bytecode.CodeAttribute javassist.bytecode.LineNumberAttribute javassist.bytecode.LineNumberAttribute$Pc int javassist.CtClass javassist.bytecode.CodeIterator javassist.compiler.Javac javassist.bytecode.Bytecode int int
      StackMap stack:
            aload 9 /* iterator */
            iload 7 /* index */
            aload 11 /* b */
            invokevirtual javassist.bytecode.Bytecode.get:()[B
            invokevirtual javassist.bytecode.CodeIterator.insertAt:(I[B)I
            istore 7 /* index */
        29: .line 1298
            aload 9 /* iterator */
            aload 11 /* b */
            invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
            iload 7 /* index */
            invokevirtual javassist.bytecode.CodeIterator.insert:(Ljavassist/bytecode/ExceptionTable;I)V
        30: .line 1299
            aload 0 /* this */
            getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
            aload 8 /* cc */
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
            aload 8 /* cc */
            invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
            invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
        31: .line 1300
            iload 1 /* lineNum */
        32: ireturn
        end local 13 // int stack
        end local 12 // int locals
        end local 11 // javassist.bytecode.Bytecode b
        33: .line 1302
      StackMap locals: javassist.CtBehavior int int java.lang.String javassist.bytecode.CodeAttribute javassist.bytecode.LineNumberAttribute javassist.bytecode.LineNumberAttribute$Pc int javassist.CtClass javassist.bytecode.CodeIterator javassist.compiler.Javac
      StackMap stack: javassist.NotFoundException
            astore 11 /* e */
        start local 11 // javassist.NotFoundException e
        34: .line 1303
            new javassist.CannotCompileException
            dup
            aload 11 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
            athrow
        end local 11 // javassist.NotFoundException e
        35: .line 1305
      StackMap locals:
      StackMap stack: javassist.compiler.CompileError
            astore 11 /* e */
        start local 11 // javassist.compiler.CompileError e
        36: .line 1306
            new javassist.CannotCompileException
            dup
            aload 11 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljavassist/compiler/CompileError;)V
            athrow
        end local 11 // javassist.compiler.CompileError e
        37: .line 1308
      StackMap locals:
      StackMap stack: javassist.bytecode.BadBytecode
            astore 11 /* e */
        start local 11 // javassist.bytecode.BadBytecode e
        38: .line 1309
            new javassist.CannotCompileException
            dup
            aload 11 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 11 // javassist.bytecode.BadBytecode e
        end local 10 // javassist.compiler.Javac jv
        end local 9 // javassist.bytecode.CodeIterator iterator
        end local 8 // javassist.CtClass cc
        end local 7 // int index
        end local 6 // javassist.bytecode.LineNumberAttribute$Pc pc
        end local 5 // javassist.bytecode.LineNumberAttribute ainfo
        end local 4 // javassist.bytecode.CodeAttribute ca
        end local 3 // java.lang.String src
        end local 2 // boolean modify
        end local 1 // int lineNum
        end local 0 // javassist.CtBehavior this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   39     0      this  Ljavassist/CtBehavior;
            0   39     1   lineNum  I
            0   39     2    modify  Z
            0   39     3       src  Ljava/lang/String;
            1   39     4        ca  Ljavassist/bytecode/CodeAttribute;
            5   39     5     ainfo  Ljavassist/bytecode/LineNumberAttribute;
            8   39     6        pc  Ljavassist/bytecode/LineNumberAttribute$Pc;
           10   39     7     index  I
           13   39     8        cc  Ljavassist/CtClass;
           15   39     9  iterator  Ljavassist/bytecode/CodeIterator;
           16   39    10        jv  Ljavassist/compiler/Javac;
           23   33    11         b  Ljavassist/bytecode/Bytecode;
           24   33    12    locals  I
           25   33    13     stack  I
           34   35    11         e  Ljavassist/NotFoundException;
           36   37    11         e  Ljavassist/compiler/CompileError;
           38   39    11         e  Ljavassist/bytecode/BadBytecode;
      Exception table:
        from    to  target  type
          16    32      33  Class javassist.NotFoundException
          16    32      35  Class javassist.compiler.CompileError
          16    32      37  Class javassist.bytecode.BadBytecode
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
         Name  Flags
      lineNum  
      modify   
      src      
}
SourceFile: "CtBehavior.java"
InnerClasses:
  public abstract Initializer = javassist.CtField$Initializer of javassist.CtField
  public RuntimeCopyException = javassist.bytecode.CodeAttribute$RuntimeCopyException of javassist.bytecode.CodeAttribute
  public Gap = javassist.bytecode.CodeIterator$Gap of javassist.bytecode.CodeIterator
  public Pc = javassist.bytecode.LineNumberAttribute$Pc of javassist.bytecode.LineNumberAttribute