public abstract class javassist.CtClass
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javassist.CtClass
  super_class: java.lang.Object
{
  protected java.lang.String qualifiedName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  public static java.lang.String debugDump;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static final java.lang.String version;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "3.26.0-GA"

  static final java.lang.String javaLangObject;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "java.lang.Object"

  public static javassist.CtClass booleanType;
    descriptor: Ljavassist/CtClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static javassist.CtClass charType;
    descriptor: Ljavassist/CtClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static javassist.CtClass byteType;
    descriptor: Ljavassist/CtClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static javassist.CtClass shortType;
    descriptor: Ljavassist/CtClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static javassist.CtClass intType;
    descriptor: Ljavassist/CtClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static javassist.CtClass longType;
    descriptor: Ljavassist/CtClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static javassist.CtClass floatType;
    descriptor: Ljavassist/CtClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static javassist.CtClass doubleType;
    descriptor: Ljavassist/CtClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static javassist.CtClass voidType;
    descriptor: Ljavassist/CtClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  static javassist.CtClass[] primitiveTypes;
    descriptor: [Ljavassist/CtClass;
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=10, locals=0, args_size=0
         0: .line 67
            aconst_null
            putstatic javassist.CtClass.debugDump:Ljava/lang/String;
         1: .line 146
            bipush 9
            anewarray javassist.CtClass
            putstatic javassist.CtClass.primitiveTypes:[Ljavassist/CtClass;
         2: .line 149
            new javassist.CtPrimitiveType
            dup
            ldc "boolean"
            bipush 90
            ldc "java.lang.Boolean"
         3: .line 150
            ldc "booleanValue"
            ldc "()Z"
            sipush 172
         4: .line 151
            iconst_4
            iconst_1
         5: .line 149
            invokespecial javassist.CtPrimitiveType.<init>:(Ljava/lang/String;CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V
         6: .line 148
            putstatic javassist.CtClass.booleanType:Ljavassist/CtClass;
         7: .line 152
            getstatic javassist.CtClass.primitiveTypes:[Ljavassist/CtClass;
            iconst_0
            getstatic javassist.CtClass.booleanType:Ljavassist/CtClass;
            aastore
         8: .line 154
            new javassist.CtPrimitiveType
            dup
            ldc "char"
            bipush 67
            ldc "java.lang.Character"
         9: .line 155
            ldc "charValue"
            ldc "()C"
            sipush 172
        10: .line 156
            iconst_5
            iconst_1
        11: .line 154
            invokespecial javassist.CtPrimitiveType.<init>:(Ljava/lang/String;CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V
            putstatic javassist.CtClass.charType:Ljavassist/CtClass;
        12: .line 157
            getstatic javassist.CtClass.primitiveTypes:[Ljavassist/CtClass;
            iconst_1
            getstatic javassist.CtClass.charType:Ljavassist/CtClass;
            aastore
        13: .line 159
            new javassist.CtPrimitiveType
            dup
            ldc "byte"
            bipush 66
            ldc "java.lang.Byte"
        14: .line 160
            ldc "byteValue"
            ldc "()B"
            sipush 172
        15: .line 161
            bipush 8
            iconst_1
        16: .line 159
            invokespecial javassist.CtPrimitiveType.<init>:(Ljava/lang/String;CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V
            putstatic javassist.CtClass.byteType:Ljavassist/CtClass;
        17: .line 162
            getstatic javassist.CtClass.primitiveTypes:[Ljavassist/CtClass;
            iconst_2
            getstatic javassist.CtClass.byteType:Ljavassist/CtClass;
            aastore
        18: .line 164
            new javassist.CtPrimitiveType
            dup
            ldc "short"
            bipush 83
            ldc "java.lang.Short"
        19: .line 165
            ldc "shortValue"
            ldc "()S"
            sipush 172
        20: .line 166
            bipush 9
            iconst_1
        21: .line 164
            invokespecial javassist.CtPrimitiveType.<init>:(Ljava/lang/String;CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V
            putstatic javassist.CtClass.shortType:Ljavassist/CtClass;
        22: .line 167
            getstatic javassist.CtClass.primitiveTypes:[Ljavassist/CtClass;
            iconst_3
            getstatic javassist.CtClass.shortType:Ljavassist/CtClass;
            aastore
        23: .line 169
            new javassist.CtPrimitiveType
            dup
            ldc "int"
            bipush 73
            ldc "java.lang.Integer"
        24: .line 170
            ldc "intValue"
            ldc "()I"
            sipush 172
        25: .line 171
            bipush 10
            iconst_1
        26: .line 169
            invokespecial javassist.CtPrimitiveType.<init>:(Ljava/lang/String;CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V
            putstatic javassist.CtClass.intType:Ljavassist/CtClass;
        27: .line 172
            getstatic javassist.CtClass.primitiveTypes:[Ljavassist/CtClass;
            iconst_4
            getstatic javassist.CtClass.intType:Ljavassist/CtClass;
            aastore
        28: .line 174
            new javassist.CtPrimitiveType
            dup
            ldc "long"
            bipush 74
            ldc "java.lang.Long"
        29: .line 175
            ldc "longValue"
            ldc "()J"
            sipush 173
        30: .line 176
            bipush 11
            iconst_2
        31: .line 174
            invokespecial javassist.CtPrimitiveType.<init>:(Ljava/lang/String;CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V
            putstatic javassist.CtClass.longType:Ljavassist/CtClass;
        32: .line 177
            getstatic javassist.CtClass.primitiveTypes:[Ljavassist/CtClass;
            iconst_5
            getstatic javassist.CtClass.longType:Ljavassist/CtClass;
            aastore
        33: .line 179
            new javassist.CtPrimitiveType
            dup
            ldc "float"
            bipush 70
            ldc "java.lang.Float"
        34: .line 180
            ldc "floatValue"
            ldc "()F"
            sipush 174
        35: .line 181
            bipush 6
            iconst_1
        36: .line 179
            invokespecial javassist.CtPrimitiveType.<init>:(Ljava/lang/String;CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V
            putstatic javassist.CtClass.floatType:Ljavassist/CtClass;
        37: .line 182
            getstatic javassist.CtClass.primitiveTypes:[Ljavassist/CtClass;
            bipush 6
            getstatic javassist.CtClass.floatType:Ljavassist/CtClass;
            aastore
        38: .line 184
            new javassist.CtPrimitiveType
            dup
            ldc "double"
            bipush 68
            ldc "java.lang.Double"
        39: .line 185
            ldc "doubleValue"
            ldc "()D"
            sipush 175
        40: .line 186
            bipush 7
            iconst_2
        41: .line 184
            invokespecial javassist.CtPrimitiveType.<init>:(Ljava/lang/String;CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V
            putstatic javassist.CtClass.doubleType:Ljavassist/CtClass;
        42: .line 187
            getstatic javassist.CtClass.primitiveTypes:[Ljavassist/CtClass;
            bipush 7
            getstatic javassist.CtClass.doubleType:Ljavassist/CtClass;
            aastore
        43: .line 189
            new javassist.CtPrimitiveType
            dup
            ldc "void"
            bipush 86
            ldc "java.lang.Void"
        44: .line 190
            aconst_null
            aconst_null
            sipush 177
            iconst_0
            iconst_0
        45: .line 189
            invokespecial javassist.CtPrimitiveType.<init>:(Ljava/lang/String;CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V
            putstatic javassist.CtClass.voidType:Ljavassist/CtClass;
        46: .line 191
            getstatic javassist.CtClass.primitiveTypes:[Ljavassist/CtClass;
            bipush 8
            getstatic javassist.CtClass.voidType:Ljavassist/CtClass;
            aastore
        47: .line 192
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 82
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Javassist version 3.26.0-GA"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 83
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Copyright (C) 1999-2019 Shigeru Chiba. All Rights Reserved."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 85
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  args  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  

  protected void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String name
         0: .line 194
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 195
            aload 0 /* this */
            aload 1 /* name */
            putfield javassist.CtClass.qualifiedName:Ljava/lang/String;
         2: .line 196
            return
        end local 1 // java.lang.String name
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavassist/CtClass;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 203
            new java.lang.StringBuffer
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         1: .line 204
            aload 1 /* buf */
            ldc "@"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 205
            aload 1 /* buf */
            aload 0 /* this */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 206
            aload 1 /* buf */
            ldc "["
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 207
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual javassist.CtClass.extendToString:(Ljava/lang/StringBuffer;)V
         5: .line 208
            aload 1 /* buf */
            ldc "]"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 209
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buf
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavassist/CtClass;
            1    7     1   buf  Ljava/lang/StringBuffer;

  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.CtClass this
        start local 1 // java.lang.StringBuffer buffer
         0: .line 217
            aload 1 /* buffer */
            aload 0 /* this */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 218
            return
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljavassist/CtClass;
            0    2     1  buffer  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      buffer  

  public javassist.ClassPool getClassPool();
    descriptor: ()Ljavassist/ClassPool;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 223
            aconst_null
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public javassist.bytecode.ClassFile getClassFile();
    descriptor: ()Ljavassist/bytecode/ClassFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 232
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 233
            aload 0 /* this */
            invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtClass;

  public javassist.bytecode.ClassFile getClassFile2();
    descriptor: ()Ljavassist/bytecode/ClassFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 254
            aconst_null
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public javassist.compiler.AccessorMaker getAccessorMaker();
    descriptor: ()Ljavassist/compiler/AccessorMaker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 260
            aconst_null
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public java.net.URL getURL();
    descriptor: ()Ljava/net/URL;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 267
            new javassist.NotFoundException
            dup
            aload 0 /* this */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
    Exceptions:
      throws javassist.NotFoundException

  public boolean isModified();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 273
            iconst_0
            ireturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public boolean isFrozen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 282
            iconst_1
            ireturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public void freeze();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 291
            return
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  void checkModify();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 296
            aload 0 /* this */
            invokevirtual javassist.CtClass.isFrozen:()Z
            ifeq 2
         1: .line 297
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " class is frozen"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 300
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavassist/CtClass;
    Exceptions:
      throws java.lang.RuntimeException

  public void defrost();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 318
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot defrost "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public boolean isPrimitive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 326
            iconst_0
            ireturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public boolean isArray();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 332
            iconst_0
            ireturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public boolean isKotlin();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 340
            aload 0 /* this */
            ldc "kotlin.Metadata"
            invokevirtual javassist.CtClass.hasAnnotation:(Ljava/lang/String;)Z
            ireturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public javassist.CtClass getComponentType();
    descriptor: ()Ljavassist/CtClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 348
            aconst_null
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
    Exceptions:
      throws javassist.NotFoundException

  public boolean subtypeOf(javassist.CtClass);
    descriptor: (Ljavassist/CtClass;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // javassist.CtClass clazz
         0: .line 357
            aload 0 /* this */
            aload 1 /* clazz */
            if_acmpeq 1
            aload 0 /* this */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            aload 1 /* clazz */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // javassist.CtClass clazz
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljavassist/CtClass;
            0    2     1  clazz  Ljavassist/CtClass;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
       Name  Flags
      clazz  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 363
            aload 0 /* this */
            getfield javassist.CtClass.qualifiedName:Ljava/lang/String;
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public final java.lang.String getSimpleName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 369
            aload 0 /* this */
            getfield javassist.CtClass.qualifiedName:Ljava/lang/String;
            astore 1 /* qname */
        start local 1 // java.lang.String qname
         1: .line 370
            aload 1 /* qname */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* index */
        start local 2 // int index
         2: .line 371
            iload 2 /* index */
            ifge 4
         3: .line 372
            aload 1 /* qname */
            areturn
         4: .line 373
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 1 /* qname */
            iload 2 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 2 // int index
        end local 1 // java.lang.String qname
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljavassist/CtClass;
            1    5     1  qname  Ljava/lang/String;
            2    5     2  index  I

  public final java.lang.String getPackageName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 380
            aload 0 /* this */
            getfield javassist.CtClass.qualifiedName:Ljava/lang/String;
            astore 1 /* qname */
        start local 1 // java.lang.String qname
         1: .line 381
            aload 1 /* qname */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* index */
        start local 2 // int index
         2: .line 382
            iload 2 /* index */
            ifge 4
         3: .line 383
            aconst_null
            areturn
         4: .line 384
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 1 /* qname */
            iconst_0
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 2 // int index
        end local 1 // java.lang.String qname
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljavassist/CtClass;
            1    5     1  qname  Ljava/lang/String;
            2    5     2  index  I

  public void setName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String name
         0: .line 393
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 394
            aload 1 /* name */
            ifnull 3
         2: .line 395
            aload 0 /* this */
            aload 1 /* name */
            putfield javassist.CtClass.qualifiedName:Ljava/lang/String;
         3: .line 396
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String name
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavassist/CtClass;
            0    4     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String getGenericSignature();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 412
            aconst_null
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public void setGenericSignature(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String sig
         0: .line 484
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
            return
        end local 1 // java.lang.String sig
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
            0    1     1   sig  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      sig   

  public void replaceClassName(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String oldName
        start local 2 // java.lang.String newName
         0: .line 494
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 495
            return
        end local 2 // java.lang.String newName
        end local 1 // java.lang.String oldName
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljavassist/CtClass;
            0    2     1  oldName  Ljava/lang/String;
            0    2     2  newName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      oldName  
      newName  

  public void replaceClassName(javassist.ClassMap);
    descriptor: (Ljavassist/ClassMap;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // javassist.ClassMap map
         0: .line 515
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 516
            return
        end local 1 // javassist.ClassMap map
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtClass;
            0    2     1   map  Ljavassist/ClassMap;
    MethodParameters:
      Name  Flags
      map   

  public synchronized java.util.Collection<java.lang.String> getRefClasses();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 528
            aload 0 /* this */
            invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
            astore 1 /* cf */
        start local 1 // javassist.bytecode.ClassFile cf
         1: .line 529
            aload 1 /* cf */
            ifnull 5
         2: .line 530
            new javassist.CtClass$1
            dup
            aload 0 /* this */
            invokespecial javassist.CtClass$1.<init>:(Ljavassist/CtClass;)V
            astore 2 /* cm */
        start local 2 // javassist.ClassMap cm
         3: .line 547
            aload 1 /* cf */
            aload 2 /* cm */
            invokevirtual javassist.bytecode.ClassFile.getRefClasses:(Ljava/util/Map;)V
         4: .line 548
            aload 2 /* cm */
            invokevirtual javassist.ClassMap.values:()Ljava/util/Collection;
            areturn
        end local 2 // javassist.ClassMap cm
         5: .line 550
      StackMap locals: javassist.bytecode.ClassFile
      StackMap stack:
            aconst_null
            areturn
        end local 1 // javassist.bytecode.ClassFile cf
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljavassist/CtClass;
            1    6     1    cf  Ljavassist/bytecode/ClassFile;
            3    5     2    cm  Ljavassist/ClassMap;
    Signature: ()Ljava/util/Collection<Ljava/lang/String;>;

  public boolean isInterface();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 558
            iconst_0
            ireturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public boolean isAnnotation();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 568
            iconst_0
            ireturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public boolean isEnum();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 578
            iconst_0
            ireturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public int getModifiers();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 591
            iconst_0
            ireturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public boolean hasAnnotation(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.Class annotationType
         0: .line 602
            aload 0 /* this */
            aload 1 /* annotationType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual javassist.CtClass.hasAnnotation:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.Class annotationType
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Ljavassist/CtClass;
            0    1     1  annotationType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
                Name  Flags
      annotationType  

  public boolean hasAnnotation(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String annotationTypeName
         0: .line 613
            iconst_0
            ireturn
        end local 1 // java.lang.String annotationTypeName
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Ljavassist/CtClass;
            0    1     1  annotationTypeName  Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      annotationTypeName  

  public  getAnnotation(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.Class clz
         0: .line 628
            aconst_null
            areturn
        end local 1 // java.lang.Class clz
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
            0    1     1   clz  Ljava/lang/Class<*>;
    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=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 643
            iconst_0
            anewarray java.lang.Object
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
    Exceptions:
      throws java.lang.ClassNotFoundException

  public java.lang.Object[] getAvailableAnnotations();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 658
            iconst_0
            anewarray java.lang.Object
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public javassist.CtClass[] getDeclaredClasses();
    descriptor: ()[Ljavassist/CtClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 670
            aload 0 /* this */
            invokevirtual javassist.CtClass.getNestedClasses:()[Ljavassist/CtClass;
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
    Exceptions:
      throws javassist.NotFoundException

  public javassist.CtClass[] getNestedClasses();
    descriptor: ()[Ljavassist/CtClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 681
            iconst_0
            anewarray javassist.CtClass
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
    Exceptions:
      throws javassist.NotFoundException

  public void setModifiers(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // int mod
         0: .line 696
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 697
            return
        end local 1 // int mod
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtClass;
            0    2     1   mod  I
    MethodParameters:
      Name  Flags
      mod   

  public boolean subclassOf(javassist.CtClass);
    descriptor: (Ljavassist/CtClass;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // javassist.CtClass superclass
         0: .line 708
            iconst_0
            ireturn
        end local 1 // javassist.CtClass superclass
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavassist/CtClass;
            0    1     1  superclass  Ljavassist/CtClass;
    MethodParameters:
            Name  Flags
      superclass  

  public javassist.CtClass getSuperclass();
    descriptor: ()Ljavassist/CtClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 724
            aconst_null
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
    Exceptions:
      throws javassist.NotFoundException

  public void setSuperclass(javassist.CtClass);
    descriptor: (Ljavassist/CtClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // javassist.CtClass clazz
         0: .line 741
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 742
            return
        end local 1 // javassist.CtClass clazz
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljavassist/CtClass;
            0    2     1  clazz  Ljavassist/CtClass;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
       Name  Flags
      clazz  

  public javassist.CtClass[] getInterfaces();
    descriptor: ()[Ljavassist/CtClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 750
            iconst_0
            anewarray javassist.CtClass
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
    Exceptions:
      throws javassist.NotFoundException

  public void setInterfaces(javassist.CtClass[]);
    descriptor: ([Ljavassist/CtClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // javassist.CtClass[] list
         0: .line 763
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 764
            return
        end local 1 // javassist.CtClass[] list
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtClass;
            0    2     1  list  [Ljavassist/CtClass;
    MethodParameters:
      Name  Flags
      list  

  public void addInterface(javassist.CtClass);
    descriptor: (Ljavassist/CtClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // javassist.CtClass anInterface
         0: .line 772
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 773
            return
        end local 1 // javassist.CtClass anInterface
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljavassist/CtClass;
            0    2     1  anInterface  Ljavassist/CtClass;
    MethodParameters:
             Name  Flags
      anInterface  

  public javassist.CtClass getDeclaringClass();
    descriptor: ()Ljavassist/CtClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 782
            aconst_null
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
    Exceptions:
      throws javassist.NotFoundException

  public final javassist.CtMethod getEnclosingMethod();
    descriptor: ()Ljavassist/CtMethod;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 797
            aload 0 /* this */
            invokevirtual javassist.CtClass.getEnclosingBehavior:()Ljavassist/CtBehavior;
            astore 1 /* b */
        start local 1 // javassist.CtBehavior b
         1: .line 798
            aload 1 /* b */
            ifnonnull 3
         2: .line 799
            aconst_null
            areturn
         3: .line 800
      StackMap locals: javassist.CtBehavior
      StackMap stack:
            aload 1 /* b */
            instanceof javassist.CtMethod
            ifeq 5
         4: .line 801
            aload 1 /* b */
            checkcast javassist.CtMethod
            areturn
         5: .line 803
      StackMap locals:
      StackMap stack:
            new javassist.NotFoundException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* b */
            invokevirtual javassist.CtBehavior.getLongName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is enclosing "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // javassist.CtBehavior b
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljavassist/CtClass;
            1    6     1     b  Ljavassist/CtBehavior;
    Exceptions:
      throws javassist.NotFoundException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public javassist.CtBehavior getEnclosingBehavior();
    descriptor: ()Ljavassist/CtBehavior;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 815
            aconst_null
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
    Exceptions:
      throws javassist.NotFoundException

  public javassist.CtClass makeNestedClass(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljavassist/CtClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String name
        start local 2 // boolean isStatic
         0: .line 830
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not a class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // boolean isStatic
        end local 1 // java.lang.String name
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljavassist/CtClass;
            0    1     1      name  Ljava/lang/String;
            0    1     2  isStatic  Z
    MethodParameters:
          Name  Flags
      name      
      isStatic  

  public javassist.CtField[] getFields();
    descriptor: ()[Ljavassist/CtField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 839
            iconst_0
            anewarray javassist.CtField
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

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

  public javassist.CtField getField(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String desc
         0: .line 861
            new javassist.NotFoundException
            dup
            aload 1 /* name */
            invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String desc
        end local 1 // java.lang.String name
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
            0    1     1  name  Ljava/lang/String;
            0    1     2  desc  Ljava/lang/String;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
      Name  Flags
      name  
      desc  

  javassist.CtField getField2(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String desc
         0: .line 867
            aconst_null
            areturn
        end local 2 // java.lang.String desc
        end local 1 // java.lang.String name
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
            0    1     1  name  Ljava/lang/String;
            0    1     2  desc  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  
      desc  

  public javassist.CtField[] getDeclaredFields();
    descriptor: ()[Ljavassist/CtField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 875
            iconst_0
            anewarray javassist.CtField
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public javassist.CtField getDeclaredField(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavassist/CtField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String name
         0: .line 884
            new javassist.NotFoundException
            dup
            aload 1 /* name */
            invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String name
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
      Name  Flags
      name  

  public javassist.CtField getDeclaredField(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String desc
         0: .line 900
            new javassist.NotFoundException
            dup
            aload 1 /* name */
            invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String desc
        end local 1 // java.lang.String name
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
            0    1     1  name  Ljava/lang/String;
            0    1     2  desc  Ljava/lang/String;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
      Name  Flags
      name  
      desc  

  public javassist.CtBehavior[] getDeclaredBehaviors();
    descriptor: ()[Ljavassist/CtBehavior;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 907
            iconst_0
            anewarray javassist.CtBehavior
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public javassist.CtConstructor[] getConstructors();
    descriptor: ()[Ljavassist/CtConstructor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 915
            iconst_0
            anewarray javassist.CtConstructor
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public javassist.CtConstructor getConstructor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavassist/CtConstructor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String desc
         0: .line 931
            new javassist.NotFoundException
            dup
            ldc "no such constructor"
            invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String desc
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
            0    1     1  desc  Ljava/lang/String;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
      Name  Flags
      desc  

  public javassist.CtConstructor[] getDeclaredConstructors();
    descriptor: ()[Ljavassist/CtConstructor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 940
            iconst_0
            anewarray javassist.CtConstructor
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public javassist.CtConstructor getDeclaredConstructor(javassist.CtClass[]);
    descriptor: ([Ljavassist/CtClass;)Ljavassist/CtConstructor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // javassist.CtClass[] params
         0: .line 951
            aload 1 /* params */
            invokestatic javassist.bytecode.Descriptor.ofConstructor:([Ljavassist/CtClass;)Ljava/lang/String;
            astore 2 /* desc */
        start local 2 // java.lang.String desc
         1: .line 952
            aload 0 /* this */
            aload 2 /* desc */
            invokevirtual javassist.CtClass.getConstructor:(Ljava/lang/String;)Ljavassist/CtConstructor;
            areturn
        end local 2 // java.lang.String desc
        end local 1 // javassist.CtClass[] params
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljavassist/CtClass;
            0    2     1  params  [Ljavassist/CtClass;
            1    2     2    desc  Ljava/lang/String;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
        Name  Flags
      params  

  public javassist.CtConstructor getClassInitializer();
    descriptor: ()Ljavassist/CtConstructor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 965
            aconst_null
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public javassist.CtMethod[] getMethods();
    descriptor: ()[Ljavassist/CtMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 975
            iconst_0
            anewarray javassist.CtMethod
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public javassist.CtMethod getMethod(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String desc
         0: .line 993
            new javassist.NotFoundException
            dup
            aload 1 /* name */
            invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String desc
        end local 1 // java.lang.String name
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
            0    1     1  name  Ljava/lang/String;
            0    1     2  desc  Ljava/lang/String;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
      Name  Flags
      name  
      desc  

  public javassist.CtMethod[] getDeclaredMethods();
    descriptor: ()[Ljavassist/CtMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 1003
            iconst_0
            anewarray javassist.CtMethod
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public javassist.CtMethod getDeclaredMethod(java.lang.String, javassist.CtClass[]);
    descriptor: (Ljava/lang/String;[Ljavassist/CtClass;)Ljavassist/CtMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String name
        start local 2 // javassist.CtClass[] params
         0: .line 1019
            new javassist.NotFoundException
            dup
            aload 1 /* name */
            invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // javassist.CtClass[] params
        end local 1 // java.lang.String name
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljavassist/CtClass;
            0    1     1    name  Ljava/lang/String;
            0    1     2  params  [Ljavassist/CtClass;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
        Name  Flags
      name    
      params  

  public javassist.CtMethod[] getDeclaredMethods(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljavassist/CtMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String name
         0: .line 1033
            new javassist.NotFoundException
            dup
            aload 1 /* name */
            invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String name
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
      Name  Flags
      name  

  public javassist.CtMethod getDeclaredMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavassist/CtMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String name
         0: .line 1046
            new javassist.NotFoundException
            dup
            aload 1 /* name */
            invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String name
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
      Name  Flags
      name  

  public javassist.CtConstructor makeClassInitializer();
    descriptor: ()Ljavassist/CtConstructor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 1059
            new javassist.CannotCompileException
            dup
            ldc "not a class"
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
    Exceptions:
      throws javassist.CannotCompileException

  public void addConstructor(javassist.CtConstructor);
    descriptor: (Ljavassist/CtConstructor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // javassist.CtConstructor c
         0: .line 1071
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 1072
            return
        end local 1 // javassist.CtConstructor c
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtClass;
            0    2     1     c  Ljavassist/CtConstructor;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      c     

  public void removeConstructor(javassist.CtConstructor);
    descriptor: (Ljavassist/CtConstructor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // javassist.CtConstructor c
         0: .line 1081
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 1082
            return
        end local 1 // javassist.CtConstructor c
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtClass;
            0    2     1     c  Ljavassist/CtConstructor;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
      Name  Flags
      c     

  public void addMethod(javassist.CtMethod);
    descriptor: (Ljavassist/CtMethod;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // javassist.CtMethod m
         0: .line 1088
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 1089
            return
        end local 1 // javassist.CtMethod m
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtClass;
            0    2     1     m  Ljavassist/CtMethod;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      m     

  public void removeMethod(javassist.CtMethod);
    descriptor: (Ljavassist/CtMethod;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // javassist.CtMethod m
         0: .line 1098
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 1099
            return
        end local 1 // javassist.CtMethod m
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtClass;
            0    2     1     m  Ljavassist/CtMethod;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
      Name  Flags
      m     

  public void addField(javassist.CtField);
    descriptor: (Ljavassist/CtField;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // javassist.CtField f
         0: .line 1111
            aload 0 /* this */
            aload 1 /* f */
            aconst_null
            invokevirtual javassist.CtClass.addField:(Ljavassist/CtField;Ljavassist/CtField$Initializer;)V
         1: .line 1112
            return
        end local 1 // javassist.CtField f
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtClass;
            0    2     1     f  Ljavassist/CtField;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      f     

  public void addField(javassist.CtField, java.lang.String);
    descriptor: (Ljavassist/CtField;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // javassist.CtClass this
        start local 1 // javassist.CtField f
        start local 2 // java.lang.String init
         0: .line 1147
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 1148
            return
        end local 2 // java.lang.String init
        end local 1 // javassist.CtField f
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtClass;
            0    2     1     f  Ljavassist/CtField;
            0    2     2  init  Ljava/lang/String;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      f     
      init  

  public void addField(javassist.CtField, javassist.CtField$Initializer);
    descriptor: (Ljavassist/CtField;Ljavassist/CtField$Initializer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // javassist.CtClass this
        start local 1 // javassist.CtField f
        start local 2 // javassist.CtField$Initializer init
         0: .line 1175
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 1176
            return
        end local 2 // javassist.CtField$Initializer init
        end local 1 // javassist.CtField f
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtClass;
            0    2     1     f  Ljavassist/CtField;
            0    2     2  init  Ljavassist/CtField$Initializer;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
      Name  Flags
      f     
      init  

  public void removeField(javassist.CtField);
    descriptor: (Ljavassist/CtField;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // javassist.CtField f
         0: .line 1185
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 1186
            return
        end local 1 // javassist.CtField f
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtClass;
            0    2     1     f  Ljavassist/CtField;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
      Name  Flags
      f     

  public byte[] getAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String name
         0: .line 1206
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void setAttribute(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String name
        start local 2 // byte[] data
         0: .line 1232
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 1233
            return
        end local 2 // byte[] data
        end local 1 // java.lang.String name
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtClass;
            0    2     1  name  Ljava/lang/String;
            0    2     2  data  [B
    MethodParameters:
      Name  Flags
      name  
      data  

  public void instrument(javassist.CodeConverter);
    descriptor: (Ljavassist/CodeConverter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // javassist.CodeConverter converter
         0: .line 1246
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 1247
            return
        end local 1 // javassist.CodeConverter converter
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljavassist/CtClass;
            0    2     1  converter  Ljavassist/CodeConverter;
    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=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // javassist.expr.ExprEditor editor
         0: .line 1260
            aload 0 /* this */
            invokevirtual javassist.CtClass.checkModify:()V
         1: .line 1261
            return
        end local 1 // javassist.expr.ExprEditor editor
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljavassist/CtClass;
            0    2     1  editor  Ljavassist/expr/ExprEditor;
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
        Name  Flags
      editor  

  public java.lang.Class<?> toClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 1298
            aload 0 /* this */
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
            aload 0 /* this */
            invokevirtual javassist.ClassPool.toClass:(Ljavassist/CtClass;)Ljava/lang/Class;
            areturn
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
    Exceptions:
      throws javassist.CannotCompileException
    Signature: ()Ljava/lang/Class<*>;

  public java.lang.Class<?> toClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.Class neighbor
         0: .line 1325
            aload 0 /* this */
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
            aload 0 /* this */
            aload 1 /* neighbor */
            invokevirtual javassist.ClassPool.toClass:(Ljavassist/CtClass;Ljava/lang/Class;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.Class neighbor
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljavassist/CtClass;
            0    1     1  neighbor  Ljava/lang/Class<*>;
    Exceptions:
      throws javassist.CannotCompileException
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
    MethodParameters:
          Name  Flags
      neighbor  

  public java.lang.Class<?> toClass(java.lang.invoke.MethodHandles$Lookup);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.invoke.MethodHandles$Lookup lookup
         0: .line 1351
            aload 0 /* this */
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
            aload 0 /* this */
            aload 1 /* lookup */
            invokevirtual javassist.ClassPool.toClass:(Ljavassist/CtClass;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.invoke.MethodHandles$Lookup lookup
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljavassist/CtClass;
            0    1     1  lookup  Ljava/lang/invoke/MethodHandles$Lookup;
    Exceptions:
      throws javassist.CannotCompileException
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Class<*>;
    MethodParameters:
        Name  Flags
      lookup  

  public java.lang.Class<?> toClass(java.lang.ClassLoader, java.security.ProtectionDomain);
    descriptor: (Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.ClassLoader loader
        start local 2 // java.security.ProtectionDomain domain
         0: .line 1388
            aload 0 /* this */
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
            astore 3 /* cp */
        start local 3 // javassist.ClassPool cp
         1: .line 1389
            aload 1 /* loader */
            ifnonnull 3
         2: .line 1390
            aload 3 /* cp */
            invokevirtual javassist.ClassPool.getClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* loader */
         3: .line 1392
      StackMap locals: javassist.ClassPool
      StackMap stack:
            aload 3 /* cp */
            aload 0 /* this */
            aconst_null
            aload 1 /* loader */
            aload 2 /* domain */
            invokevirtual javassist.ClassPool.toClass:(Ljavassist/CtClass;Ljava/lang/Class;Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
            areturn
        end local 3 // javassist.ClassPool cp
        end local 2 // java.security.ProtectionDomain domain
        end local 1 // java.lang.ClassLoader loader
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljavassist/CtClass;
            0    4     1  loader  Ljava/lang/ClassLoader;
            0    4     2  domain  Ljava/security/ProtectionDomain;
            1    4     3      cp  Ljavassist/ClassPool;
    Exceptions:
      throws javassist.CannotCompileException
    Signature: (Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class<*>;
    MethodParameters:
        Name  Flags
      loader  
      domain  

  public final java.lang.Class<?> toClass(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)Ljava/lang/Class;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.ClassLoader loader
         0: .line 1408
            aload 0 /* this */
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
            aload 0 /* this */
            aconst_null
            aload 1 /* loader */
            aconst_null
            invokevirtual javassist.ClassPool.toClass:(Ljavassist/CtClass;Ljava/lang/Class;Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.ClassLoader loader
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljavassist/CtClass;
            0    1     1  loader  Ljava/lang/ClassLoader;
    Exceptions:
      throws javassist.CannotCompileException
    Signature: (Ljava/lang/ClassLoader;)Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      loader  

  public void detach();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 1424
            aload 0 /* this */
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
            astore 1 /* cp */
        start local 1 // javassist.ClassPool cp
         1: .line 1425
            aload 1 /* cp */
            aload 0 /* this */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            invokevirtual javassist.ClassPool.removeCached:(Ljava/lang/String;)Ljavassist/CtClass;
            astore 2 /* obj */
        start local 2 // javassist.CtClass obj
         2: .line 1426
            aload 2 /* obj */
            aload 0 /* this */
            if_acmpeq 4
         3: .line 1427
            aload 1 /* cp */
            aload 0 /* this */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            aload 2 /* obj */
            iconst_0
            invokevirtual javassist.ClassPool.cacheCtClass:(Ljava/lang/String;Ljavassist/CtClass;Z)V
         4: .line 1428
      StackMap locals: javassist.ClassPool javassist.CtClass
      StackMap stack:
            return
        end local 2 // javassist.CtClass obj
        end local 1 // javassist.ClassPool cp
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavassist/CtClass;
            1    5     1    cp  Ljavassist/ClassPool;
            2    5     2   obj  Ljavassist/CtClass;

  public boolean stopPruning(boolean);
    descriptor: (Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // boolean stop
         0: .line 1454
            iconst_1
            ireturn
        end local 1 // boolean stop
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
            0    1     1  stop  Z
    MethodParameters:
      Name  Flags
      stop  

  public void prune();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 1486
            return
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  void incGetCounter();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 1491
            return
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public void rebuildClassFile();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 1506
            return
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;

  public byte[] toBytecode();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 1516
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 1 /* barray */
        start local 1 // java.io.ByteArrayOutputStream barray
         1: .line 1517
            new java.io.DataOutputStream
            dup
            aload 1 /* barray */
            invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 2 /* out */
        start local 2 // java.io.DataOutputStream out
         2: .line 1519
            aload 0 /* this */
            aload 2 /* out */
            invokevirtual javassist.CtClass.toBytecode:(Ljava/io/DataOutputStream;)V
         3: .line 1520
            goto 7
         4: .line 1521
      StackMap locals: javassist.CtClass java.io.ByteArrayOutputStream java.io.DataOutputStream
      StackMap stack: java.lang.Throwable
            astore 3
         5: .line 1522
            aload 2 /* out */
            invokevirtual java.io.DataOutputStream.close:()V
         6: .line 1523
            aload 3
            athrow
         7: .line 1522
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            invokevirtual java.io.DataOutputStream.close:()V
         8: .line 1525
            aload 1 /* barray */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            areturn
        end local 2 // java.io.DataOutputStream out
        end local 1 // java.io.ByteArrayOutputStream barray
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljavassist/CtClass;
            1    9     1  barray  Ljava/io/ByteArrayOutputStream;
            2    9     2     out  Ljava/io/DataOutputStream;
      Exception table:
        from    to  target  type
           2     4       4  any
    Exceptions:
      throws java.io.IOException, javassist.CannotCompileException

  public void writeFile();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 1539
            aload 0 /* this */
            ldc "."
            invokevirtual javassist.CtClass.writeFile:(Ljava/lang/String;)V
         1: .line 1540
            return
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtClass;
    Exceptions:
      throws javassist.NotFoundException, java.io.IOException, javassist.CannotCompileException

  public void writeFile(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String directoryName
         0: .line 1554
            aload 0 /* this */
            aload 1 /* directoryName */
            invokevirtual javassist.CtClass.makeFileOutput:(Ljava/lang/String;)Ljava/io/DataOutputStream;
            astore 2 /* out */
        start local 2 // java.io.DataOutputStream out
         1: .line 1556
            aload 0 /* this */
            aload 2 /* out */
            invokevirtual javassist.CtClass.toBytecode:(Ljava/io/DataOutputStream;)V
         2: .line 1557
            goto 6
         3: .line 1558
      StackMap locals: javassist.CtClass java.lang.String java.io.DataOutputStream
      StackMap stack: java.lang.Throwable
            astore 3
         4: .line 1559
            aload 2 /* out */
            invokevirtual java.io.DataOutputStream.close:()V
         5: .line 1560
            aload 3
            athrow
         6: .line 1559
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            invokevirtual java.io.DataOutputStream.close:()V
         7: .line 1561
            return
        end local 2 // java.io.DataOutputStream out
        end local 1 // java.lang.String directoryName
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Ljavassist/CtClass;
            0    8     1  directoryName  Ljava/lang/String;
            1    8     2            out  Ljava/io/DataOutputStream;
      Exception table:
        from    to  target  type
           1     3       3  any
    Exceptions:
      throws javassist.CannotCompileException, java.io.IOException
    MethodParameters:
               Name  Flags
      directoryName  

  protected java.io.DataOutputStream makeFileOutput(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/DataOutputStream;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String directoryName
         0: .line 1564
            aload 0 /* this */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            astore 2 /* classname */
        start local 2 // java.lang.String classname
         1: .line 1565
            new java.lang.StringBuilder
            dup
            aload 1 /* directoryName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 1566
            aload 2 /* classname */
            bipush 46
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 1565
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* filename */
        start local 3 // java.lang.String filename
         4: .line 1567
            aload 3 /* filename */
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 4 /* pos */
        start local 4 // int pos
         5: .line 1568
            iload 4 /* pos */
            ifle 9
         6: .line 1569
            aload 3 /* filename */
            iconst_0
            iload 4 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* dir */
        start local 5 // java.lang.String dir
         7: .line 1570
            aload 5 /* dir */
            ldc "."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 1571
            new java.io.File
            dup
            aload 5 /* dir */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.mkdirs:()Z
            pop
        end local 5 // java.lang.String dir
         9: .line 1574
      StackMap locals: java.lang.String java.lang.String int
      StackMap stack:
            new java.io.DataOutputStream
            dup
            new java.io.BufferedOutputStream
            dup
        10: .line 1575
            new javassist.CtClass$DelayedFileOutputStream
            dup
            aload 3 /* filename */
            invokespecial javassist.CtClass$DelayedFileOutputStream.<init>:(Ljava/lang/String;)V
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
        11: .line 1574
            invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
            areturn
        end local 4 // int pos
        end local 3 // java.lang.String filename
        end local 2 // java.lang.String classname
        end local 1 // java.lang.String directoryName
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Ljavassist/CtClass;
            0   12     1  directoryName  Ljava/lang/String;
            1   12     2      classname  Ljava/lang/String;
            4   12     3       filename  Ljava/lang/String;
            5   12     4            pos  I
            7    9     5            dir  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      directoryName  

  public void debugWriteFile();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 1586
            aload 0 /* this */
            ldc "."
            invokevirtual javassist.CtClass.debugWriteFile:(Ljava/lang/String;)V
         1: .line 1587
            return
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavassist/CtClass;

  public void debugWriteFile(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String directoryName
         0: .line 1600
            aload 0 /* this */
            iconst_1
            invokevirtual javassist.CtClass.stopPruning:(Z)Z
            istore 2 /* p */
        start local 2 // boolean p
         1: .line 1601
            aload 0 /* this */
            aload 1 /* directoryName */
            invokevirtual javassist.CtClass.writeFile:(Ljava/lang/String;)V
         2: .line 1602
            aload 0 /* this */
            invokevirtual javassist.CtClass.defrost:()V
         3: .line 1603
            aload 0 /* this */
            iload 2 /* p */
            invokevirtual javassist.CtClass.stopPruning:(Z)Z
            pop
        end local 2 // boolean p
         4: .line 1604
            goto 7
         5: .line 1605
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         6: .line 1606
            new java.lang.RuntimeException
            dup
            aload 2 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception e
         7: .line 1608
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String directoryName
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Ljavassist/CtClass;
            0    8     1  directoryName  Ljava/lang/String;
            1    4     2              p  Z
            6    7     2              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.Exception
    MethodParameters:
               Name  Flags
      directoryName  

  public void toBytecode(java.io.DataOutputStream);
    descriptor: (Ljava/io/DataOutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.io.DataOutputStream out
         0: .line 1668
            new javassist.CannotCompileException
            dup
            ldc "not a class"
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.io.DataOutputStream out
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
            0    1     1   out  Ljava/io/DataOutputStream;
    Exceptions:
      throws javassist.CannotCompileException, java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  public java.lang.String makeUniqueName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // javassist.CtClass this
        start local 1 // java.lang.String prefix
         0: .line 1681
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "not available in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String prefix
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljavassist/CtClass;
            0    1     1  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  

  void compress();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // javassist.CtClass this
         0: .line 1687
            return
        end local 0 // javassist.CtClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/CtClass;
}
SourceFile: "CtClass.java"
NestMembers:
  javassist.CtClass$1  javassist.CtClass$DelayedFileOutputStream
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  javassist.CtClass$1
  DelayedFileOutputStream = javassist.CtClass$DelayedFileOutputStream of javassist.CtClass
  public abstract Initializer = javassist.CtField$Initializer of javassist.CtField