public class org.objectweb.asm.commons.LocalVariablesSorter extends org.objectweb.asm.MethodVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.objectweb.asm.commons.LocalVariablesSorter
  super_class: org.objectweb.asm.MethodVisitor
{
  private static final org.objectweb.asm.Type OBJECT_TYPE;
    descriptor: Lorg/objectweb/asm/Type;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private int[] remappedVariableIndices;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object[] remappedLocalTypes;
    descriptor: [Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  protected final int firstLocal;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected int nextLocal;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 51
            ldc "java/lang/Object"
            invokestatic org.objectweb.asm.Type.getObjectType:(Ljava/lang/String;)Lorg/objectweb/asm/Type;
            putstatic org.objectweb.asm.commons.LocalVariablesSorter.OBJECT_TYPE:Lorg/objectweb/asm/Type;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(int, java.lang.String, org.objectweb.asm.MethodVisitor);
    descriptor: (ILjava/lang/String;Lorg/objectweb/asm/MethodVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
        start local 1 // int access
        start local 2 // java.lang.String descriptor
        start local 3 // org.objectweb.asm.MethodVisitor methodVisitor
         0: .line 84
            aload 0 /* this */
            ldc 589824
            iload 1 /* access */
            aload 2 /* descriptor */
            aload 3 /* methodVisitor */
            invokespecial org.objectweb.asm.commons.LocalVariablesSorter.<init>:(IILjava/lang/String;Lorg/objectweb/asm/MethodVisitor;)V
         1: .line 85
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lorg/objectweb/asm/commons/LocalVariablesSorter;
            if_acmpeq 3
         2: .line 86
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
         3: .line 88
      StackMap locals: org.objectweb.asm.commons.LocalVariablesSorter int java.lang.String org.objectweb.asm.MethodVisitor
      StackMap stack:
            return
        end local 3 // org.objectweb.asm.MethodVisitor methodVisitor
        end local 2 // java.lang.String descriptor
        end local 1 // int access
        end local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/objectweb/asm/commons/LocalVariablesSorter;
            0    4     1         access  I
            0    4     2     descriptor  Ljava/lang/String;
            0    4     3  methodVisitor  Lorg/objectweb/asm/MethodVisitor;
    MethodParameters:
               Name  Flags
      access         final
      descriptor     final
      methodVisitor  final

  protected void <init>(int, int, java.lang.String, org.objectweb.asm.MethodVisitor);
    descriptor: (IILjava/lang/String;Lorg/objectweb/asm/MethodVisitor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=9, args_size=5
        start local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
        start local 1 // int api
        start local 2 // int access
        start local 3 // java.lang.String descriptor
        start local 4 // org.objectweb.asm.MethodVisitor methodVisitor
         0: .line 102
            aload 0 /* this */
            iload 1 /* api */
            aload 4 /* methodVisitor */
            invokespecial org.objectweb.asm.MethodVisitor.<init>:(ILorg/objectweb/asm/MethodVisitor;)V
         1: .line 58
            aload 0 /* this */
            bipush 40
            newarray 10
            putfield org.objectweb.asm.commons.LocalVariablesSorter.remappedVariableIndices:[I
         2: .line 64
            aload 0 /* this */
            bipush 20
            anewarray java.lang.Object
            putfield org.objectweb.asm.commons.LocalVariablesSorter.remappedLocalTypes:[Ljava/lang/Object;
         3: .line 103
            aload 0 /* this */
            bipush 8
            iload 2 /* access */
            iand
            ifne 4
            iconst_1
            goto 5
      StackMap locals: org.objectweb.asm.commons.LocalVariablesSorter int int java.lang.String org.objectweb.asm.MethodVisitor
      StackMap stack: org.objectweb.asm.commons.LocalVariablesSorter
         4: iconst_0
      StackMap locals: org.objectweb.asm.commons.LocalVariablesSorter int int java.lang.String org.objectweb.asm.MethodVisitor
      StackMap stack: org.objectweb.asm.commons.LocalVariablesSorter int
         5: putfield org.objectweb.asm.commons.LocalVariablesSorter.nextLocal:I
         6: .line 104
            aload 3 /* descriptor */
            invokestatic org.objectweb.asm.Type.getArgumentTypes:(Ljava/lang/String;)[Lorg/objectweb/asm/Type;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 10
      StackMap locals: org.objectweb.asm.commons.LocalVariablesSorter int int java.lang.String org.objectweb.asm.MethodVisitor top int int org.objectweb.asm.Type[]
      StackMap stack:
         7: aload 8
            iload 6
            aaload
            astore 5 /* argumentType */
        start local 5 // org.objectweb.asm.Type argumentType
         8: .line 105
            aload 0 /* this */
            dup
            getfield org.objectweb.asm.commons.LocalVariablesSorter.nextLocal:I
            aload 5 /* argumentType */
            invokevirtual org.objectweb.asm.Type.getSize:()I
            iadd
            putfield org.objectweb.asm.commons.LocalVariablesSorter.nextLocal:I
        end local 5 // org.objectweb.asm.Type argumentType
         9: .line 104
            iinc 6 1
      StackMap locals:
      StackMap stack:
        10: iload 6
            iload 7
            if_icmplt 7
        11: .line 107
            aload 0 /* this */
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.nextLocal:I
            putfield org.objectweb.asm.commons.LocalVariablesSorter.firstLocal:I
        12: .line 108
            return
        end local 4 // org.objectweb.asm.MethodVisitor methodVisitor
        end local 3 // java.lang.String descriptor
        end local 2 // int access
        end local 1 // int api
        end local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/objectweb/asm/commons/LocalVariablesSorter;
            0   13     1            api  I
            0   13     2         access  I
            0   13     3     descriptor  Ljava/lang/String;
            0   13     4  methodVisitor  Lorg/objectweb/asm/MethodVisitor;
            8    9     5   argumentType  Lorg/objectweb/asm/Type;
    MethodParameters:
               Name  Flags
      api            final
      access         final
      descriptor     final
      methodVisitor  final

  public void visitVarInsn(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
        start local 1 // int opcode
        start local 2 // int var
         0: .line 113
            iload 1 /* opcode */
            lookupswitch { // 11
                   21: 7
                   22: 1
                   23: 5
                   24: 3
                   25: 9
                   54: 7
                   55: 1
                   56: 5
                   57: 3
                   58: 9
                  169: 9
              default: 11
          }
         1: .line 116
      StackMap locals:
      StackMap stack:
            getstatic org.objectweb.asm.Type.LONG_TYPE:Lorg/objectweb/asm/Type;
            astore 3 /* varType */
        start local 3 // org.objectweb.asm.Type varType
         2: .line 117
            goto 12
        end local 3 // org.objectweb.asm.Type varType
         3: .line 120
      StackMap locals:
      StackMap stack:
            getstatic org.objectweb.asm.Type.DOUBLE_TYPE:Lorg/objectweb/asm/Type;
            astore 3 /* varType */
        start local 3 // org.objectweb.asm.Type varType
         4: .line 121
            goto 12
        end local 3 // org.objectweb.asm.Type varType
         5: .line 124
      StackMap locals:
      StackMap stack:
            getstatic org.objectweb.asm.Type.FLOAT_TYPE:Lorg/objectweb/asm/Type;
            astore 3 /* varType */
        start local 3 // org.objectweb.asm.Type varType
         6: .line 125
            goto 12
        end local 3 // org.objectweb.asm.Type varType
         7: .line 128
      StackMap locals:
      StackMap stack:
            getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
            astore 3 /* varType */
        start local 3 // org.objectweb.asm.Type varType
         8: .line 129
            goto 12
        end local 3 // org.objectweb.asm.Type varType
         9: .line 133
      StackMap locals:
      StackMap stack:
            getstatic org.objectweb.asm.commons.LocalVariablesSorter.OBJECT_TYPE:Lorg/objectweb/asm/Type;
            astore 3 /* varType */
        start local 3 // org.objectweb.asm.Type varType
        10: .line 134
            goto 12
        end local 3 // org.objectweb.asm.Type varType
        11: .line 136
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid opcode "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* opcode */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // org.objectweb.asm.Type varType
        12: .line 138
      StackMap locals: org.objectweb.asm.Type
      StackMap stack:
            aload 0 /* this */
            iload 1 /* opcode */
            aload 0 /* this */
            iload 2 /* var */
            aload 3 /* varType */
            invokevirtual org.objectweb.asm.commons.LocalVariablesSorter.remap:(ILorg/objectweb/asm/Type;)I
            invokespecial org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
        13: .line 139
            return
        end local 3 // org.objectweb.asm.Type varType
        end local 2 // int var
        end local 1 // int opcode
        end local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/objectweb/asm/commons/LocalVariablesSorter;
            0   14     1   opcode  I
            0   14     2      var  I
            2    3     3  varType  Lorg/objectweb/asm/Type;
            4    5     3  varType  Lorg/objectweb/asm/Type;
            6    7     3  varType  Lorg/objectweb/asm/Type;
            8    9     3  varType  Lorg/objectweb/asm/Type;
           10   11     3  varType  Lorg/objectweb/asm/Type;
           12   14     3  varType  Lorg/objectweb/asm/Type;
    MethodParameters:
        Name  Flags
      opcode  final
      var     final

  public void visitIincInsn(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
        start local 1 // int var
        start local 2 // int increment
         0: .line 143
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* var */
            getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
            invokevirtual org.objectweb.asm.commons.LocalVariablesSorter.remap:(ILorg/objectweb/asm/Type;)I
            iload 2 /* increment */
            invokespecial org.objectweb.asm.MethodVisitor.visitIincInsn:(II)V
         1: .line 144
            return
        end local 2 // int increment
        end local 1 // int var
        end local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/objectweb/asm/commons/LocalVariablesSorter;
            0    2     1        var  I
            0    2     2  increment  I
    MethodParameters:
           Name  Flags
      var        final
      increment  final

  public void visitMaxs(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
        start local 1 // int maxStack
        start local 2 // int maxLocals
         0: .line 148
            aload 0 /* this */
            iload 1 /* maxStack */
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.nextLocal:I
            invokespecial org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
         1: .line 149
            return
        end local 2 // int maxLocals
        end local 1 // int maxStack
        end local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/objectweb/asm/commons/LocalVariablesSorter;
            0    2     1   maxStack  I
            0    2     2  maxLocals  I
    MethodParameters:
           Name  Flags
      maxStack   final
      maxLocals  final

  public void visitLocalVariable(java.lang.String, java.lang.String, java.lang.String, org.objectweb.asm.Label, org.objectweb.asm.Label, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=7
        start local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String descriptor
        start local 3 // java.lang.String signature
        start local 4 // org.objectweb.asm.Label start
        start local 5 // org.objectweb.asm.Label end
        start local 6 // int index
         0: .line 159
            aload 0 /* this */
            iload 6 /* index */
            aload 2 /* descriptor */
            invokestatic org.objectweb.asm.Type.getType:(Ljava/lang/String;)Lorg/objectweb/asm/Type;
            invokevirtual org.objectweb.asm.commons.LocalVariablesSorter.remap:(ILorg/objectweb/asm/Type;)I
            istore 7 /* remappedIndex */
        start local 7 // int remappedIndex
         1: .line 160
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* descriptor */
            aload 3 /* signature */
            aload 4 /* start */
            aload 5 /* end */
            iload 7 /* remappedIndex */
            invokespecial org.objectweb.asm.MethodVisitor.visitLocalVariable:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;I)V
         2: .line 161
            return
        end local 7 // int remappedIndex
        end local 6 // int index
        end local 5 // org.objectweb.asm.Label end
        end local 4 // org.objectweb.asm.Label start
        end local 3 // java.lang.String signature
        end local 2 // java.lang.String descriptor
        end local 1 // java.lang.String name
        end local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/objectweb/asm/commons/LocalVariablesSorter;
            0    3     1           name  Ljava/lang/String;
            0    3     2     descriptor  Ljava/lang/String;
            0    3     3      signature  Ljava/lang/String;
            0    3     4          start  Lorg/objectweb/asm/Label;
            0    3     5            end  Lorg/objectweb/asm/Label;
            0    3     6          index  I
            1    3     7  remappedIndex  I
    MethodParameters:
            Name  Flags
      name        final
      descriptor  final
      signature   final
      start       final
      end         final
      index       final

  public org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int, org.objectweb.asm.TypePath, org.objectweb.asm.Label[], org.objectweb.asm.Label[], int[], java.lang.String, boolean);
    descriptor: (ILorg/objectweb/asm/TypePath;[Lorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;[ILjava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=11, args_size=8
        start local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
        start local 1 // int typeRef
        start local 2 // org.objectweb.asm.TypePath typePath
        start local 3 // org.objectweb.asm.Label[] start
        start local 4 // org.objectweb.asm.Label[] end
        start local 5 // int[] index
        start local 6 // java.lang.String descriptor
        start local 7 // boolean visible
         0: .line 172
            aload 6 /* descriptor */
            invokestatic org.objectweb.asm.Type.getType:(Ljava/lang/String;)Lorg/objectweb/asm/Type;
            astore 8 /* type */
        start local 8 // org.objectweb.asm.Type type
         1: .line 173
            aload 5 /* index */
            arraylength
            newarray 10
            astore 9 /* remappedIndex */
        start local 9 // int[] remappedIndex
         2: .line 174
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         3: goto 6
         4: .line 175
      StackMap locals: org.objectweb.asm.Type int[] int
      StackMap stack:
            aload 9 /* remappedIndex */
            iload 10 /* i */
            aload 0 /* this */
            aload 5 /* index */
            iload 10 /* i */
            iaload
            aload 8 /* type */
            invokevirtual org.objectweb.asm.commons.LocalVariablesSorter.remap:(ILorg/objectweb/asm/Type;)I
            iastore
         5: .line 174
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 10 /* i */
            aload 9 /* remappedIndex */
            arraylength
            if_icmplt 4
        end local 10 // int i
         7: .line 177
            aload 0 /* this */
         8: .line 178
            iload 1 /* typeRef */
            aload 2 /* typePath */
            aload 3 /* start */
            aload 4 /* end */
            aload 9 /* remappedIndex */
            aload 6 /* descriptor */
            iload 7 /* visible */
         9: .line 177
            invokespecial org.objectweb.asm.MethodVisitor.visitLocalVariableAnnotation:(ILorg/objectweb/asm/TypePath;[Lorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;[ILjava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
            areturn
        end local 9 // int[] remappedIndex
        end local 8 // org.objectweb.asm.Type type
        end local 7 // boolean visible
        end local 6 // java.lang.String descriptor
        end local 5 // int[] index
        end local 4 // org.objectweb.asm.Label[] end
        end local 3 // org.objectweb.asm.Label[] start
        end local 2 // org.objectweb.asm.TypePath typePath
        end local 1 // int typeRef
        end local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/objectweb/asm/commons/LocalVariablesSorter;
            0   10     1        typeRef  I
            0   10     2       typePath  Lorg/objectweb/asm/TypePath;
            0   10     3          start  [Lorg/objectweb/asm/Label;
            0   10     4            end  [Lorg/objectweb/asm/Label;
            0   10     5          index  [I
            0   10     6     descriptor  Ljava/lang/String;
            0   10     7        visible  Z
            1   10     8           type  Lorg/objectweb/asm/Type;
            2   10     9  remappedIndex  [I
            3    7    10              i  I
    MethodParameters:
            Name  Flags
      typeRef     final
      typePath    final
      start       final
      end         final
      index       final
      descriptor  final
      visible     final

  public void visitFrame(int, int, java.lang.Object[], int, java.lang.Object[]);
    descriptor: (II[Ljava/lang/Object;I[Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=6
        start local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
        start local 1 // int type
        start local 2 // int numLocal
        start local 3 // java.lang.Object[] local
        start local 4 // int numStack
        start local 5 // java.lang.Object[] stack
         0: .line 188
            iload 1 /* type */
            iconst_m1
            if_icmpeq 4
         1: .line 189
            new java.lang.IllegalArgumentException
            dup
         2: .line 190
            ldc "LocalVariablesSorter only accepts expanded frames (see ClassReader.EXPAND_FRAMES)"
         3: .line 189
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.remappedLocalTypes:[Ljava/lang/Object;
            arraylength
            anewarray java.lang.Object
            astore 6 /* oldRemappedLocals */
        start local 6 // java.lang.Object[] oldRemappedLocals
         5: .line 195
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.remappedLocalTypes:[Ljava/lang/Object;
            iconst_0
            aload 6 /* oldRemappedLocals */
            iconst_0
            aload 6 /* oldRemappedLocals */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 197
            aload 0 /* this */
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.remappedLocalTypes:[Ljava/lang/Object;
            invokevirtual org.objectweb.asm.commons.LocalVariablesSorter.updateNewLocals:([Ljava/lang/Object;)V
         7: .line 201
            iconst_0
            istore 7 /* oldVar */
        start local 7 // int oldVar
         8: .line 202
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         9: goto 33
        10: .line 203
      StackMap locals: java.lang.Object[] int int
      StackMap stack:
            aload 3 /* local */
            iload 8 /* i */
            aaload
            astore 9 /* localType */
        start local 9 // java.lang.Object localType
        11: .line 204
            aload 9 /* localType */
            getstatic org.objectweb.asm.Opcodes.TOP:Ljava/lang/Integer;
            if_acmpeq 28
        12: .line 205
            getstatic org.objectweb.asm.commons.LocalVariablesSorter.OBJECT_TYPE:Lorg/objectweb/asm/Type;
            astore 10 /* varType */
        start local 10 // org.objectweb.asm.Type varType
        13: .line 206
            aload 9 /* localType */
            getstatic org.objectweb.asm.Opcodes.INTEGER:Ljava/lang/Integer;
            if_acmpne 16
        14: .line 207
            getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
            astore 10 /* varType */
        15: .line 208
            goto 27
      StackMap locals: java.lang.Object org.objectweb.asm.Type
      StackMap stack:
        16: aload 9 /* localType */
            getstatic org.objectweb.asm.Opcodes.FLOAT:Ljava/lang/Integer;
            if_acmpne 19
        17: .line 209
            getstatic org.objectweb.asm.Type.FLOAT_TYPE:Lorg/objectweb/asm/Type;
            astore 10 /* varType */
        18: .line 210
            goto 27
      StackMap locals:
      StackMap stack:
        19: aload 9 /* localType */
            getstatic org.objectweb.asm.Opcodes.LONG:Ljava/lang/Integer;
            if_acmpne 22
        20: .line 211
            getstatic org.objectweb.asm.Type.LONG_TYPE:Lorg/objectweb/asm/Type;
            astore 10 /* varType */
        21: .line 212
            goto 27
      StackMap locals:
      StackMap stack:
        22: aload 9 /* localType */
            getstatic org.objectweb.asm.Opcodes.DOUBLE:Ljava/lang/Integer;
            if_acmpne 25
        23: .line 213
            getstatic org.objectweb.asm.Type.DOUBLE_TYPE:Lorg/objectweb/asm/Type;
            astore 10 /* varType */
        24: .line 214
            goto 27
      StackMap locals:
      StackMap stack:
        25: aload 9 /* localType */
            instanceof java.lang.String
            ifeq 27
        26: .line 215
            aload 9 /* localType */
            checkcast java.lang.String
            invokestatic org.objectweb.asm.Type.getObjectType:(Ljava/lang/String;)Lorg/objectweb/asm/Type;
            astore 10 /* varType */
        27: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 7 /* oldVar */
            aload 10 /* varType */
            invokevirtual org.objectweb.asm.commons.LocalVariablesSorter.remap:(ILorg/objectweb/asm/Type;)I
            aload 9 /* localType */
            invokevirtual org.objectweb.asm.commons.LocalVariablesSorter.setFrameLocal:(ILjava/lang/Object;)V
        end local 10 // org.objectweb.asm.Type varType
        28: .line 219
      StackMap locals:
      StackMap stack:
            iload 7 /* oldVar */
            aload 9 /* localType */
            getstatic org.objectweb.asm.Opcodes.LONG:Ljava/lang/Integer;
            if_acmpeq 29
            aload 9 /* localType */
            getstatic org.objectweb.asm.Opcodes.DOUBLE:Ljava/lang/Integer;
            if_acmpne 30
      StackMap locals:
      StackMap stack: int
        29: iconst_2
            goto 31
      StackMap locals:
      StackMap stack: int
        30: iconst_1
      StackMap locals: org.objectweb.asm.commons.LocalVariablesSorter int int java.lang.Object[] int java.lang.Object[] java.lang.Object[] int int java.lang.Object
      StackMap stack: int int
        31: iadd
            istore 7 /* oldVar */
        end local 9 // java.lang.Object localType
        32: .line 202
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 8 /* i */
            iload 2 /* numLocal */
            if_icmplt 10
        end local 8 // int i
        34: .line 223
            iconst_0
            istore 7 /* oldVar */
        35: .line 224
            iconst_0
            istore 8 /* newVar */
        start local 8 // int newVar
        36: .line 225
            iconst_0
            istore 9 /* remappedNumLocal */
        start local 9 // int remappedNumLocal
        37: .line 226
            goto 48
        38: .line 227
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.remappedLocalTypes:[Ljava/lang/Object;
            iload 7 /* oldVar */
            aaload
            astore 10 /* localType */
        start local 10 // java.lang.Object localType
        39: .line 228
            iload 7 /* oldVar */
            aload 10 /* localType */
            getstatic org.objectweb.asm.Opcodes.LONG:Ljava/lang/Integer;
            if_acmpeq 40
            aload 10 /* localType */
            getstatic org.objectweb.asm.Opcodes.DOUBLE:Ljava/lang/Integer;
            if_acmpne 41
      StackMap locals: org.objectweb.asm.commons.LocalVariablesSorter int int java.lang.Object[] int java.lang.Object[] java.lang.Object[] int int int java.lang.Object
      StackMap stack: int
        40: iconst_2
            goto 42
      StackMap locals:
      StackMap stack: int
        41: iconst_1
      StackMap locals: org.objectweb.asm.commons.LocalVariablesSorter int int java.lang.Object[] int java.lang.Object[] java.lang.Object[] int int int java.lang.Object
      StackMap stack: int int
        42: iadd
            istore 7 /* oldVar */
        43: .line 229
            aload 10 /* localType */
            ifnull 47
            aload 10 /* localType */
            getstatic org.objectweb.asm.Opcodes.TOP:Ljava/lang/Integer;
            if_acmpeq 47
        44: .line 230
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.remappedLocalTypes:[Ljava/lang/Object;
            iload 8 /* newVar */
            iinc 8 /* newVar */ 1
            aload 10 /* localType */
            aastore
        45: .line 231
            iload 8 /* newVar */
            istore 9 /* remappedNumLocal */
        46: .line 232
            goto 48
        47: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.remappedLocalTypes:[Ljava/lang/Object;
            iload 8 /* newVar */
            iinc 8 /* newVar */ 1
            getstatic org.objectweb.asm.Opcodes.TOP:Ljava/lang/Integer;
            aastore
        end local 10 // java.lang.Object localType
        48: .line 226
      StackMap locals:
      StackMap stack:
            iload 7 /* oldVar */
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.remappedLocalTypes:[Ljava/lang/Object;
            arraylength
            if_icmplt 38
        49: .line 238
            aload 0 /* this */
            iload 1 /* type */
            iload 9 /* remappedNumLocal */
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.remappedLocalTypes:[Ljava/lang/Object;
            iload 4 /* numStack */
            aload 5 /* stack */
            invokespecial org.objectweb.asm.MethodVisitor.visitFrame:(II[Ljava/lang/Object;I[Ljava/lang/Object;)V
        50: .line 241
            aload 0 /* this */
            aload 6 /* oldRemappedLocals */
            putfield org.objectweb.asm.commons.LocalVariablesSorter.remappedLocalTypes:[Ljava/lang/Object;
        51: .line 242
            return
        end local 9 // int remappedNumLocal
        end local 8 // int newVar
        end local 7 // int oldVar
        end local 6 // java.lang.Object[] oldRemappedLocals
        end local 5 // java.lang.Object[] stack
        end local 4 // int numStack
        end local 3 // java.lang.Object[] local
        end local 2 // int numLocal
        end local 1 // int type
        end local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   52     0               this  Lorg/objectweb/asm/commons/LocalVariablesSorter;
            0   52     1               type  I
            0   52     2           numLocal  I
            0   52     3              local  [Ljava/lang/Object;
            0   52     4           numStack  I
            0   52     5              stack  [Ljava/lang/Object;
            5   52     6  oldRemappedLocals  [Ljava/lang/Object;
            8   52     7             oldVar  I
            9   34     8                  i  I
           11   32     9          localType  Ljava/lang/Object;
           13   28    10            varType  Lorg/objectweb/asm/Type;
           36   52     8             newVar  I
           37   52     9   remappedNumLocal  I
           39   48    10          localType  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      type      final
      numLocal  final
      local     final
      numStack  final
      stack     final

  public int newLocal(org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
        start local 1 // org.objectweb.asm.Type type
         0: .line 254
            aload 1 /* type */
            invokevirtual org.objectweb.asm.Type.getSort:()I
            tableswitch { // 1 - 10
                    1: 1
                    2: 1
                    3: 1
                    4: 1
                    5: 1
                    6: 3
                    7: 5
                    8: 7
                    9: 9
                   10: 11
              default: 13
          }
         1: .line 260
      StackMap locals:
      StackMap stack:
            getstatic org.objectweb.asm.Opcodes.INTEGER:Ljava/lang/Integer;
            astore 2 /* localType */
        start local 2 // java.lang.Object localType
         2: .line 261
            goto 14
        end local 2 // java.lang.Object localType
         3: .line 263
      StackMap locals:
      StackMap stack:
            getstatic org.objectweb.asm.Opcodes.FLOAT:Ljava/lang/Integer;
            astore 2 /* localType */
        start local 2 // java.lang.Object localType
         4: .line 264
            goto 14
        end local 2 // java.lang.Object localType
         5: .line 266
      StackMap locals:
      StackMap stack:
            getstatic org.objectweb.asm.Opcodes.LONG:Ljava/lang/Integer;
            astore 2 /* localType */
        start local 2 // java.lang.Object localType
         6: .line 267
            goto 14
        end local 2 // java.lang.Object localType
         7: .line 269
      StackMap locals:
      StackMap stack:
            getstatic org.objectweb.asm.Opcodes.DOUBLE:Ljava/lang/Integer;
            astore 2 /* localType */
        start local 2 // java.lang.Object localType
         8: .line 270
            goto 14
        end local 2 // java.lang.Object localType
         9: .line 272
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokevirtual org.objectweb.asm.Type.getDescriptor:()Ljava/lang/String;
            astore 2 /* localType */
        start local 2 // java.lang.Object localType
        10: .line 273
            goto 14
        end local 2 // java.lang.Object localType
        11: .line 275
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokevirtual org.objectweb.asm.Type.getInternalName:()Ljava/lang/String;
            astore 2 /* localType */
        start local 2 // java.lang.Object localType
        12: .line 276
            goto 14
        end local 2 // java.lang.Object localType
        13: .line 278
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        start local 2 // java.lang.Object localType
        14: .line 280
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual org.objectweb.asm.commons.LocalVariablesSorter.newLocalMapping:(Lorg/objectweb/asm/Type;)I
            istore 3 /* local */
        start local 3 // int local
        15: .line 281
            aload 0 /* this */
            iload 3 /* local */
            aload 1 /* type */
            invokevirtual org.objectweb.asm.commons.LocalVariablesSorter.setLocalType:(ILorg/objectweb/asm/Type;)V
        16: .line 282
            aload 0 /* this */
            iload 3 /* local */
            aload 2 /* localType */
            invokevirtual org.objectweb.asm.commons.LocalVariablesSorter.setFrameLocal:(ILjava/lang/Object;)V
        17: .line 283
            iload 3 /* local */
            ireturn
        end local 3 // int local
        end local 2 // java.lang.Object localType
        end local 1 // org.objectweb.asm.Type type
        end local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lorg/objectweb/asm/commons/LocalVariablesSorter;
            0   18     1       type  Lorg/objectweb/asm/Type;
            2    3     2  localType  Ljava/lang/Object;
            4    5     2  localType  Ljava/lang/Object;
            6    7     2  localType  Ljava/lang/Object;
            8    9     2  localType  Ljava/lang/Object;
           10   11     2  localType  Ljava/lang/Object;
           12   13     2  localType  Ljava/lang/Object;
           14   18     2  localType  Ljava/lang/Object;
           15   18     3      local  I
    MethodParameters:
      Name  Flags
      type  final

  protected void updateNewLocals(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
        start local 1 // java.lang.Object[] newLocals
         0: .line 302
            return
        end local 1 // java.lang.Object[] newLocals
        end local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/objectweb/asm/commons/LocalVariablesSorter;
            0    1     1  newLocals  [Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      newLocals  final

  protected void setLocalType(int, org.objectweb.asm.Type);
    descriptor: (ILorg/objectweb/asm/Type;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
        start local 1 // int local
        start local 2 // org.objectweb.asm.Type type
         0: .line 313
            return
        end local 2 // org.objectweb.asm.Type type
        end local 1 // int local
        end local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/objectweb/asm/commons/LocalVariablesSorter;
            0    1     1  local  I
            0    1     2   type  Lorg/objectweb/asm/Type;
    MethodParameters:
       Name  Flags
      local  final
      type   final

  private void setFrameLocal(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
        start local 1 // int local
        start local 2 // java.lang.Object type
         0: .line 316
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.remappedLocalTypes:[Ljava/lang/Object;
            arraylength
            istore 3 /* numLocals */
        start local 3 // int numLocals
         1: .line 317
            iload 1 /* local */
            iload 3 /* numLocals */
            if_icmplt 5
         2: .line 318
            iconst_2
            iload 3 /* numLocals */
            imul
            iload 1 /* local */
            iconst_1
            iadd
            invokestatic java.lang.Math.max:(II)I
            anewarray java.lang.Object
            astore 4 /* newRemappedLocalTypes */
        start local 4 // java.lang.Object[] newRemappedLocalTypes
         3: .line 319
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.remappedLocalTypes:[Ljava/lang/Object;
            iconst_0
            aload 4 /* newRemappedLocalTypes */
            iconst_0
            iload 3 /* numLocals */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 320
            aload 0 /* this */
            aload 4 /* newRemappedLocalTypes */
            putfield org.objectweb.asm.commons.LocalVariablesSorter.remappedLocalTypes:[Ljava/lang/Object;
        end local 4 // java.lang.Object[] newRemappedLocalTypes
         5: .line 322
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.remappedLocalTypes:[Ljava/lang/Object;
            iload 1 /* local */
            aload 2 /* type */
            aastore
         6: .line 323
            return
        end local 3 // int numLocals
        end local 2 // java.lang.Object type
        end local 1 // int local
        end local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    7     0                   this  Lorg/objectweb/asm/commons/LocalVariablesSorter;
            0    7     1                  local  I
            0    7     2                   type  Ljava/lang/Object;
            1    7     3              numLocals  I
            3    5     4  newRemappedLocalTypes  [Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      local  final
      type   final

  private int remap(int, org.objectweb.asm.Type);
    descriptor: (ILorg/objectweb/asm/Type;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
        start local 1 // int var
        start local 2 // org.objectweb.asm.Type type
         0: .line 326
            iload 1 /* var */
            aload 2 /* type */
            invokevirtual org.objectweb.asm.Type.getSize:()I
            iadd
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.firstLocal:I
            if_icmpgt 2
         1: .line 327
            iload 1 /* var */
            ireturn
         2: .line 329
      StackMap locals:
      StackMap stack:
            iconst_2
            iload 1 /* var */
            imul
            aload 2 /* type */
            invokevirtual org.objectweb.asm.Type.getSize:()I
            iadd
            iconst_1
            isub
            istore 3 /* key */
        start local 3 // int key
         3: .line 330
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.remappedVariableIndices:[I
            arraylength
            istore 4 /* size */
        start local 4 // int size
         4: .line 331
            iload 3 /* key */
            iload 4 /* size */
            if_icmplt 8
         5: .line 332
            iconst_2
            iload 4 /* size */
            imul
            iload 3 /* key */
            iconst_1
            iadd
            invokestatic java.lang.Math.max:(II)I
            newarray 10
            astore 5 /* newRemappedVariableIndices */
        start local 5 // int[] newRemappedVariableIndices
         6: .line 333
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.remappedVariableIndices:[I
            iconst_0
            aload 5 /* newRemappedVariableIndices */
            iconst_0
            iload 4 /* size */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 334
            aload 0 /* this */
            aload 5 /* newRemappedVariableIndices */
            putfield org.objectweb.asm.commons.LocalVariablesSorter.remappedVariableIndices:[I
        end local 5 // int[] newRemappedVariableIndices
         8: .line 336
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.remappedVariableIndices:[I
            iload 3 /* key */
            iaload
            istore 5 /* value */
        start local 5 // int value
         9: .line 337
            iload 5 /* value */
            ifne 14
        10: .line 338
            aload 0 /* this */
            aload 2 /* type */
            invokevirtual org.objectweb.asm.commons.LocalVariablesSorter.newLocalMapping:(Lorg/objectweb/asm/Type;)I
            istore 5 /* value */
        11: .line 339
            aload 0 /* this */
            iload 5 /* value */
            aload 2 /* type */
            invokevirtual org.objectweb.asm.commons.LocalVariablesSorter.setLocalType:(ILorg/objectweb/asm/Type;)V
        12: .line 340
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.remappedVariableIndices:[I
            iload 3 /* key */
            iload 5 /* value */
            iconst_1
            iadd
            iastore
        13: .line 341
            goto 15
        14: .line 342
      StackMap locals: int
      StackMap stack:
            iinc 5 /* value */ -1
        15: .line 344
      StackMap locals:
      StackMap stack:
            iload 5 /* value */
            ireturn
        end local 5 // int value
        end local 4 // int size
        end local 3 // int key
        end local 2 // org.objectweb.asm.Type type
        end local 1 // int var
        end local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   16     0                        this  Lorg/objectweb/asm/commons/LocalVariablesSorter;
            0   16     1                         var  I
            0   16     2                        type  Lorg/objectweb/asm/Type;
            3   16     3                         key  I
            4   16     4                        size  I
            6    8     5  newRemappedVariableIndices  [I
            9   16     5                       value  I
    MethodParameters:
      Name  Flags
      var   final
      type  final

  protected int newLocalMapping(org.objectweb.asm.Type);
    descriptor: (Lorg/objectweb/asm/Type;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
        start local 1 // org.objectweb.asm.Type type
         0: .line 348
            aload 0 /* this */
            getfield org.objectweb.asm.commons.LocalVariablesSorter.nextLocal:I
            istore 2 /* local */
        start local 2 // int local
         1: .line 349
            aload 0 /* this */
            dup
            getfield org.objectweb.asm.commons.LocalVariablesSorter.nextLocal:I
            aload 1 /* type */
            invokevirtual org.objectweb.asm.Type.getSize:()I
            iadd
            putfield org.objectweb.asm.commons.LocalVariablesSorter.nextLocal:I
         2: .line 350
            iload 2 /* local */
            ireturn
        end local 2 // int local
        end local 1 // org.objectweb.asm.Type type
        end local 0 // org.objectweb.asm.commons.LocalVariablesSorter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/objectweb/asm/commons/LocalVariablesSorter;
            0    3     1   type  Lorg/objectweb/asm/Type;
            1    3     2  local  I
    MethodParameters:
      Name  Flags
      type  final
}
SourceFile: "LocalVariablesSorter.java"