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

  private org.aspectj.apache.bcel.generic.InstructionHandle[] targets;
    descriptor: [Lorg/aspectj/apache/bcel/generic/InstructionHandle;
    flags: (0x0002) ACC_PRIVATE

  private org.aspectj.apache.bcel.generic.InstructionSelect instruction;
    descriptor: Lorg/aspectj/apache/bcel/generic/InstructionSelect;
    flags: (0x0002) ACC_PRIVATE

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

  public void <init>(int[], org.aspectj.apache.bcel.generic.InstructionHandle[], org.aspectj.apache.bcel.generic.InstructionHandle, int);
    descriptor: ([I[Lorg/aspectj/apache/bcel/generic/InstructionHandle;Lorg/aspectj/apache/bcel/generic/InstructionHandle;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.aspectj.apache.bcel.generic.SwitchBuilder this
        start local 1 // int[] match
        start local 2 // org.aspectj.apache.bcel.generic.InstructionHandle[] targets
        start local 3 // org.aspectj.apache.bcel.generic.InstructionHandle target
        start local 4 // int max_gap
         0: .line 86
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 87
            aload 0 /* this */
            aload 1 /* match */
            invokevirtual int[].clone:()Ljava/lang/Object;
            checkcast int[]
            putfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
         2: .line 88
            aload 0 /* this */
            aload 2 /* targets */
            invokevirtual org.aspectj.apache.bcel.generic.InstructionHandle[].clone:()Ljava/lang/Object;
            checkcast org.aspectj.apache.bcel.generic.InstructionHandle[]
            putfield org.aspectj.apache.bcel.generic.SwitchBuilder.targets:[Lorg/aspectj/apache/bcel/generic/InstructionHandle;
         3: .line 90
            aload 0 /* this */
            aload 1 /* match */
            arraylength
            dup_x1
            putfield org.aspectj.apache.bcel.generic.SwitchBuilder.match_length:I
            iconst_2
            if_icmpge 9
         4: .line 91
            aload 1 /* match */
            arraylength
            ifne 7
         5: .line 92
            aload 0 /* this */
            new org.aspectj.apache.bcel.generic.LOOKUPSWITCH
            dup
            aload 1 /* match */
            aload 2 /* targets */
            aload 3 /* target */
            invokespecial org.aspectj.apache.bcel.generic.LOOKUPSWITCH.<init>:([I[Lorg/aspectj/apache/bcel/generic/InstructionHandle;Lorg/aspectj/apache/bcel/generic/InstructionHandle;)V
            putfield org.aspectj.apache.bcel.generic.SwitchBuilder.instruction:Lorg/aspectj/apache/bcel/generic/InstructionSelect;
         6: .line 93
            goto 15
         7: .line 94
      StackMap locals: org.aspectj.apache.bcel.generic.SwitchBuilder int[] org.aspectj.apache.bcel.generic.InstructionHandle[] org.aspectj.apache.bcel.generic.InstructionHandle int
      StackMap stack:
            aload 0 /* this */
            new org.aspectj.apache.bcel.generic.TABLESWITCH
            dup
            aload 1 /* match */
            aload 2 /* targets */
            aload 3 /* target */
            invokespecial org.aspectj.apache.bcel.generic.TABLESWITCH.<init>:([I[Lorg/aspectj/apache/bcel/generic/InstructionHandle;Lorg/aspectj/apache/bcel/generic/InstructionHandle;)V
            putfield org.aspectj.apache.bcel.generic.SwitchBuilder.instruction:Lorg/aspectj/apache/bcel/generic/InstructionSelect;
         8: .line 95
            goto 15
         9: .line 97
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match_length:I
            iconst_1
            isub
            invokevirtual org.aspectj.apache.bcel.generic.SwitchBuilder.sort:(II)V
        10: .line 99
            aload 0 /* this */
            iload 4 /* max_gap */
            invokevirtual org.aspectj.apache.bcel.generic.SwitchBuilder.matchIsOrdered:(I)Z
            ifeq 14
        11: .line 100
            aload 0 /* this */
            iload 4 /* max_gap */
            aload 3 /* target */
            invokevirtual org.aspectj.apache.bcel.generic.SwitchBuilder.fillup:(ILorg/aspectj/apache/bcel/generic/InstructionHandle;)V
        12: .line 102
            aload 0 /* this */
            new org.aspectj.apache.bcel.generic.TABLESWITCH
            dup
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.targets:[Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            aload 3 /* target */
            invokespecial org.aspectj.apache.bcel.generic.TABLESWITCH.<init>:([I[Lorg/aspectj/apache/bcel/generic/InstructionHandle;Lorg/aspectj/apache/bcel/generic/InstructionHandle;)V
            putfield org.aspectj.apache.bcel.generic.SwitchBuilder.instruction:Lorg/aspectj/apache/bcel/generic/InstructionSelect;
        13: .line 103
            goto 15
        14: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.aspectj.apache.bcel.generic.LOOKUPSWITCH
            dup
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.targets:[Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            aload 3 /* target */
            invokespecial org.aspectj.apache.bcel.generic.LOOKUPSWITCH.<init>:([I[Lorg/aspectj/apache/bcel/generic/InstructionHandle;Lorg/aspectj/apache/bcel/generic/InstructionHandle;)V
            putfield org.aspectj.apache.bcel.generic.SwitchBuilder.instruction:Lorg/aspectj/apache/bcel/generic/InstructionSelect;
        15: .line 107
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int max_gap
        end local 3 // org.aspectj.apache.bcel.generic.InstructionHandle target
        end local 2 // org.aspectj.apache.bcel.generic.InstructionHandle[] targets
        end local 1 // int[] match
        end local 0 // org.aspectj.apache.bcel.generic.SwitchBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/aspectj/apache/bcel/generic/SwitchBuilder;
            0   16     1    match  [I
            0   16     2  targets  [Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            0   16     3   target  Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            0   16     4  max_gap  I
    MethodParameters:
         Name  Flags
      match    
      targets  
      target   
      max_gap  

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

  private final void fillup(int, org.aspectj.apache.bcel.generic.InstructionHandle);
    descriptor: (ILorg/aspectj/apache/bcel/generic/InstructionHandle;)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // org.aspectj.apache.bcel.generic.SwitchBuilder this
        start local 1 // int max_gap
        start local 2 // org.aspectj.apache.bcel.generic.InstructionHandle target
         0: .line 114
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match_length:I
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match_length:I
            iload 1 /* max_gap */
            imul
            iadd
            istore 3 /* max_size */
        start local 3 // int max_size
         1: .line 115
            iload 3 /* max_size */
            newarray 10
            astore 4 /* m_vec */
        start local 4 // int[] m_vec
         2: .line 116
            iload 3 /* max_size */
            anewarray org.aspectj.apache.bcel.generic.InstructionHandle
            astore 5 /* t_vec */
        start local 5 // org.aspectj.apache.bcel.generic.InstructionHandle[] t_vec
         3: .line 117
            iconst_1
            istore 6 /* count */
        start local 6 // int count
         4: .line 119
            aload 4 /* m_vec */
            iconst_0
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            iconst_0
            iaload
            iastore
         5: .line 120
            aload 5 /* t_vec */
            iconst_0
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.targets:[Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            iconst_0
            aaload
            aastore
         6: .line 122
            iconst_1
            istore 7 /* i */
        start local 7 // int i
         7: goto 21
         8: .line 123
      StackMap locals: org.aspectj.apache.bcel.generic.SwitchBuilder int org.aspectj.apache.bcel.generic.InstructionHandle int int[] org.aspectj.apache.bcel.generic.InstructionHandle[] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            iload 7 /* i */
            iconst_1
            isub
            iaload
            istore 8 /* prev */
        start local 8 // int prev
         9: .line 124
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            iload 7 /* i */
            iaload
            iload 8 /* prev */
            isub
            istore 9 /* gap */
        start local 9 // int gap
        10: .line 126
            iconst_1
            istore 10 /* j */
        start local 10 // int j
        11: goto 16
        12: .line 127
      StackMap locals: int int int
      StackMap stack:
            aload 4 /* m_vec */
            iload 6 /* count */
            iload 8 /* prev */
            iload 10 /* j */
            iadd
            iastore
        13: .line 128
            aload 5 /* t_vec */
            iload 6 /* count */
            aload 2 /* target */
            aastore
        14: .line 129
            iinc 6 /* count */ 1
        15: .line 126
            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 132
            aload 4 /* m_vec */
            iload 6 /* count */
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            iload 7 /* i */
            iaload
            iastore
        18: .line 133
            aload 5 /* t_vec */
            iload 6 /* count */
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.targets:[Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            iload 7 /* i */
            aaload
            aastore
        19: .line 134
            iinc 6 /* count */ 1
        end local 9 // int gap
        end local 8 // int prev
        20: .line 122
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 7 /* i */
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match_length:I
            if_icmplt 8
        end local 7 // int i
        22: .line 137
            aload 0 /* this */
            iload 6 /* count */
            newarray 10
            putfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
        23: .line 138
            aload 0 /* this */
            iload 6 /* count */
            anewarray org.aspectj.apache.bcel.generic.InstructionHandle
            putfield org.aspectj.apache.bcel.generic.SwitchBuilder.targets:[Lorg/aspectj/apache/bcel/generic/InstructionHandle;
        24: .line 140
            aload 4 /* m_vec */
            iconst_0
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            iconst_0
            iload 6 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        25: .line 141
            aload 5 /* t_vec */
            iconst_0
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.targets:[Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            iconst_0
            iload 6 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        26: .line 142
            return
        end local 6 // int count
        end local 5 // org.aspectj.apache.bcel.generic.InstructionHandle[] t_vec
        end local 4 // int[] m_vec
        end local 3 // int max_size
        end local 2 // org.aspectj.apache.bcel.generic.InstructionHandle target
        end local 1 // int max_gap
        end local 0 // org.aspectj.apache.bcel.generic.SwitchBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lorg/aspectj/apache/bcel/generic/SwitchBuilder;
            0   27     1   max_gap  I
            0   27     2    target  Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            1   27     3  max_size  I
            2   27     4     m_vec  [I
            3   27     5     t_vec  [Lorg/aspectj/apache/bcel/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 // org.aspectj.apache.bcel.generic.SwitchBuilder this
        start local 1 // int l
        start local 2 // int r
         0: .line 148
            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 149
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            iload 1 /* l */
            iload 2 /* r */
            iadd
            iconst_2
            idiv
            iaload
            istore 6 /* m */
        start local 6 // int m
         3: .line 153
            goto 5
      StackMap locals: org.aspectj.apache.bcel.generic.SwitchBuilder int int int int top int
      StackMap stack:
         4: iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            iload 3 /* i */
            iaload
            iload 6 /* m */
            if_icmplt 4
         6: .line 154
            goto 8
      StackMap locals:
      StackMap stack:
         7: iinc 4 /* j */ -1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* m */
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            iload 4 /* j */
            iaload
            if_icmplt 7
         9: .line 156
            iload 3 /* i */
            iload 4 /* j */
            if_icmpgt 15
        10: .line 157
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            iload 3 /* i */
            iaload
            istore 5 /* h */
        start local 5 // int h
        11: aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            iload 3 /* i */
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            iload 4 /* j */
            iaload
            iastore
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            iload 4 /* j */
            iload 5 /* h */
            iastore
        12: .line 158
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.targets:[Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            iload 3 /* i */
            aaload
            astore 7 /* h2 */
        start local 7 // org.aspectj.apache.bcel.generic.InstructionHandle h2
        13: aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.targets:[Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            iload 3 /* i */
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.targets:[Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            iload 4 /* j */
            aaload
            aastore
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.targets:[Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            iload 4 /* j */
            aload 7 /* h2 */
            aastore
        14: .line 159
            iinc 3 /* i */ 1
            iinc 4 /* j */ -1
        end local 7 // org.aspectj.apache.bcel.generic.InstructionHandle h2
        end local 5 // int h
        15: .line 161
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 4 /* j */
        16: .line 152
            if_icmple 5
        17: .line 163
            iload 1 /* l */
            iload 4 /* j */
            if_icmpge 18
            aload 0 /* this */
            iload 1 /* l */
            iload 4 /* j */
            invokevirtual org.aspectj.apache.bcel.generic.SwitchBuilder.sort:(II)V
        18: .line 164
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* r */
            if_icmpge 19
            aload 0 /* this */
            iload 3 /* i */
            iload 2 /* r */
            invokevirtual org.aspectj.apache.bcel.generic.SwitchBuilder.sort:(II)V
        19: .line 165
      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 // org.aspectj.apache.bcel.generic.SwitchBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lorg/aspectj/apache/bcel/generic/SwitchBuilder;
            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  Lorg/aspectj/apache/bcel/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=4, args_size=2
        start local 0 // org.aspectj.apache.bcel.generic.SwitchBuilder this
        start local 1 // int max_gap
         0: .line 171
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         1: goto 6
         2: .line 172
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            iload 2 /* i */
            iaload
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match:[I
            iload 2 /* i */
            iconst_1
            isub
            iaload
            isub
            istore 3 /* diff */
        start local 3 // int diff
         3: .line 173
            iload 3 /* diff */
            iload 1 /* max_gap */
            if_icmpgt 4
            iload 3 /* diff */
            ifge 5
      StackMap locals: int
      StackMap stack:
         4: iconst_0
            ireturn
        end local 3 // int diff
         5: .line 171
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.match_length:I
            if_icmplt 2
        end local 2 // int i
         7: .line 175
            iconst_1
            ireturn
        end local 1 // int max_gap
        end local 0 // org.aspectj.apache.bcel.generic.SwitchBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/aspectj/apache/bcel/generic/SwitchBuilder;
            0    8     1  max_gap  I
            1    7     2        i  I
            3    5     3     diff  I
    MethodParameters:
         Name  Flags
      max_gap  

  public final org.aspectj.apache.bcel.generic.InstructionSelect getInstruction();
    descriptor: ()Lorg/aspectj/apache/bcel/generic/InstructionSelect;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.apache.bcel.generic.SwitchBuilder this
         0: .line 179
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.generic.SwitchBuilder.instruction:Lorg/aspectj/apache/bcel/generic/InstructionSelect;
            areturn
        end local 0 // org.aspectj.apache.bcel.generic.SwitchBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/apache/bcel/generic/SwitchBuilder;
}
SourceFile: "SwitchBuilder.java"