public class net.sf.cglib.core.DebuggingClassWriter extends org.objectweb.asm.ClassVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.sf.cglib.core.DebuggingClassWriter
  super_class: org.objectweb.asm.ClassVisitor
{
  public static final java.lang.String DEBUG_LOCATION_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "cglib.debugLocation"

  private static java.lang.String debugLocation;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.reflect.Constructor traceCtor;
    descriptor: Ljava/lang/reflect/Constructor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private java.lang.String className;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String superName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=1, args_size=0
         0: .line 37
            ldc "cglib.debugLocation"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            putstatic net.sf.cglib.core.DebuggingClassWriter.debugLocation:Ljava/lang/String;
         1: .line 38
            getstatic net.sf.cglib.core.DebuggingClassWriter.debugLocation:Ljava/lang/String;
            ifnull 7
         2: .line 39
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "CGLIB debugging enabled, writing to '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic net.sf.cglib.core.DebuggingClassWriter.debugLocation:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 41
            ldc "org.objectweb.asm.util.TraceClassVisitor"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 0 /* clazz */
        start local 0 // java.lang.Class clazz
         4: .line 42
            aload 0 /* clazz */
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/objectweb/asm/ClassVisitor;
            aastore
            dup
            iconst_1
            ldc Ljava/io/PrintWriter;
            aastore
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            putstatic net.sf.cglib.core.DebuggingClassWriter.traceCtor:Ljava/lang/reflect/Constructor;
        end local 0 // java.lang.Class clazz
         5: .line 43
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: pop
         7: .line 46
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            4    5     0  clazz  Ljava/lang/Class;
      Exception table:
        from    to  target  type
           3     5       6  Class java.lang.Throwable

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.DebuggingClassWriter this
        start local 1 // int flags
         0: .line 49
            aload 0 /* this */
            getstatic net.sf.cglib.core.Constants.ASM_API:I
            new org.objectweb.asm.ClassWriter
            dup
            iload 1 /* flags */
            invokespecial org.objectweb.asm.ClassWriter.<init>:(I)V
            invokespecial org.objectweb.asm.ClassVisitor.<init>:(ILorg/objectweb/asm/ClassVisitor;)V
         1: .line 50
            return
        end local 1 // int flags
        end local 0 // net.sf.cglib.core.DebuggingClassWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnet/sf/cglib/core/DebuggingClassWriter;
            0    2     1  flags  I
    MethodParameters:
       Name  Flags
      flags  

  public void visit(int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[]);
    descriptor: (IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // net.sf.cglib.core.DebuggingClassWriter this
        start local 1 // int version
        start local 2 // int access
        start local 3 // java.lang.String name
        start local 4 // java.lang.String signature
        start local 5 // java.lang.String superName
        start local 6 // java.lang.String[] interfaces
         0: .line 58
            aload 0 /* this */
            aload 3 /* name */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            putfield net.sf.cglib.core.DebuggingClassWriter.className:Ljava/lang/String;
         1: .line 59
            aload 0 /* this */
            aload 5 /* superName */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            putfield net.sf.cglib.core.DebuggingClassWriter.superName:Ljava/lang/String;
         2: .line 60
            aload 0 /* this */
            iload 1 /* version */
            iload 2 /* access */
            aload 3 /* name */
            aload 4 /* signature */
            aload 5 /* superName */
            aload 6 /* interfaces */
            invokespecial org.objectweb.asm.ClassVisitor.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
         3: .line 61
            return
        end local 6 // java.lang.String[] interfaces
        end local 5 // java.lang.String superName
        end local 4 // java.lang.String signature
        end local 3 // java.lang.String name
        end local 2 // int access
        end local 1 // int version
        end local 0 // net.sf.cglib.core.DebuggingClassWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lnet/sf/cglib/core/DebuggingClassWriter;
            0    4     1     version  I
            0    4     2      access  I
            0    4     3        name  Ljava/lang/String;
            0    4     4   signature  Ljava/lang/String;
            0    4     5   superName  Ljava/lang/String;
            0    4     6  interfaces  [Ljava/lang/String;
    MethodParameters:
            Name  Flags
      version     
      access      
      name        
      signature   
      superName   
      interfaces  

  public java.lang.String getClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.DebuggingClassWriter this
         0: .line 64
            aload 0 /* this */
            getfield net.sf.cglib.core.DebuggingClassWriter.className:Ljava/lang/String;
            areturn
        end local 0 // net.sf.cglib.core.DebuggingClassWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/DebuggingClassWriter;

  public java.lang.String getSuperName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.DebuggingClassWriter this
         0: .line 68
            aload 0 /* this */
            getfield net.sf.cglib.core.DebuggingClassWriter.superName:Ljava/lang/String;
            areturn
        end local 0 // net.sf.cglib.core.DebuggingClassWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/core/DebuggingClassWriter;

  public byte[] toByteArray();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // net.sf.cglib.core.DebuggingClassWriter this
         0: .line 74
            new net.sf.cglib.core.DebuggingClassWriter$1
            dup
            aload 0 /* this */
            invokespecial net.sf.cglib.core.DebuggingClassWriter$1.<init>:(Lnet/sf/cglib/core/DebuggingClassWriter;)V
         1: .line 73
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast byte[]
            areturn
        end local 0 // net.sf.cglib.core.DebuggingClassWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/DebuggingClassWriter;

  static org.objectweb.asm.ClassVisitor access$0(net.sf.cglib.core.DebuggingClassWriter);
    descriptor: (Lnet/sf/cglib/core/DebuggingClassWriter;)Lorg/objectweb/asm/ClassVisitor;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 26
            aload 0
            getfield org.objectweb.asm.ClassVisitor.cv:Lorg/objectweb/asm/ClassVisitor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "DebuggingClassWriter.java"
NestMembers:
  net.sf.cglib.core.DebuggingClassWriter$1
InnerClasses:
  net.sf.cglib.core.DebuggingClassWriter$1