public class org.objectweb.asm.tree.ClassNode extends org.objectweb.asm.ClassVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.objectweb.asm.tree.ClassNode
  super_class: org.objectweb.asm.ClassVisitor
{
  public int version;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int access;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String signature;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String superName;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.util.List<java.lang.String> interfaces;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<Ljava/lang/String;>;

  public java.lang.String sourceFile;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String sourceDebug;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String outerClass;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String outerMethod;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String outerMethodDesc;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.util.List<org.objectweb.asm.tree.AnnotationNode> visibleAnnotations;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<Lorg/objectweb/asm/tree/AnnotationNode;>;

  public java.util.List<org.objectweb.asm.tree.AnnotationNode> invisibleAnnotations;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<Lorg/objectweb/asm/tree/AnnotationNode;>;

  public java.util.List<org.objectweb.asm.Attribute> attrs;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<Lorg/objectweb/asm/Attribute;>;

  public java.util.List<org.objectweb.asm.tree.InnerClassNode> innerClasses;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<Lorg/objectweb/asm/tree/InnerClassNode;>;

  public java.util.List<org.objectweb.asm.tree.FieldNode> fields;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<Lorg/objectweb/asm/tree/FieldNode;>;

  public java.util.List<org.objectweb.asm.tree.MethodNode> methods;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<Lorg/objectweb/asm/tree/MethodNode;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.objectweb.asm.tree.ClassNode this
         0: .line 173
            aload 0 /* this */
            ldc 262144
            invokespecial org.objectweb.asm.tree.ClassNode.<init>:(I)V
         1: .line 174
            return
        end local 0 // org.objectweb.asm.tree.ClassNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/objectweb/asm/tree/ClassNode;

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.objectweb.asm.tree.ClassNode this
        start local 1 // int api
         0: .line 184
            aload 0 /* this */
            iload 1 /* api */
            invokespecial org.objectweb.asm.ClassVisitor.<init>:(I)V
         1: .line 185
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.objectweb.asm.tree.ClassNode.interfaces:Ljava/util/List;
         2: .line 186
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.objectweb.asm.tree.ClassNode.innerClasses:Ljava/util/List;
         3: .line 187
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.objectweb.asm.tree.ClassNode.fields:Ljava/util/List;
         4: .line 188
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.objectweb.asm.tree.ClassNode.methods:Ljava/util/List;
         5: .line 189
            return
        end local 1 // int api
        end local 0 // org.objectweb.asm.tree.ClassNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/objectweb/asm/tree/ClassNode;
            0    6     1   api  I
    MethodParameters:
      Name  Flags
      api   final

  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=2, locals=7, args_size=7
        start local 0 // org.objectweb.asm.tree.ClassNode 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 199
            aload 0 /* this */
            iload 1 /* version */
            putfield org.objectweb.asm.tree.ClassNode.version:I
         1: .line 200
            aload 0 /* this */
            iload 2 /* access */
            putfield org.objectweb.asm.tree.ClassNode.access:I
         2: .line 201
            aload 0 /* this */
            aload 3 /* name */
            putfield org.objectweb.asm.tree.ClassNode.name:Ljava/lang/String;
         3: .line 202
            aload 0 /* this */
            aload 4 /* signature */
            putfield org.objectweb.asm.tree.ClassNode.signature:Ljava/lang/String;
         4: .line 203
            aload 0 /* this */
            aload 5 /* superName */
            putfield org.objectweb.asm.tree.ClassNode.superName:Ljava/lang/String;
         5: .line 204
            aload 6 /* interfaces */
            ifnull 7
         6: .line 205
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.interfaces:Ljava/util/List;
            aload 6 /* interfaces */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 207
      StackMap locals:
      StackMap stack:
            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 // org.objectweb.asm.tree.ClassNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/objectweb/asm/tree/ClassNode;
            0    8     1     version  I
            0    8     2      access  I
            0    8     3        name  Ljava/lang/String;
            0    8     4   signature  Ljava/lang/String;
            0    8     5   superName  Ljava/lang/String;
            0    8     6  interfaces  [Ljava/lang/String;
    MethodParameters:
            Name  Flags
      version     final
      access      final
      name        final
      signature   final
      superName   final
      interfaces  final

  public void visitSource(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.objectweb.asm.tree.ClassNode this
        start local 1 // java.lang.String file
        start local 2 // java.lang.String debug
         0: .line 211
            aload 0 /* this */
            aload 1 /* file */
            putfield org.objectweb.asm.tree.ClassNode.sourceFile:Ljava/lang/String;
         1: .line 212
            aload 0 /* this */
            aload 2 /* debug */
            putfield org.objectweb.asm.tree.ClassNode.sourceDebug:Ljava/lang/String;
         2: .line 213
            return
        end local 2 // java.lang.String debug
        end local 1 // java.lang.String file
        end local 0 // org.objectweb.asm.tree.ClassNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/objectweb/asm/tree/ClassNode;
            0    3     1   file  Ljava/lang/String;
            0    3     2  debug  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      file   final
      debug  final

  public void visitOuterClass(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.objectweb.asm.tree.ClassNode this
        start local 1 // java.lang.String owner
        start local 2 // java.lang.String name
        start local 3 // java.lang.String desc
         0: .line 218
            aload 0 /* this */
            aload 1 /* owner */
            putfield org.objectweb.asm.tree.ClassNode.outerClass:Ljava/lang/String;
         1: .line 219
            aload 0 /* this */
            aload 2 /* name */
            putfield org.objectweb.asm.tree.ClassNode.outerMethod:Ljava/lang/String;
         2: .line 220
            aload 0 /* this */
            aload 3 /* desc */
            putfield org.objectweb.asm.tree.ClassNode.outerMethodDesc:Ljava/lang/String;
         3: .line 221
            return
        end local 3 // java.lang.String desc
        end local 2 // java.lang.String name
        end local 1 // java.lang.String owner
        end local 0 // org.objectweb.asm.tree.ClassNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/objectweb/asm/tree/ClassNode;
            0    4     1  owner  Ljava/lang/String;
            0    4     2   name  Ljava/lang/String;
            0    4     3   desc  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      owner  final
      name   final
      desc   final

  public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.objectweb.asm.tree.ClassNode this
        start local 1 // java.lang.String desc
        start local 2 // boolean visible
         0: .line 226
            new org.objectweb.asm.tree.AnnotationNode
            dup
            aload 1 /* desc */
            invokespecial org.objectweb.asm.tree.AnnotationNode.<init>:(Ljava/lang/String;)V
            astore 3 /* an */
        start local 3 // org.objectweb.asm.tree.AnnotationNode an
         1: .line 227
            iload 2 /* visible */
            ifeq 6
         2: .line 228
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.visibleAnnotations:Ljava/util/List;
            ifnonnull 4
         3: .line 229
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.objectweb.asm.tree.ClassNode.visibleAnnotations:Ljava/util/List;
         4: .line 231
      StackMap locals: org.objectweb.asm.tree.AnnotationNode
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.visibleAnnotations:Ljava/util/List;
            aload 3 /* an */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 232
            goto 9
         6: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.invisibleAnnotations:Ljava/util/List;
            ifnonnull 8
         7: .line 234
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.objectweb.asm.tree.ClassNode.invisibleAnnotations:Ljava/util/List;
         8: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.invisibleAnnotations:Ljava/util/List;
            aload 3 /* an */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 238
      StackMap locals:
      StackMap stack:
            aload 3 /* an */
            areturn
        end local 3 // org.objectweb.asm.tree.AnnotationNode an
        end local 2 // boolean visible
        end local 1 // java.lang.String desc
        end local 0 // org.objectweb.asm.tree.ClassNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/objectweb/asm/tree/ClassNode;
            0   10     1     desc  Ljava/lang/String;
            0   10     2  visible  Z
            1   10     3       an  Lorg/objectweb/asm/tree/AnnotationNode;
    MethodParameters:
         Name  Flags
      desc     final
      visible  final

  public void visitAttribute(org.objectweb.asm.Attribute);
    descriptor: (Lorg/objectweb/asm/Attribute;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.objectweb.asm.tree.ClassNode this
        start local 1 // org.objectweb.asm.Attribute attr
         0: .line 243
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.attrs:Ljava/util/List;
            ifnonnull 2
         1: .line 244
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.objectweb.asm.tree.ClassNode.attrs:Ljava/util/List;
         2: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.attrs:Ljava/util/List;
            aload 1 /* attr */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 247
            return
        end local 1 // org.objectweb.asm.Attribute attr
        end local 0 // org.objectweb.asm.tree.ClassNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/objectweb/asm/tree/ClassNode;
            0    4     1  attr  Lorg/objectweb/asm/Attribute;
    MethodParameters:
      Name  Flags
      attr  final

  public void visitInnerClass(java.lang.String, java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.objectweb.asm.tree.ClassNode this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String outerName
        start local 3 // java.lang.String innerName
        start local 4 // int access
         0: .line 252
            new org.objectweb.asm.tree.InnerClassNode
            dup
            aload 1 /* name */
            aload 2 /* outerName */
            aload 3 /* innerName */
         1: .line 253
            iload 4 /* access */
         2: .line 252
            invokespecial org.objectweb.asm.tree.InnerClassNode.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
            astore 5 /* icn */
        start local 5 // org.objectweb.asm.tree.InnerClassNode icn
         3: .line 254
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.innerClasses:Ljava/util/List;
            aload 5 /* icn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 255
            return
        end local 5 // org.objectweb.asm.tree.InnerClassNode icn
        end local 4 // int access
        end local 3 // java.lang.String innerName
        end local 2 // java.lang.String outerName
        end local 1 // java.lang.String name
        end local 0 // org.objectweb.asm.tree.ClassNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/objectweb/asm/tree/ClassNode;
            0    5     1       name  Ljava/lang/String;
            0    5     2  outerName  Ljava/lang/String;
            0    5     3  innerName  Ljava/lang/String;
            0    5     4     access  I
            3    5     5        icn  Lorg/objectweb/asm/tree/InnerClassNode;
    MethodParameters:
           Name  Flags
      name       final
      outerName  final
      innerName  final
      access     final

  public org.objectweb.asm.FieldVisitor visitField(int, java.lang.String, java.lang.String, java.lang.String, java.lang.Object);
    descriptor: (ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lorg/objectweb/asm/FieldVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // org.objectweb.asm.tree.ClassNode this
        start local 1 // int access
        start local 2 // java.lang.String name
        start local 3 // java.lang.String desc
        start local 4 // java.lang.String signature
        start local 5 // java.lang.Object value
         0: .line 260
            new org.objectweb.asm.tree.FieldNode
            dup
            iload 1 /* access */
            aload 2 /* name */
            aload 3 /* desc */
            aload 4 /* signature */
            aload 5 /* value */
            invokespecial org.objectweb.asm.tree.FieldNode.<init>:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
            astore 6 /* fn */
        start local 6 // org.objectweb.asm.tree.FieldNode fn
         1: .line 261
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.fields:Ljava/util/List;
            aload 6 /* fn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 262
            aload 6 /* fn */
            areturn
        end local 6 // org.objectweb.asm.tree.FieldNode fn
        end local 5 // java.lang.Object value
        end local 4 // java.lang.String signature
        end local 3 // java.lang.String desc
        end local 2 // java.lang.String name
        end local 1 // int access
        end local 0 // org.objectweb.asm.tree.ClassNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/objectweb/asm/tree/ClassNode;
            0    3     1     access  I
            0    3     2       name  Ljava/lang/String;
            0    3     3       desc  Ljava/lang/String;
            0    3     4  signature  Ljava/lang/String;
            0    3     5      value  Ljava/lang/Object;
            1    3     6         fn  Lorg/objectweb/asm/tree/FieldNode;
    MethodParameters:
           Name  Flags
      access     final
      name       final
      desc       final
      signature  final
      value      final

  public org.objectweb.asm.MethodVisitor visitMethod(int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[]);
    descriptor: (ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // org.objectweb.asm.tree.ClassNode this
        start local 1 // int access
        start local 2 // java.lang.String name
        start local 3 // java.lang.String desc
        start local 4 // java.lang.String signature
        start local 5 // java.lang.String[] exceptions
         0: .line 268
            new org.objectweb.asm.tree.MethodNode
            dup
            iload 1 /* access */
            aload 2 /* name */
            aload 3 /* desc */
            aload 4 /* signature */
         1: .line 269
            aload 5 /* exceptions */
         2: .line 268
            invokespecial org.objectweb.asm.tree.MethodNode.<init>:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
            astore 6 /* mn */
        start local 6 // org.objectweb.asm.tree.MethodNode mn
         3: .line 270
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.methods:Ljava/util/List;
            aload 6 /* mn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 271
            aload 6 /* mn */
            areturn
        end local 6 // org.objectweb.asm.tree.MethodNode mn
        end local 5 // java.lang.String[] exceptions
        end local 4 // java.lang.String signature
        end local 3 // java.lang.String desc
        end local 2 // java.lang.String name
        end local 1 // int access
        end local 0 // org.objectweb.asm.tree.ClassNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/objectweb/asm/tree/ClassNode;
            0    5     1      access  I
            0    5     2        name  Ljava/lang/String;
            0    5     3        desc  Ljava/lang/String;
            0    5     4   signature  Ljava/lang/String;
            0    5     5  exceptions  [Ljava/lang/String;
            3    5     6          mn  Lorg/objectweb/asm/tree/MethodNode;
    MethodParameters:
            Name  Flags
      access      final
      name        final
      desc        final
      signature   final
      exceptions  final

  public void visitEnd();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.objectweb.asm.tree.ClassNode this
         0: .line 276
            return
        end local 0 // org.objectweb.asm.tree.ClassNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/objectweb/asm/tree/ClassNode;

  public void check(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.objectweb.asm.tree.ClassNode this
        start local 1 // int api
         0: .line 293
            return
        end local 1 // int api
        end local 0 // org.objectweb.asm.tree.ClassNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/objectweb/asm/tree/ClassNode;
            0    1     1   api  I
    MethodParameters:
      Name  Flags
      api   final

  public void accept(org.objectweb.asm.ClassVisitor);
    descriptor: (Lorg/objectweb/asm/ClassVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.objectweb.asm.tree.ClassNode this
        start local 1 // org.objectweb.asm.ClassVisitor cv
         0: .line 303
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.interfaces:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            astore 2 /* interfaces */
        start local 2 // java.lang.String[] interfaces
         1: .line 304
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.interfaces:Ljava/util/List;
            aload 2 /* interfaces */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
         2: .line 305
            aload 1 /* cv */
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.version:I
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.access:I
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.name:Ljava/lang/String;
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.signature:Ljava/lang/String;
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.superName:Ljava/lang/String;
            aload 2 /* interfaces */
            invokevirtual org.objectweb.asm.ClassVisitor.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
         3: .line 307
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.sourceFile:Ljava/lang/String;
            ifnonnull 4
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.sourceDebug:Ljava/lang/String;
            ifnull 5
         4: .line 308
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 1 /* cv */
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.sourceFile:Ljava/lang/String;
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.sourceDebug:Ljava/lang/String;
            invokevirtual org.objectweb.asm.ClassVisitor.visitSource:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.outerClass:Ljava/lang/String;
            ifnull 7
         6: .line 312
            aload 1 /* cv */
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.outerClass:Ljava/lang/String;
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.outerMethod:Ljava/lang/String;
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.outerMethodDesc:Ljava/lang/String;
            invokevirtual org.objectweb.asm.ClassVisitor.visitOuterClass:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         7: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.visibleAnnotations:Ljava/util/List;
            ifnonnull 8
            iconst_0
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.visibleAnnotations:Ljava/util/List;
            invokeinterface java.util.List.size:()I
      StackMap locals:
      StackMap stack: int
         9: istore 4 /* n */
        start local 4 // int n
        10: .line 317
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        11: goto 15
        12: .line 318
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.visibleAnnotations:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.objectweb.asm.tree.AnnotationNode
            astore 5 /* an */
        start local 5 // org.objectweb.asm.tree.AnnotationNode an
        13: .line 319
            aload 5 /* an */
            aload 1 /* cv */
            aload 5 /* an */
            getfield org.objectweb.asm.tree.AnnotationNode.desc:Ljava/lang/String;
            iconst_1
            invokevirtual org.objectweb.asm.ClassVisitor.visitAnnotation:(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
            invokevirtual org.objectweb.asm.tree.AnnotationNode.accept:(Lorg/objectweb/asm/AnnotationVisitor;)V
        end local 5 // org.objectweb.asm.tree.AnnotationNode an
        14: .line 317
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            iload 4 /* n */
            if_icmplt 12
        16: .line 321
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.invisibleAnnotations:Ljava/util/List;
            ifnonnull 17
            iconst_0
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.invisibleAnnotations:Ljava/util/List;
            invokeinterface java.util.List.size:()I
      StackMap locals:
      StackMap stack: int
        18: istore 4 /* n */
        19: .line 322
            iconst_0
            istore 3 /* i */
            goto 23
        20: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.invisibleAnnotations:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.objectweb.asm.tree.AnnotationNode
            astore 5 /* an */
        start local 5 // org.objectweb.asm.tree.AnnotationNode an
        21: .line 324
            aload 5 /* an */
            aload 1 /* cv */
            aload 5 /* an */
            getfield org.objectweb.asm.tree.AnnotationNode.desc:Ljava/lang/String;
            iconst_0
            invokevirtual org.objectweb.asm.ClassVisitor.visitAnnotation:(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
            invokevirtual org.objectweb.asm.tree.AnnotationNode.accept:(Lorg/objectweb/asm/AnnotationVisitor;)V
        end local 5 // org.objectweb.asm.tree.AnnotationNode an
        22: .line 322
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 3 /* i */
            iload 4 /* n */
            if_icmplt 20
        24: .line 326
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.attrs:Ljava/util/List;
            ifnonnull 25
            iconst_0
            goto 26
      StackMap locals:
      StackMap stack:
        25: aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.attrs:Ljava/util/List;
            invokeinterface java.util.List.size:()I
      StackMap locals:
      StackMap stack: int
        26: istore 4 /* n */
        27: .line 327
            iconst_0
            istore 3 /* i */
            goto 30
        28: .line 328
      StackMap locals:
      StackMap stack:
            aload 1 /* cv */
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.attrs:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.objectweb.asm.Attribute
            invokevirtual org.objectweb.asm.ClassVisitor.visitAttribute:(Lorg/objectweb/asm/Attribute;)V
        29: .line 327
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 3 /* i */
            iload 4 /* n */
            if_icmplt 28
        31: .line 331
            iconst_0
            istore 3 /* i */
            goto 34
        32: .line 332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.innerClasses:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.objectweb.asm.tree.InnerClassNode
            aload 1 /* cv */
            invokevirtual org.objectweb.asm.tree.InnerClassNode.accept:(Lorg/objectweb/asm/ClassVisitor;)V
        33: .line 331
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 3 /* i */
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.innerClasses:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 32
        35: .line 335
            iconst_0
            istore 3 /* i */
            goto 38
        36: .line 336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.fields:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.objectweb.asm.tree.FieldNode
            aload 1 /* cv */
            invokevirtual org.objectweb.asm.tree.FieldNode.accept:(Lorg/objectweb/asm/ClassVisitor;)V
        37: .line 335
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 3 /* i */
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.fields:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 36
        39: .line 339
            iconst_0
            istore 3 /* i */
            goto 42
        40: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.methods:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.objectweb.asm.tree.MethodNode
            aload 1 /* cv */
            invokevirtual org.objectweb.asm.tree.MethodNode.accept:(Lorg/objectweb/asm/ClassVisitor;)V
        41: .line 339
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 3 /* i */
            aload 0 /* this */
            getfield org.objectweb.asm.tree.ClassNode.methods:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 40
        43: .line 343
            aload 1 /* cv */
            invokevirtual org.objectweb.asm.ClassVisitor.visitEnd:()V
        44: .line 344
            return
        end local 4 // int n
        end local 3 // int i
        end local 2 // java.lang.String[] interfaces
        end local 1 // org.objectweb.asm.ClassVisitor cv
        end local 0 // org.objectweb.asm.tree.ClassNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   45     0        this  Lorg/objectweb/asm/tree/ClassNode;
            0   45     1          cv  Lorg/objectweb/asm/ClassVisitor;
            1   45     2  interfaces  [Ljava/lang/String;
           11   45     3           i  I
           10   45     4           n  I
           13   14     5          an  Lorg/objectweb/asm/tree/AnnotationNode;
           21   22     5          an  Lorg/objectweb/asm/tree/AnnotationNode;
    MethodParameters:
      Name  Flags
      cv    final
}
SourceFile: "ClassNode.java"