public class org.objectweb.asm.optimizer.ClassOptimizer extends org.objectweb.asm.commons.ClassRemapper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.objectweb.asm.optimizer.ClassOptimizer
  super_class: org.objectweb.asm.commons.ClassRemapper
{
  private java.lang.String pkgName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  java.lang.String clsName;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  boolean isInterface;
    descriptor: Z
    flags: (0x0000) 

  boolean hasClinitMethod;
    descriptor: Z
    flags: (0x0000) 

  java.util.List<java.lang.String> syntheticClassFields;
    descriptor: Ljava/util/List;
    flags: (0x0000) 
    Signature: Ljava/util/List<Ljava/lang/String;>;

  public void <init>(org.objectweb.asm.ClassVisitor, org.objectweb.asm.commons.Remapper);
    descriptor: (Lorg/objectweb/asm/ClassVisitor;Lorg/objectweb/asm/commons/Remapper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
        start local 1 // org.objectweb.asm.ClassVisitor cv
        start local 2 // org.objectweb.asm.commons.Remapper remapper
         0: .line 63
            aload 0 /* this */
            ldc 327680
            aload 1 /* cv */
            aload 2 /* remapper */
            invokespecial org.objectweb.asm.commons.ClassRemapper.<init>:(ILorg/objectweb/asm/ClassVisitor;Lorg/objectweb/asm/commons/Remapper;)V
         1: .line 58
            aload 0 /* this */
            iconst_0
            putfield org.objectweb.asm.optimizer.ClassOptimizer.isInterface:Z
         2: .line 59
            aload 0 /* this */
            iconst_0
            putfield org.objectweb.asm.optimizer.ClassOptimizer.hasClinitMethod:Z
         3: .line 60
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.objectweb.asm.optimizer.ClassOptimizer.syntheticClassFields:Ljava/util/List;
         4: .line 64
            return
        end local 2 // org.objectweb.asm.commons.Remapper remapper
        end local 1 // org.objectweb.asm.ClassVisitor cv
        end local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/objectweb/asm/optimizer/ClassOptimizer;
            0    5     1        cv  Lorg/objectweb/asm/ClassVisitor;
            0    5     2  remapper  Lorg/objectweb/asm/commons/Remapper;
    MethodParameters:
          Name  Flags
      cv        final
      remapper  final

  org.objectweb.asm.FieldVisitor syntheticFieldVisitor(int, java.lang.String, java.lang.String);
    descriptor: (ILjava/lang/String;Ljava/lang/String;)Lorg/objectweb/asm/FieldVisitor;
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
        start local 1 // int access
        start local 2 // java.lang.String name
        start local 3 // java.lang.String desc
         0: .line 68
            aload 0 /* this */
            iload 1 /* access */
            aload 2 /* name */
            aload 3 /* desc */
            aconst_null
            aconst_null
            invokespecial org.objectweb.asm.commons.ClassRemapper.visitField:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lorg/objectweb/asm/FieldVisitor;
            areturn
        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.optimizer.ClassOptimizer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/objectweb/asm/optimizer/ClassOptimizer;
            0    1     1  access  I
            0    1     2    name  Ljava/lang/String;
            0    1     3    desc  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      access  final
      name    final
      desc    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=7, locals=8, args_size=7
        start local 0 // org.objectweb.asm.optimizer.ClassOptimizer 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 79
            aload 0 /* this */
            bipush 46
            iload 2 /* access */
            aload 3 /* name */
            aconst_null
            aload 5 /* superName */
            aload 6 /* interfaces */
            invokespecial org.objectweb.asm.commons.ClassRemapper.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
         1: .line 80
            aload 3 /* name */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 7 /* index */
        start local 7 // int index
         2: .line 81
            iload 7 /* index */
            ifle 5
         3: .line 82
            aload 0 /* this */
            aload 3 /* name */
            iconst_0
            iload 7 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield org.objectweb.asm.optimizer.ClassOptimizer.pkgName:Ljava/lang/String;
         4: .line 83
            goto 6
         5: .line 84
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            ldc ""
            putfield org.objectweb.asm.optimizer.ClassOptimizer.pkgName:Ljava/lang/String;
         6: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* name */
            putfield org.objectweb.asm.optimizer.ClassOptimizer.clsName:Ljava/lang/String;
         7: .line 87
            aload 0 /* this */
            iload 2 /* access */
            sipush 512
            iand
            ifeq 8
            iconst_1
            goto 9
      StackMap locals:
      StackMap stack: org.objectweb.asm.optimizer.ClassOptimizer
         8: iconst_0
      StackMap locals: org.objectweb.asm.optimizer.ClassOptimizer int int java.lang.String java.lang.String java.lang.String java.lang.String[] int
      StackMap stack: org.objectweb.asm.optimizer.ClassOptimizer int
         9: putfield org.objectweb.asm.optimizer.ClassOptimizer.isInterface:Z
        10: .line 88
            return
        end local 7 // int index
        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.optimizer.ClassOptimizer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/objectweb/asm/optimizer/ClassOptimizer;
            0   11     1     version  I
            0   11     2      access  I
            0   11     3        name  Ljava/lang/String;
            0   11     4   signature  Ljava/lang/String;
            0   11     5   superName  Ljava/lang/String;
            0   11     6  interfaces  [Ljava/lang/String;
            2   11     7       index  I
    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=0, locals=3, args_size=3
        start local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
        start local 1 // java.lang.String source
        start local 2 // java.lang.String debug
         0: .line 93
            return
        end local 2 // java.lang.String debug
        end local 1 // java.lang.String source
        end local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/objectweb/asm/optimizer/ClassOptimizer;
            0    1     1  source  Ljava/lang/String;
            0    1     2   debug  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      source  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=0, locals=4, args_size=4
        start local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
        start local 1 // java.lang.String owner
        start local 2 // java.lang.String name
        start local 3 // java.lang.String desc
         0: .line 99
            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.optimizer.ClassOptimizer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/objectweb/asm/optimizer/ClassOptimizer;
            0    1     1  owner  Ljava/lang/String;
            0    1     2   name  Ljava/lang/String;
            0    1     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=1, locals=3, args_size=3
        start local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
        start local 1 // java.lang.String desc
        start local 2 // boolean visible
         0: .line 105
            aconst_null
            areturn
        end local 2 // boolean visible
        end local 1 // java.lang.String desc
        end local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/objectweb/asm/optimizer/ClassOptimizer;
            0    1     1     desc  Ljava/lang/String;
            0    1     2  visible  Z
    MethodParameters:
         Name  Flags
      desc     final
      visible  final

  public org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int, org.objectweb.asm.TypePath, java.lang.String, boolean);
    descriptor: (ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
        start local 1 // int typeRef
        start local 2 // org.objectweb.asm.TypePath typePath
        start local 3 // java.lang.String desc
        start local 4 // boolean visible
         0: .line 112
            aconst_null
            areturn
        end local 4 // boolean visible
        end local 3 // java.lang.String desc
        end local 2 // org.objectweb.asm.TypePath typePath
        end local 1 // int typeRef
        end local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/objectweb/asm/optimizer/ClassOptimizer;
            0    1     1   typeRef  I
            0    1     2  typePath  Lorg/objectweb/asm/TypePath;
            0    1     3      desc  Ljava/lang/String;
            0    1     4   visible  Z
    MethodParameters:
          Name  Flags
      typeRef   
      typePath  
      desc      
      visible   

  public void visitAttribute(org.objectweb.asm.Attribute);
    descriptor: (Lorg/objectweb/asm/Attribute;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
        start local 1 // org.objectweb.asm.Attribute attr
         0: .line 118
            return
        end local 1 // org.objectweb.asm.Attribute attr
        end local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/objectweb/asm/optimizer/ClassOptimizer;
            0    1     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=0, locals=5, args_size=5
        start local 0 // org.objectweb.asm.optimizer.ClassOptimizer 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 124
            return
        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.optimizer.ClassOptimizer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/objectweb/asm/optimizer/ClassOptimizer;
            0    1     1       name  Ljava/lang/String;
            0    1     2  outerName  Ljava/lang/String;
            0    1     3  innerName  Ljava/lang/String;
            0    1     4     access  I
    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=6, locals=7, args_size=6
        start local 0 // org.objectweb.asm.optimizer.ClassOptimizer 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 129
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.remapper:Lorg/objectweb/asm/commons/Remapper;
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.className:Ljava/lang/String;
            aload 2 /* name */
            aload 3 /* desc */
            invokevirtual org.objectweb.asm.commons.Remapper.mapFieldName:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* s */
        start local 6 // java.lang.String s
         1: .line 130
            ldc "-"
            aload 6 /* s */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 131
            aconst_null
            areturn
         3: .line 133
      StackMap locals: java.lang.String
      StackMap stack:
            iload 1 /* access */
            iconst_5
            iand
            ifne 13
         4: .line 134
            iload 1 /* access */
            bipush 16
            iand
            ifeq 7
         5: .line 135
            iload 1 /* access */
            bipush 8
            iand
            ifeq 7
            aload 3 /* desc */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 7
         6: .line 136
            aconst_null
            areturn
         7: .line 138
      StackMap locals:
      StackMap stack:
            ldc "org/objectweb/asm"
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.pkgName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
            aload 6 /* s */
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         8: .line 139
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "INFO: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.clsName: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;
            aload 6 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 140
            ldc " could be renamed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 139
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* access */
            aload 2 /* name */
            aload 3 /* desc */
            aconst_null
            aload 5 /* value */
            invokespecial org.objectweb.asm.commons.ClassRemapper.visitField:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lorg/objectweb/asm/FieldVisitor;
            pop
        12: .line 143
            goto 18
        13: .line 144
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        14: .line 145
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The public or protected field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 146
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.className:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " must not be renamed."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 145
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* access */
            aload 2 /* name */
            aload 3 /* desc */
            aconst_null
            aload 5 /* value */
            invokespecial org.objectweb.asm.commons.ClassRemapper.visitField:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lorg/objectweb/asm/FieldVisitor;
            pop
        18: .line 150
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // java.lang.String s
        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.optimizer.ClassOptimizer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0       this  Lorg/objectweb/asm/optimizer/ClassOptimizer;
            0   19     1     access  I
            0   19     2       name  Ljava/lang/String;
            0   19     3       desc  Ljava/lang/String;
            0   19     4  signature  Ljava/lang/String;
            0   19     5      value  Ljava/lang/Object;
            1   19     6          s  Ljava/lang/String;
    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=6, locals=8, args_size=6
        start local 0 // org.objectweb.asm.optimizer.ClassOptimizer 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 156
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.remapper:Lorg/objectweb/asm/commons/Remapper;
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.className:Ljava/lang/String;
            aload 2 /* name */
            aload 3 /* desc */
            invokevirtual org.objectweb.asm.commons.Remapper.mapMethodName:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* s */
        start local 6 // java.lang.String s
         1: .line 157
            ldc "-"
            aload 6 /* s */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 158
            aconst_null
            areturn
         3: .line 160
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* name */
            ldc "<clinit>"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.isInterface:Z
            ifne 9
         4: .line 161
            aload 0 /* this */
            iconst_1
            putfield org.objectweb.asm.optimizer.ClassOptimizer.hasClinitMethod:Z
         5: .line 162
            aload 0 /* this */
            iload 1 /* access */
            aload 2 /* name */
            aload 3 /* desc */
            aconst_null
         6: .line 163
            aload 5 /* exceptions */
         7: .line 162
            invokespecial org.objectweb.asm.commons.ClassRemapper.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
            astore 7 /* mv */
        start local 7 // org.objectweb.asm.MethodVisitor mv
         8: .line 164
            new org.objectweb.asm.optimizer.ClassOptimizer$1
            dup
            aload 0 /* this */
            ldc 327680
            aload 7 /* mv */
            invokespecial org.objectweb.asm.optimizer.ClassOptimizer$1.<init>:(Lorg/objectweb/asm/optimizer/ClassOptimizer;ILorg/objectweb/asm/MethodVisitor;)V
            areturn
        end local 7 // org.objectweb.asm.MethodVisitor mv
         9: .line 174
      StackMap locals:
      StackMap stack:
            iload 1 /* access */
            iconst_5
            iand
            ifne 16
        10: .line 175
            ldc "org/objectweb/asm"
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.pkgName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
            aload 2 /* name */
            ldc "<"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 15
        11: .line 176
            aload 6 /* s */
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        12: .line 177
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "INFO: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.clsName: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;
            aload 6 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 178
            ldc " could be renamed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 177
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* access */
            aload 2 /* name */
            aload 3 /* desc */
            aconst_null
            aload 5 /* exceptions */
            invokespecial org.objectweb.asm.commons.ClassRemapper.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
            areturn
        16: .line 182
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
        17: .line 183
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The public or protected method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 184
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.className:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 185
            ldc " must not be renamed."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 183
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* access */
            aload 2 /* name */
            aload 3 /* desc */
            aconst_null
            aload 5 /* exceptions */
            invokespecial org.objectweb.asm.commons.ClassRemapper.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
            areturn
        end local 6 // java.lang.String s
        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.optimizer.ClassOptimizer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Lorg/objectweb/asm/optimizer/ClassOptimizer;
            0   22     1      access  I
            0   22     2        name  Ljava/lang/String;
            0   22     3        desc  Ljava/lang/String;
            0   22     4   signature  Ljava/lang/String;
            0   22     5  exceptions  [Ljava/lang/String;
            1   22     6           s  Ljava/lang/String;
            8    9     7          mv  Lorg/objectweb/asm/MethodVisitor;
    MethodParameters:
            Name  Flags
      access      final
      name        final
      desc        final
      signature   final
      exceptions  final

  protected org.objectweb.asm.MethodVisitor createMethodRemapper(org.objectweb.asm.MethodVisitor);
    descriptor: (Lorg/objectweb/asm/MethodVisitor;)Lorg/objectweb/asm/MethodVisitor;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
        start local 1 // org.objectweb.asm.MethodVisitor mv
         0: .line 193
            new org.objectweb.asm.optimizer.MethodOptimizer
            dup
            aload 0 /* this */
            aload 1 /* mv */
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.remapper:Lorg/objectweb/asm/commons/Remapper;
            invokespecial org.objectweb.asm.optimizer.MethodOptimizer.<init>:(Lorg/objectweb/asm/optimizer/ClassOptimizer;Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/commons/Remapper;)V
            areturn
        end local 1 // org.objectweb.asm.MethodVisitor mv
        end local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/objectweb/asm/optimizer/ClassOptimizer;
            0    1     1    mv  Lorg/objectweb/asm/MethodVisitor;
    MethodParameters:
      Name  Flags
      mv    

  public void visitEnd();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=1
        start local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
         0: .line 198
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.syntheticClassFields:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 10
         1: .line 199
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.hasClinitMethod:Z
            ifeq 66
         2: .line 200
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.cv:Lorg/objectweb/asm/ClassVisitor;
            sipush 4104
         3: .line 201
            ldc "_clinit_"
            ldc "()V"
            aconst_null
            aconst_null
         4: .line 200
            invokevirtual org.objectweb.asm.ClassVisitor.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
            astore 1 /* mv */
        start local 1 // org.objectweb.asm.MethodVisitor mv
         5: .line 202
            aload 1 /* mv */
            invokevirtual org.objectweb.asm.MethodVisitor.visitCode:()V
         6: .line 203
            aload 1 /* mv */
            sipush 177
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         7: .line 204
            aload 1 /* mv */
            iconst_0
            iconst_0
            invokevirtual org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
         8: .line 205
            aload 1 /* mv */
            invokevirtual org.objectweb.asm.MethodVisitor.visitEnd:()V
        end local 1 // org.objectweb.asm.MethodVisitor mv
         9: .line 207
            goto 66
        10: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.cv:Lorg/objectweb/asm/ClassVisitor;
            sipush 4104
        11: .line 209
            ldc "class$"
        12: .line 210
            ldc "(Ljava/lang/String;)Ljava/lang/Class;"
            aconst_null
            aconst_null
        13: .line 208
            invokevirtual org.objectweb.asm.ClassVisitor.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
            astore 1 /* mv */
        start local 1 // org.objectweb.asm.MethodVisitor mv
        14: .line 211
            aload 1 /* mv */
            invokevirtual org.objectweb.asm.MethodVisitor.visitCode:()V
        15: .line 212
            new org.objectweb.asm.Label
            dup
            invokespecial org.objectweb.asm.Label.<init>:()V
            astore 2 /* l0 */
        start local 2 // org.objectweb.asm.Label l0
        16: .line 213
            new org.objectweb.asm.Label
            dup
            invokespecial org.objectweb.asm.Label.<init>:()V
            astore 3 /* l1 */
        start local 3 // org.objectweb.asm.Label l1
        17: .line 214
            new org.objectweb.asm.Label
            dup
            invokespecial org.objectweb.asm.Label.<init>:()V
            astore 4 /* l2 */
        start local 4 // org.objectweb.asm.Label l2
        18: .line 215
            aload 1 /* mv */
            aload 2 /* l0 */
            aload 3 /* l1 */
            aload 4 /* l2 */
        19: .line 216
            ldc "java/lang/ClassNotFoundException"
        20: .line 215
            invokevirtual org.objectweb.asm.MethodVisitor.visitTryCatchBlock:(Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Ljava/lang/String;)V
        21: .line 217
            aload 1 /* mv */
            aload 2 /* l0 */
            invokevirtual org.objectweb.asm.MethodVisitor.visitLabel:(Lorg/objectweb/asm/Label;)V
        22: .line 218
            aload 1 /* mv */
            bipush 25
            iconst_0
            invokevirtual org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
        23: .line 219
            aload 1 /* mv */
            sipush 184
            ldc "java/lang/Class"
        24: .line 220
            ldc "forName"
            ldc "(Ljava/lang/String;)Ljava/lang/Class;"
            iconst_0
        25: .line 219
            invokevirtual org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        26: .line 221
            aload 1 /* mv */
            aload 3 /* l1 */
            invokevirtual org.objectweb.asm.MethodVisitor.visitLabel:(Lorg/objectweb/asm/Label;)V
        27: .line 222
            aload 1 /* mv */
            sipush 176
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        28: .line 223
            aload 1 /* mv */
            aload 4 /* l2 */
            invokevirtual org.objectweb.asm.MethodVisitor.visitLabel:(Lorg/objectweb/asm/Label;)V
        29: .line 224
            aload 1 /* mv */
            sipush 182
        30: .line 225
            ldc "java/lang/ClassNotFoundException"
            ldc "getMessage"
        31: .line 226
            ldc "()Ljava/lang/String;"
            iconst_0
        32: .line 224
            invokevirtual org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        33: .line 227
            aload 1 /* mv */
            bipush 58
            iconst_1
            invokevirtual org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
        34: .line 228
            aload 1 /* mv */
            sipush 187
            ldc "java/lang/NoClassDefFoundError"
            invokevirtual org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
        35: .line 229
            aload 1 /* mv */
            bipush 89
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        36: .line 230
            aload 1 /* mv */
            bipush 25
            iconst_1
            invokevirtual org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
        37: .line 231
            aload 1 /* mv */
            sipush 183
        38: .line 232
            ldc "java/lang/NoClassDefFoundError"
            ldc "<init>"
        39: .line 233
            ldc "(Ljava/lang/String;)V"
            iconst_0
        40: .line 231
            invokevirtual org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        41: .line 234
            aload 1 /* mv */
            sipush 191
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        42: .line 235
            aload 1 /* mv */
            iconst_3
            iconst_2
            invokevirtual org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
        43: .line 236
            aload 1 /* mv */
            invokevirtual org.objectweb.asm.MethodVisitor.visitEnd:()V
        44: .line 238
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.hasClinitMethod:Z
            ifeq 49
        45: .line 239
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.cv:Lorg/objectweb/asm/ClassVisitor;
            bipush 10
        46: .line 240
            ldc "_clinit_"
            ldc "()V"
            aconst_null
            aconst_null
        47: .line 239
            invokevirtual org.objectweb.asm.ClassVisitor.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
            astore 1 /* mv */
        48: .line 241
            goto 52
        49: .line 242
      StackMap locals: org.objectweb.asm.optimizer.ClassOptimizer org.objectweb.asm.MethodVisitor org.objectweb.asm.Label org.objectweb.asm.Label org.objectweb.asm.Label
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.cv:Lorg/objectweb/asm/ClassVisitor;
            bipush 8
            ldc "<clinit>"
            ldc "()V"
        50: .line 243
            aconst_null
            aconst_null
        51: .line 242
            invokevirtual org.objectweb.asm.ClassVisitor.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
            astore 1 /* mv */
        52: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.syntheticClassFields:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 62
      StackMap locals: org.objectweb.asm.optimizer.ClassOptimizer org.objectweb.asm.MethodVisitor org.objectweb.asm.Label org.objectweb.asm.Label org.objectweb.asm.Label top java.util.Iterator
      StackMap stack:
        53: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* ldcName */
        start local 5 // java.lang.String ldcName
        54: .line 246
            new java.lang.StringBuilder
            dup
            ldc "class$"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* ldcName */
            bipush 47
            bipush 36
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* fieldName */
        start local 7 // java.lang.String fieldName
        55: .line 247
            aload 1 /* mv */
            aload 5 /* ldcName */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
        56: .line 248
            aload 1 /* mv */
            sipush 184
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.clsName:Ljava/lang/String;
            ldc "class$"
        57: .line 249
            ldc "(Ljava/lang/String;)Ljava/lang/Class;"
            iconst_0
        58: .line 248
            invokevirtual org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        59: .line 250
            aload 1 /* mv */
            sipush 179
            aload 0 /* this */
            getfield org.objectweb.asm.optimizer.ClassOptimizer.clsName:Ljava/lang/String;
            aload 7 /* fieldName */
        60: .line 251
            ldc "Ljava/lang/Class;"
        61: .line 250
            invokevirtual org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 7 // java.lang.String fieldName
        end local 5 // java.lang.String ldcName
        62: .line 245
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 53
        63: .line 253
            aload 1 /* mv */
            sipush 177
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        64: .line 254
            aload 1 /* mv */
            iconst_1
            iconst_0
            invokevirtual org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
        65: .line 255
            aload 1 /* mv */
            invokevirtual org.objectweb.asm.MethodVisitor.visitEnd:()V
        end local 4 // org.objectweb.asm.Label l2
        end local 3 // org.objectweb.asm.Label l1
        end local 2 // org.objectweb.asm.Label l0
        end local 1 // org.objectweb.asm.MethodVisitor mv
        66: .line 257
      StackMap locals: org.objectweb.asm.optimizer.ClassOptimizer
      StackMap stack:
            aload 0 /* this */
            invokespecial org.objectweb.asm.commons.ClassRemapper.visitEnd:()V
        67: .line 258
            return
        end local 0 // org.objectweb.asm.optimizer.ClassOptimizer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   68     0       this  Lorg/objectweb/asm/optimizer/ClassOptimizer;
            5    9     1         mv  Lorg/objectweb/asm/MethodVisitor;
           14   66     1         mv  Lorg/objectweb/asm/MethodVisitor;
           16   66     2         l0  Lorg/objectweb/asm/Label;
           17   66     3         l1  Lorg/objectweb/asm/Label;
           18   66     4         l2  Lorg/objectweb/asm/Label;
           54   62     5    ldcName  Ljava/lang/String;
           55   62     7  fieldName  Ljava/lang/String;
}
SourceFile: "ClassOptimizer.java"
NestMembers:
  org.objectweb.asm.optimizer.ClassOptimizer$1
InnerClasses:
  org.objectweb.asm.optimizer.ClassOptimizer$1