public final class com.sun.org.apache.bcel.internal.generic.SWITCH implements com.sun.org.apache.bcel.internal.generic.CompoundInstruction
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.org.apache.bcel.internal.generic.SWITCH
  super_class: java.lang.Object
{
  private int[] match;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private com.sun.org.apache.bcel.internal.generic.InstructionHandle[] targets;
    descriptor: [Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.org.apache.bcel.internal.generic.Select instruction;
    descriptor: Lcom/sun/org/apache/bcel/internal/generic/Select;
    flags: (0x0002) ACC_PRIVATE

  private int match_length;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>(int[], com.sun.org.apache.bcel.internal.generic.InstructionHandle[], com.sun.org.apache.bcel.internal.generic.InstructionHandle, int);
    descriptor: ([I[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.sun.org.apache.bcel.internal.generic.SWITCH this
        start local 1 // int[] match
        start local 2 // com.sun.org.apache.bcel.internal.generic.InstructionHandle[] targets
        start local 3 // com.sun.org.apache.bcel.internal.generic.InstructionHandle target
        start local 4 // int max_gap
         0: .line 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            aload 1 /* match */
            invokevirtual int[].clone:()Ljava/lang/Object;
            checkcast int[]
            putfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
         2: .line 56
            aload 0 /* this */
            aload 2 /* targets */
            invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionHandle[].clone:()Ljava/lang/Object;
            checkcast com.sun.org.apache.bcel.internal.generic.InstructionHandle[]
            putfield com.sun.org.apache.bcel.internal.generic.SWITCH.targets:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
         3: .line 58
            aload 0 /* this */
            aload 1 /* match */
            arraylength
            dup_x1
            putfield com.sun.org.apache.bcel.internal.generic.SWITCH.match_length:I
            iconst_2
            if_icmpge 5
         4: .line 59
            aload 0 /* this */
            new com.sun.org.apache.bcel.internal.generic.TABLESWITCH
            dup
            aload 1 /* match */
            aload 2 /* targets */
            aload 3 /* target */
            invokespecial com.sun.org.apache.bcel.internal.generic.TABLESWITCH.<init>:([I[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
            putfield com.sun.org.apache.bcel.internal.generic.SWITCH.instruction:Lcom/sun/org/apache/bcel/internal/generic/Select;
            goto 11
         5: .line 61
      StackMap locals: com.sun.org.apache.bcel.internal.generic.SWITCH int[] com.sun.org.apache.bcel.internal.generic.InstructionHandle[] com.sun.org.apache.bcel.internal.generic.InstructionHandle int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match_length:I
            iconst_1
            isub
            invokevirtual com.sun.org.apache.bcel.internal.generic.SWITCH.sort:(II)V
         6: .line 63
            aload 0 /* this */
            iload 4 /* max_gap */
            invokevirtual com.sun.org.apache.bcel.internal.generic.SWITCH.matchIsOrdered:(I)Z
            ifeq 10
         7: .line 64
            aload 0 /* this */
            iload 4 /* max_gap */
            aload 3 /* target */
            invokevirtual com.sun.org.apache.bcel.internal.generic.SWITCH.fillup:(ILcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
         8: .line 66
            aload 0 /* this */
            new com.sun.org.apache.bcel.internal.generic.TABLESWITCH
            dup
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.targets:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            aload 3 /* target */
            invokespecial com.sun.org.apache.bcel.internal.generic.TABLESWITCH.<init>:([I[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
            putfield com.sun.org.apache.bcel.internal.generic.SWITCH.instruction:Lcom/sun/org/apache/bcel/internal/generic/Select;
         9: .line 67
            goto 11
        10: .line 69
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.sun.org.apache.bcel.internal.generic.LOOKUPSWITCH
            dup
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.targets:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            aload 3 /* target */
            invokespecial com.sun.org.apache.bcel.internal.generic.LOOKUPSWITCH.<init>:([I[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
            putfield com.sun.org.apache.bcel.internal.generic.SWITCH.instruction:Lcom/sun/org/apache/bcel/internal/generic/Select;
        11: .line 71
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int max_gap
        end local 3 // com.sun.org.apache.bcel.internal.generic.InstructionHandle target
        end local 2 // com.sun.org.apache.bcel.internal.generic.InstructionHandle[] targets
        end local 1 // int[] match
        end local 0 // com.sun.org.apache.bcel.internal.generic.SWITCH this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lcom/sun/org/apache/bcel/internal/generic/SWITCH;
            0   12     1    match  [I
            0   12     2  targets  [Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            0   12     3   target  Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            0   12     4  max_gap  I
    MethodParameters:
         Name  Flags
      match    
      targets  
      target   
      max_gap  

  public void <init>(int[], com.sun.org.apache.bcel.internal.generic.InstructionHandle[], com.sun.org.apache.bcel.internal.generic.InstructionHandle);
    descriptor: ([I[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.org.apache.bcel.internal.generic.SWITCH this
        start local 1 // int[] match
        start local 2 // com.sun.org.apache.bcel.internal.generic.InstructionHandle[] targets
        start local 3 // com.sun.org.apache.bcel.internal.generic.InstructionHandle target
         0: .line 75
            aload 0 /* this */
            aload 1 /* match */
            aload 2 /* targets */
            aload 3 /* target */
            iconst_1
            invokespecial com.sun.org.apache.bcel.internal.generic.SWITCH.<init>:([I[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;I)V
         1: .line 76
            return
        end local 3 // com.sun.org.apache.bcel.internal.generic.InstructionHandle target
        end local 2 // com.sun.org.apache.bcel.internal.generic.InstructionHandle[] targets
        end local 1 // int[] match
        end local 0 // com.sun.org.apache.bcel.internal.generic.SWITCH this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/sun/org/apache/bcel/internal/generic/SWITCH;
            0    2     1    match  [I
            0    2     2  targets  [Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            0    2     3   target  Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
    MethodParameters:
         Name  Flags
      match    
      targets  
      target   

  private final void fillup(int, com.sun.org.apache.bcel.internal.generic.InstructionHandle);
    descriptor: (ILcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // com.sun.org.apache.bcel.internal.generic.SWITCH this
        start local 1 // int max_gap
        start local 2 // com.sun.org.apache.bcel.internal.generic.InstructionHandle target
         0: .line 79
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match_length:I
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match_length:I
            iload 1 /* max_gap */
            imul
            iadd
            istore 3 /* max_size */
        start local 3 // int max_size
         1: .line 80
            iload 3 /* max_size */
            newarray 10
            astore 4 /* m_vec */
        start local 4 // int[] m_vec
         2: .line 81
            iload 3 /* max_size */
            anewarray com.sun.org.apache.bcel.internal.generic.InstructionHandle
            astore 5 /* t_vec */
        start local 5 // com.sun.org.apache.bcel.internal.generic.InstructionHandle[] t_vec
         3: .line 82
            iconst_1
            istore 6 /* count */
        start local 6 // int count
         4: .line 84
            aload 4 /* m_vec */
            iconst_0
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            iconst_0
            iaload
            iastore
         5: .line 85
            aload 5 /* t_vec */
            iconst_0
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.targets:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            iconst_0
            aaload
            aastore
         6: .line 87
            iconst_1
            istore 7 /* i */
        start local 7 // int i
         7: goto 21
         8: .line 88
      StackMap locals: com.sun.org.apache.bcel.internal.generic.SWITCH int com.sun.org.apache.bcel.internal.generic.InstructionHandle int int[] com.sun.org.apache.bcel.internal.generic.InstructionHandle[] int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            iload 7 /* i */
            iconst_1
            isub
            iaload
            istore 8 /* prev */
        start local 8 // int prev
         9: .line 89
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            iload 7 /* i */
            iaload
            iload 8 /* prev */
            isub
            istore 9 /* gap */
        start local 9 // int gap
        10: .line 91
            iconst_1
            istore 10 /* j */
        start local 10 // int j
        11: goto 16
        12: .line 92
      StackMap locals: int int int
      StackMap stack:
            aload 4 /* m_vec */
            iload 6 /* count */
            iload 8 /* prev */
            iload 10 /* j */
            iadd
            iastore
        13: .line 93
            aload 5 /* t_vec */
            iload 6 /* count */
            aload 2 /* target */
            aastore
        14: .line 94
            iinc 6 /* count */ 1
        15: .line 91
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        16: iload 10 /* j */
            iload 9 /* gap */
            if_icmplt 12
        end local 10 // int j
        17: .line 97
            aload 4 /* m_vec */
            iload 6 /* count */
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            iload 7 /* i */
            iaload
            iastore
        18: .line 98
            aload 5 /* t_vec */
            iload 6 /* count */
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.targets:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            iload 7 /* i */
            aaload
            aastore
        19: .line 99
            iinc 6 /* count */ 1
        end local 9 // int gap
        end local 8 // int prev
        20: .line 87
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 7 /* i */
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match_length:I
            if_icmplt 8
        end local 7 // int i
        22: .line 102
            aload 0 /* this */
            iload 6 /* count */
            newarray 10
            putfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
        23: .line 103
            aload 0 /* this */
            iload 6 /* count */
            anewarray com.sun.org.apache.bcel.internal.generic.InstructionHandle
            putfield com.sun.org.apache.bcel.internal.generic.SWITCH.targets:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
        24: .line 105
            aload 4 /* m_vec */
            iconst_0
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            iconst_0
            iload 6 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        25: .line 106
            aload 5 /* t_vec */
            iconst_0
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.targets:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            iconst_0
            iload 6 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        26: .line 107
            return
        end local 6 // int count
        end local 5 // com.sun.org.apache.bcel.internal.generic.InstructionHandle[] t_vec
        end local 4 // int[] m_vec
        end local 3 // int max_size
        end local 2 // com.sun.org.apache.bcel.internal.generic.InstructionHandle target
        end local 1 // int max_gap
        end local 0 // com.sun.org.apache.bcel.internal.generic.SWITCH this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lcom/sun/org/apache/bcel/internal/generic/SWITCH;
            0   27     1   max_gap  I
            0   27     2    target  Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            1   27     3  max_size  I
            2   27     4     m_vec  [I
            3   27     5     t_vec  [Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            4   27     6     count  I
            7   22     7         i  I
            9   20     8      prev  I
           10   20     9       gap  I
           11   17    10         j  I
    MethodParameters:
         Name  Flags
      max_gap  
      target   

  private final void sort(int, int);
    descriptor: (II)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // com.sun.org.apache.bcel.internal.generic.SWITCH this
        start local 1 // int l
        start local 2 // int r
         0: .line 113
            iload 1 /* l */
            istore 3 /* i */
        start local 3 // int i
         1: iload 2 /* r */
            istore 4 /* j */
        start local 4 // int j
         2: .line 114
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            iload 1 /* l */
            iload 2 /* r */
            iadd
            iconst_2
            idiv
            iaload
            istore 6 /* m */
        start local 6 // int m
         3: .line 118
            goto 5
      StackMap locals: com.sun.org.apache.bcel.internal.generic.SWITCH int int int int top int
      StackMap stack:
         4: iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            iload 3 /* i */
            iaload
            iload 6 /* m */
            if_icmplt 4
         6: .line 119
            goto 8
      StackMap locals:
      StackMap stack:
         7: iinc 4 /* j */ -1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* m */
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            iload 4 /* j */
            iaload
            if_icmplt 7
         9: .line 121
            iload 3 /* i */
            iload 4 /* j */
            if_icmpgt 15
        10: .line 122
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            iload 3 /* i */
            iaload
            istore 5 /* h */
        start local 5 // int h
        11: aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            iload 4 /* j */
            iaload
            iastore
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            iload 4 /* j */
            iload 5 /* h */
            iastore
        12: .line 123
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.targets:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            iload 3 /* i */
            aaload
            astore 7 /* h2 */
        start local 7 // com.sun.org.apache.bcel.internal.generic.InstructionHandle h2
        13: aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.targets:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.targets:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            iload 4 /* j */
            aaload
            aastore
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.targets:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            iload 4 /* j */
            aload 7 /* h2 */
            aastore
        14: .line 124
            iinc 3 /* i */ 1
            iinc 4 /* j */ -1
        end local 7 // com.sun.org.apache.bcel.internal.generic.InstructionHandle h2
        end local 5 // int h
        15: .line 126
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 4 /* j */
        16: .line 117
            if_icmple 5
        17: .line 128
            iload 1 /* l */
            iload 4 /* j */
            if_icmpge 18
            aload 0 /* this */
            iload 1 /* l */
            iload 4 /* j */
            invokevirtual com.sun.org.apache.bcel.internal.generic.SWITCH.sort:(II)V
        18: .line 129
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* r */
            if_icmpge 19
            aload 0 /* this */
            iload 3 /* i */
            iload 2 /* r */
            invokevirtual com.sun.org.apache.bcel.internal.generic.SWITCH.sort:(II)V
        19: .line 130
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int m
        end local 4 // int j
        end local 3 // int i
        end local 2 // int r
        end local 1 // int l
        end local 0 // com.sun.org.apache.bcel.internal.generic.SWITCH this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lcom/sun/org/apache/bcel/internal/generic/SWITCH;
            0   20     1     l  I
            0   20     2     r  I
            1   20     3     i  I
            2   20     4     j  I
           11   15     5     h  I
            3   20     6     m  I
           13   15     7    h2  Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
    MethodParameters:
      Name  Flags
      l     
      r     

  private final boolean matchIsOrdered(int);
    descriptor: (I)Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.org.apache.bcel.internal.generic.SWITCH this
        start local 1 // int max_gap
         0: .line 136
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 137
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            iload 2 /* i */
            iaload
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match:[I
            iload 2 /* i */
            iconst_1
            isub
            iaload
            isub
            iload 1 /* max_gap */
            if_icmple 4
         3: .line 138
            iconst_0
            ireturn
         4: .line 136
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.match_length:I
            if_icmplt 2
        end local 2 // int i
         6: .line 140
            iconst_1
            ireturn
        end local 1 // int max_gap
        end local 0 // com.sun.org.apache.bcel.internal.generic.SWITCH this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lcom/sun/org/apache/bcel/internal/generic/SWITCH;
            0    7     1  max_gap  I
            1    6     2        i  I
    MethodParameters:
         Name  Flags
      max_gap  

  public final com.sun.org.apache.bcel.internal.generic.InstructionList getInstructionList();
    descriptor: ()Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.org.apache.bcel.internal.generic.SWITCH this
         0: .line 144
            new com.sun.org.apache.bcel.internal.generic.InstructionList
            dup
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.instruction:Lcom/sun/org/apache/bcel/internal/generic/Select;
            invokespecial com.sun.org.apache.bcel.internal.generic.InstructionList.<init>:(Lcom/sun/org/apache/bcel/internal/generic/BranchInstruction;)V
            areturn
        end local 0 // com.sun.org.apache.bcel.internal.generic.SWITCH this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/bcel/internal/generic/SWITCH;

  public final com.sun.org.apache.bcel.internal.generic.Instruction getInstruction();
    descriptor: ()Lcom/sun/org/apache/bcel/internal/generic/Instruction;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.bcel.internal.generic.SWITCH this
         0: .line 148
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.generic.SWITCH.instruction:Lcom/sun/org/apache/bcel/internal/generic/Select;
            areturn
        end local 0 // com.sun.org.apache.bcel.internal.generic.SWITCH this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/bcel/internal/generic/SWITCH;
}
SourceFile: "SWITCH.java"