final class org.objectweb.asm.Handler
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.objectweb.asm.Handler
  super_class: java.lang.Object
{
  final org.objectweb.asm.Label startPc;
    descriptor: Lorg/objectweb/asm/Label;
    flags: (0x0010) ACC_FINAL

  final org.objectweb.asm.Label endPc;
    descriptor: Lorg/objectweb/asm/Label;
    flags: (0x0010) ACC_FINAL

  final org.objectweb.asm.Label handlerPc;
    descriptor: Lorg/objectweb/asm/Label;
    flags: (0x0010) ACC_FINAL

  final int catchType;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final java.lang.String catchTypeDescriptor;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  org.objectweb.asm.Handler nextHandler;
    descriptor: Lorg/objectweb/asm/Handler;
    flags: (0x0000) 

  void <init>(org.objectweb.asm.Label, org.objectweb.asm.Label, org.objectweb.asm.Label, int, java.lang.String);
    descriptor: (Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;ILjava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // org.objectweb.asm.Handler this
        start local 1 // org.objectweb.asm.Label startPc
        start local 2 // org.objectweb.asm.Label endPc
        start local 3 // org.objectweb.asm.Label handlerPc
        start local 4 // int catchType
        start local 5 // java.lang.String catchTypeDescriptor
         0: .line 85
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 91
            aload 0 /* this */
            aload 1 /* startPc */
            putfield org.objectweb.asm.Handler.startPc:Lorg/objectweb/asm/Label;
         2: .line 92
            aload 0 /* this */
            aload 2 /* endPc */
            putfield org.objectweb.asm.Handler.endPc:Lorg/objectweb/asm/Label;
         3: .line 93
            aload 0 /* this */
            aload 3 /* handlerPc */
            putfield org.objectweb.asm.Handler.handlerPc:Lorg/objectweb/asm/Label;
         4: .line 94
            aload 0 /* this */
            iload 4 /* catchType */
            putfield org.objectweb.asm.Handler.catchType:I
         5: .line 95
            aload 0 /* this */
            aload 5 /* catchTypeDescriptor */
            putfield org.objectweb.asm.Handler.catchTypeDescriptor:Ljava/lang/String;
         6: .line 96
            return
        end local 5 // java.lang.String catchTypeDescriptor
        end local 4 // int catchType
        end local 3 // org.objectweb.asm.Label handlerPc
        end local 2 // org.objectweb.asm.Label endPc
        end local 1 // org.objectweb.asm.Label startPc
        end local 0 // org.objectweb.asm.Handler this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                 this  Lorg/objectweb/asm/Handler;
            0    7     1              startPc  Lorg/objectweb/asm/Label;
            0    7     2                endPc  Lorg/objectweb/asm/Label;
            0    7     3            handlerPc  Lorg/objectweb/asm/Label;
            0    7     4            catchType  I
            0    7     5  catchTypeDescriptor  Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      startPc              final
      endPc                final
      handlerPc            final
      catchType            final
      catchTypeDescriptor  final

  void <init>(org.objectweb.asm.Handler, org.objectweb.asm.Label, org.objectweb.asm.Label);
    descriptor: (Lorg/objectweb/asm/Handler;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.objectweb.asm.Handler this
        start local 1 // org.objectweb.asm.Handler handler
        start local 2 // org.objectweb.asm.Label startPc
        start local 3 // org.objectweb.asm.Label endPc
         0: .line 106
            aload 0 /* this */
            aload 2 /* startPc */
            aload 3 /* endPc */
            aload 1 /* handler */
            getfield org.objectweb.asm.Handler.handlerPc:Lorg/objectweb/asm/Label;
            aload 1 /* handler */
            getfield org.objectweb.asm.Handler.catchType:I
            aload 1 /* handler */
            getfield org.objectweb.asm.Handler.catchTypeDescriptor:Ljava/lang/String;
            invokespecial org.objectweb.asm.Handler.<init>:(Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;ILjava/lang/String;)V
         1: .line 107
            aload 0 /* this */
            aload 1 /* handler */
            getfield org.objectweb.asm.Handler.nextHandler:Lorg/objectweb/asm/Handler;
            putfield org.objectweb.asm.Handler.nextHandler:Lorg/objectweb/asm/Handler;
         2: .line 108
            return
        end local 3 // org.objectweb.asm.Label endPc
        end local 2 // org.objectweb.asm.Label startPc
        end local 1 // org.objectweb.asm.Handler handler
        end local 0 // org.objectweb.asm.Handler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/objectweb/asm/Handler;
            0    3     1  handler  Lorg/objectweb/asm/Handler;
            0    3     2  startPc  Lorg/objectweb/asm/Label;
            0    3     3    endPc  Lorg/objectweb/asm/Label;
    MethodParameters:
         Name  Flags
      handler  final
      startPc  final
      endPc    final

  static org.objectweb.asm.Handler removeRange(org.objectweb.asm.Handler, org.objectweb.asm.Label, org.objectweb.asm.Label);
    descriptor: (Lorg/objectweb/asm/Handler;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Handler;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // org.objectweb.asm.Handler firstHandler
        start local 1 // org.objectweb.asm.Label start
        start local 2 // org.objectweb.asm.Label end
         0: .line 120
            aload 0 /* firstHandler */
            ifnonnull 2
         1: .line 121
            aconst_null
            areturn
         2: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* firstHandler */
            aload 0 /* firstHandler */
            getfield org.objectweb.asm.Handler.nextHandler:Lorg/objectweb/asm/Handler;
            aload 1 /* start */
            aload 2 /* end */
            invokestatic org.objectweb.asm.Handler.removeRange:(Lorg/objectweb/asm/Handler;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)Lorg/objectweb/asm/Handler;
            putfield org.objectweb.asm.Handler.nextHandler:Lorg/objectweb/asm/Handler;
         3: .line 125
            aload 0 /* firstHandler */
            getfield org.objectweb.asm.Handler.startPc:Lorg/objectweb/asm/Label;
            getfield org.objectweb.asm.Label.bytecodeOffset:I
            istore 3 /* handlerStart */
        start local 3 // int handlerStart
         4: .line 126
            aload 0 /* firstHandler */
            getfield org.objectweb.asm.Handler.endPc:Lorg/objectweb/asm/Label;
            getfield org.objectweb.asm.Label.bytecodeOffset:I
            istore 4 /* handlerEnd */
        start local 4 // int handlerEnd
         5: .line 127
            aload 1 /* start */
            getfield org.objectweb.asm.Label.bytecodeOffset:I
            istore 5 /* rangeStart */
        start local 5 // int rangeStart
         6: .line 128
            aload 2 /* end */
            ifnonnull 7
            ldc 2147483647
            goto 8
      StackMap locals: int int int
      StackMap stack:
         7: aload 2 /* end */
            getfield org.objectweb.asm.Label.bytecodeOffset:I
      StackMap locals:
      StackMap stack: int
         8: istore 6 /* rangeEnd */
        start local 6 // int rangeEnd
         9: .line 130
            iload 5 /* rangeStart */
            iload 4 /* handlerEnd */
            if_icmpge 10
            iload 6 /* rangeEnd */
            iload 3 /* handlerStart */
            if_icmpgt 11
        10: .line 131
      StackMap locals: int
      StackMap stack:
            aload 0 /* firstHandler */
            areturn
        11: .line 133
      StackMap locals:
      StackMap stack:
            iload 5 /* rangeStart */
            iload 3 /* handlerStart */
            if_icmpgt 15
        12: .line 134
            iload 6 /* rangeEnd */
            iload 4 /* handlerEnd */
            if_icmplt 14
        13: .line 136
            aload 0 /* firstHandler */
            getfield org.objectweb.asm.Handler.nextHandler:Lorg/objectweb/asm/Handler;
            areturn
        14: .line 139
      StackMap locals:
      StackMap stack:
            new org.objectweb.asm.Handler
            dup
            aload 0 /* firstHandler */
            aload 2 /* end */
            aload 0 /* firstHandler */
            getfield org.objectweb.asm.Handler.endPc:Lorg/objectweb/asm/Label;
            invokespecial org.objectweb.asm.Handler.<init>:(Lorg/objectweb/asm/Handler;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V
            areturn
        15: .line 141
      StackMap locals:
      StackMap stack:
            iload 6 /* rangeEnd */
            iload 4 /* handlerEnd */
            if_icmplt 17
        16: .line 143
            new org.objectweb.asm.Handler
            dup
            aload 0 /* firstHandler */
            aload 0 /* firstHandler */
            getfield org.objectweb.asm.Handler.startPc:Lorg/objectweb/asm/Label;
            aload 1 /* start */
            invokespecial org.objectweb.asm.Handler.<init>:(Lorg/objectweb/asm/Handler;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V
            areturn
        17: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* firstHandler */
            new org.objectweb.asm.Handler
            dup
            aload 0 /* firstHandler */
            aload 2 /* end */
            aload 0 /* firstHandler */
            getfield org.objectweb.asm.Handler.endPc:Lorg/objectweb/asm/Label;
            invokespecial org.objectweb.asm.Handler.<init>:(Lorg/objectweb/asm/Handler;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V
            putfield org.objectweb.asm.Handler.nextHandler:Lorg/objectweb/asm/Handler;
        18: .line 148
            new org.objectweb.asm.Handler
            dup
            aload 0 /* firstHandler */
            aload 0 /* firstHandler */
            getfield org.objectweb.asm.Handler.startPc:Lorg/objectweb/asm/Label;
            aload 1 /* start */
            invokespecial org.objectweb.asm.Handler.<init>:(Lorg/objectweb/asm/Handler;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V
            areturn
        end local 6 // int rangeEnd
        end local 5 // int rangeStart
        end local 4 // int handlerEnd
        end local 3 // int handlerStart
        end local 2 // org.objectweb.asm.Label end
        end local 1 // org.objectweb.asm.Label start
        end local 0 // org.objectweb.asm.Handler firstHandler
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0  firstHandler  Lorg/objectweb/asm/Handler;
            0   19     1         start  Lorg/objectweb/asm/Label;
            0   19     2           end  Lorg/objectweb/asm/Label;
            4   19     3  handlerStart  I
            5   19     4    handlerEnd  I
            6   19     5    rangeStart  I
            9   19     6      rangeEnd  I
    MethodParameters:
              Name  Flags
      firstHandler  final
      start         final
      end           final

  static int getExceptionTableLength(org.objectweb.asm.Handler);
    descriptor: (Lorg/objectweb/asm/Handler;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.objectweb.asm.Handler firstHandler
         0: .line 159
            iconst_0
            istore 1 /* length */
        start local 1 // int length
         1: .line 160
            aload 0 /* firstHandler */
            astore 2 /* handler */
        start local 2 // org.objectweb.asm.Handler handler
         2: .line 161
            goto 5
         3: .line 162
      StackMap locals: int org.objectweb.asm.Handler
      StackMap stack:
            iinc 1 /* length */ 1
         4: .line 163
            aload 2 /* handler */
            getfield org.objectweb.asm.Handler.nextHandler:Lorg/objectweb/asm/Handler;
            astore 2 /* handler */
         5: .line 161
      StackMap locals:
      StackMap stack:
            aload 2 /* handler */
            ifnonnull 3
         6: .line 165
            iload 1 /* length */
            ireturn
        end local 2 // org.objectweb.asm.Handler handler
        end local 1 // int length
        end local 0 // org.objectweb.asm.Handler firstHandler
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0  firstHandler  Lorg/objectweb/asm/Handler;
            1    7     1        length  I
            2    7     2       handler  Lorg/objectweb/asm/Handler;
    MethodParameters:
              Name  Flags
      firstHandler  final

  static int getExceptionTableSize(org.objectweb.asm.Handler);
    descriptor: (Lorg/objectweb/asm/Handler;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.objectweb.asm.Handler firstHandler
         0: .line 176
            iconst_2
            bipush 8
            aload 0 /* firstHandler */
            invokestatic org.objectweb.asm.Handler.getExceptionTableLength:(Lorg/objectweb/asm/Handler;)I
            imul
            iadd
            ireturn
        end local 0 // org.objectweb.asm.Handler firstHandler
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  firstHandler  Lorg/objectweb/asm/Handler;
    MethodParameters:
              Name  Flags
      firstHandler  final

  static void putExceptionTable(org.objectweb.asm.Handler, org.objectweb.asm.ByteVector);
    descriptor: (Lorg/objectweb/asm/Handler;Lorg/objectweb/asm/ByteVector;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.objectweb.asm.Handler firstHandler
        start local 1 // org.objectweb.asm.ByteVector output
         0: .line 187
            aload 1 /* output */
            aload 0 /* firstHandler */
            invokestatic org.objectweb.asm.Handler.getExceptionTableLength:(Lorg/objectweb/asm/Handler;)I
            invokevirtual org.objectweb.asm.ByteVector.putShort:(I)Lorg/objectweb/asm/ByteVector;
            pop
         1: .line 188
            aload 0 /* firstHandler */
            astore 2 /* handler */
        start local 2 // org.objectweb.asm.Handler handler
         2: .line 189
            goto 9
         3: .line 190
      StackMap locals: org.objectweb.asm.Handler
      StackMap stack:
            aload 1 /* output */
         4: .line 191
            aload 2 /* handler */
            getfield org.objectweb.asm.Handler.startPc:Lorg/objectweb/asm/Label;
            getfield org.objectweb.asm.Label.bytecodeOffset:I
            invokevirtual org.objectweb.asm.ByteVector.putShort:(I)Lorg/objectweb/asm/ByteVector;
         5: .line 192
            aload 2 /* handler */
            getfield org.objectweb.asm.Handler.endPc:Lorg/objectweb/asm/Label;
            getfield org.objectweb.asm.Label.bytecodeOffset:I
            invokevirtual org.objectweb.asm.ByteVector.putShort:(I)Lorg/objectweb/asm/ByteVector;
         6: .line 193
            aload 2 /* handler */
            getfield org.objectweb.asm.Handler.handlerPc:Lorg/objectweb/asm/Label;
            getfield org.objectweb.asm.Label.bytecodeOffset:I
            invokevirtual org.objectweb.asm.ByteVector.putShort:(I)Lorg/objectweb/asm/ByteVector;
         7: .line 194
            aload 2 /* handler */
            getfield org.objectweb.asm.Handler.catchType:I
            invokevirtual org.objectweb.asm.ByteVector.putShort:(I)Lorg/objectweb/asm/ByteVector;
            pop
         8: .line 195
            aload 2 /* handler */
            getfield org.objectweb.asm.Handler.nextHandler:Lorg/objectweb/asm/Handler;
            astore 2 /* handler */
         9: .line 189
      StackMap locals:
      StackMap stack:
            aload 2 /* handler */
            ifnonnull 3
        10: .line 197
            return
        end local 2 // org.objectweb.asm.Handler handler
        end local 1 // org.objectweb.asm.ByteVector output
        end local 0 // org.objectweb.asm.Handler firstHandler
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0  firstHandler  Lorg/objectweb/asm/Handler;
            0   11     1        output  Lorg/objectweb/asm/ByteVector;
            2   11     2       handler  Lorg/objectweb/asm/Handler;
    MethodParameters:
              Name  Flags
      firstHandler  final
      output        final
}
SourceFile: "Handler.java"