public class com.sun.org.apache.bcel.internal.util.InstructionFinder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.org.apache.bcel.internal.util.InstructionFinder
  super_class: java.lang.Object
{
  private static final int OFFSET;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 32767

  private static final int NO_OPCODES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  private static final java.util.HashMap map;
    descriptor: Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private java.lang.String il_string;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=4, args_size=0
         0: .line 61
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
         1: .line 282
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "arithmeticinstruction"
            ldc "(irem|lrem|iand|ior|ineg|isub|lneg|fneg|fmul|ldiv|fadd|lxor|frem|idiv|land|ixor|ishr|fsub|lshl|fdiv|iadd|lor|dmul|lsub|ishl|imul|lmul|lushr|dneg|iushr|lshr|ddiv|drem|dadd|ladd|dsub)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 283
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "invokeinstruction"
            ldc "(invokevirtual|invokeinterface|invokestatic|invokespecial)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 284
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "arrayinstruction"
            ldc "(baload|aastore|saload|caload|fastore|lastore|iaload|castore|iastore|aaload|bastore|sastore|faload|laload|daload|dastore)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 285
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "gotoinstruction"
            ldc "(goto|goto_w)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 286
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "conversioninstruction"
            ldc "(d2l|l2d|i2s|d2i|l2i|i2b|l2f|d2f|f2i|i2d|i2l|f2d|i2c|f2l|i2f)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 287
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "localvariableinstruction"
            ldc "(fstore|iinc|lload|dstore|dload|iload|aload|astore|istore|fload|lstore)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 288
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "loadinstruction"
            ldc "(fload|dload|lload|iload|aload)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 289
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "fieldinstruction"
            ldc "(getfield|putstatic|getstatic|putfield)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 290
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "cpinstruction"
            ldc "(ldc2_w|invokeinterface|multianewarray|putstatic|instanceof|getstatic|checkcast|getfield|invokespecial|ldc_w|invokestatic|invokevirtual|putfield|ldc|new|anewarray)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 291
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "stackinstruction"
            ldc "(dup2|swap|dup2_x2|pop|pop2|dup|dup2_x1|dup_x2|dup_x1)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 292
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "branchinstruction"
            ldc "(ifle|if_acmpne|if_icmpeq|if_acmpeq|ifnonnull|goto_w|iflt|ifnull|if_icmpne|tableswitch|if_icmple|ifeq|if_icmplt|jsr_w|if_icmpgt|ifgt|jsr|goto|ifne|ifge|lookupswitch|if_icmpge)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 293
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "returninstruction"
            ldc "(lreturn|ireturn|freturn|dreturn|areturn|return)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 294
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "storeinstruction"
            ldc "(istore|fstore|dstore|astore|lstore)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 295
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "select"
            ldc "(tableswitch|lookupswitch)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 296
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "ifinstruction"
            ldc "(ifeq|ifgt|if_icmpne|if_icmpeq|ifge|ifnull|ifne|if_icmple|if_icmpge|if_acmpeq|if_icmplt|if_acmpne|ifnonnull|iflt|if_icmpgt|ifle)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 297
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "jsrinstruction"
            ldc "(jsr|jsr_w)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 298
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "variablelengthinstruction"
            ldc "(tableswitch|jsr|goto|lookupswitch)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 299
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "unconditionalbranch"
            ldc "(goto|jsr|jsr_w|athrow|goto_w)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 300
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "constantpushinstruction"
            ldc "(dconst|bipush|sipush|fconst|iconst|lconst)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 301
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "typedinstruction"
            ldc "(imul|lsub|aload|fload|lor|new|aaload|fcmpg|iand|iaload|lrem|idiv|d2l|isub|dcmpg|dastore|ret|f2d|f2i|drem|iinc|i2c|checkcast|frem|lreturn|astore|lushr|daload|dneg|fastore|istore|lshl|ldiv|lstore|areturn|ishr|ldc_w|invokeinterface|aastore|lxor|ishl|l2d|i2f|return|faload|sipush|iushr|caload|instanceof|invokespecial|putfield|fmul|ireturn|laload|d2f|lneg|ixor|i2l|fdiv|lastore|multianewarray|i2b|getstatic|i2d|putstatic|fcmpl|saload|ladd|irem|dload|jsr_w|dconst|dcmpl|fsub|freturn|ldc|aconst_null|castore|lmul|ldc2_w|dadd|iconst|f2l|ddiv|dstore|land|jsr|anewarray|dmul|bipush|dsub|sastore|d2i|i2s|lshr|iadd|l2i|lload|bastore|fstore|fneg|iload|fadd|baload|fconst|ior|ineg|dreturn|l2f|lconst|getfield|invokevirtual|invokestatic|iastore)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 302
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "popinstruction"
            ldc "(fstore|dstore|pop|pop2|astore|putstatic|istore|lstore)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 303
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "allocationinstruction"
            ldc "(multianewarray|new|anewarray|newarray)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 304
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "indexedinstruction"
            ldc "(lload|lstore|fload|ldc2_w|invokeinterface|multianewarray|astore|dload|putstatic|instanceof|getstatic|checkcast|getfield|invokespecial|dstore|istore|iinc|ldc_w|ret|fstore|invokestatic|iload|putfield|invokevirtual|ldc|new|aload|anewarray)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 305
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "pushinstruction"
            ldc "(dup|lload|dup2|bipush|fload|ldc2_w|sipush|lconst|fconst|dload|getstatic|ldc_w|aconst_null|dconst|iload|ldc|iconst|aload)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 306
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "stackproducer"
            ldc "(imul|lsub|aload|fload|lor|new|aaload|fcmpg|iand|iaload|lrem|idiv|d2l|isub|dcmpg|dup|f2d|f2i|drem|i2c|checkcast|frem|lushr|daload|dneg|lshl|ldiv|ishr|ldc_w|invokeinterface|lxor|ishl|l2d|i2f|faload|sipush|iushr|caload|instanceof|invokespecial|fmul|laload|d2f|lneg|ixor|i2l|fdiv|getstatic|i2b|swap|i2d|dup2|fcmpl|saload|ladd|irem|dload|jsr_w|dconst|dcmpl|fsub|ldc|arraylength|aconst_null|tableswitch|lmul|ldc2_w|iconst|dadd|f2l|ddiv|land|jsr|anewarray|dmul|bipush|dsub|d2i|newarray|i2s|lshr|iadd|lload|l2i|fneg|iload|fadd|baload|fconst|lookupswitch|ior|ineg|lconst|l2f|getfield|invokevirtual|invokestatic)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 307
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "stackconsumer"
            ldc "(imul|lsub|lor|iflt|fcmpg|if_icmpgt|iand|ifeq|if_icmplt|lrem|ifnonnull|idiv|d2l|isub|dcmpg|dastore|if_icmpeq|f2d|f2i|drem|i2c|checkcast|frem|lreturn|astore|lushr|pop2|monitorexit|dneg|fastore|istore|lshl|ldiv|lstore|areturn|if_icmpge|ishr|monitorenter|invokeinterface|aastore|lxor|ishl|l2d|i2f|return|iushr|instanceof|invokespecial|fmul|ireturn|d2f|lneg|ixor|pop|i2l|ifnull|fdiv|lastore|i2b|if_acmpeq|ifge|swap|i2d|putstatic|fcmpl|ladd|irem|dcmpl|fsub|freturn|ifgt|castore|lmul|dadd|f2l|ddiv|dstore|land|if_icmpne|if_acmpne|dmul|dsub|sastore|ifle|d2i|i2s|lshr|iadd|l2i|bastore|fstore|fneg|fadd|ior|ineg|ifne|dreturn|l2f|if_icmple|getfield|invokevirtual|invokestatic|iastore)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 308
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "exceptionthrower"
            ldc "(irem|lrem|laload|putstatic|baload|dastore|areturn|getstatic|ldiv|anewarray|iastore|castore|idiv|saload|lastore|fastore|putfield|lreturn|caload|getfield|return|aastore|freturn|newarray|instanceof|multianewarray|athrow|faload|iaload|aaload|dreturn|monitorenter|checkcast|bastore|arraylength|new|invokevirtual|sastore|ldc_w|ireturn|invokespecial|monitorexit|invokeinterface|ldc|invokestatic|daload)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 309
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "loadclass"
            ldc "(multianewarray|invokeinterface|instanceof|invokespecial|putfield|checkcast|putstatic|invokevirtual|new|getstatic|invokestatic|getfield|anewarray)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 310
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "instructiontargeter"
            ldc "(ifle|if_acmpne|if_icmpeq|if_acmpeq|ifnonnull|goto_w|iflt|ifnull|if_icmpne|tableswitch|if_icmple|ifeq|if_icmplt|jsr_w|if_icmpgt|ifgt|jsr|goto|ifne|ifge|lookupswitch|if_icmpge)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        30: .line 313
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "if_icmp"
            ldc "(if_icmpne|if_icmpeq|if_icmple|if_icmpge|if_icmplt|if_icmpgt)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 314
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "if_acmp"
            ldc "(if_acmpeq|if_acmpne)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 315
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "if"
            ldc "(ifeq|ifne|iflt|ifge|ifgt|ifle)"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 318
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "iconst"
            iconst_3
            bipush 8
            iconst_2
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 319
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "lconst"
            new java.lang.String
            dup
            iconst_5
            newarray 5
            dup
            iconst_0
            bipush 40
            castore
            dup
            iconst_1
            bipush 9
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.makeChar:(S)C
            castore
            dup
            iconst_2
            bipush 124
            castore
            dup
            iconst_3
        35: .line 320
            bipush 10
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.makeChar:(S)C
            castore
            dup
            iconst_4
            bipush 41
            castore
            invokespecial java.lang.String.<init>:([C)V
        36: .line 319
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        37: .line 321
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "dconst"
            new java.lang.String
            dup
            iconst_5
            newarray 5
            dup
            iconst_0
            bipush 40
            castore
            dup
            iconst_1
            bipush 14
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.makeChar:(S)C
            castore
            dup
            iconst_2
            bipush 124
            castore
            dup
            iconst_3
        38: .line 322
            bipush 15
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.makeChar:(S)C
            castore
            dup
            iconst_4
            bipush 41
            castore
            invokespecial java.lang.String.<init>:([C)V
        39: .line 321
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        40: .line 323
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "fconst"
            new java.lang.String
            dup
            iconst_5
            newarray 5
            dup
            iconst_0
            bipush 40
            castore
            dup
            iconst_1
            bipush 11
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.makeChar:(S)C
            castore
            dup
            iconst_2
            bipush 124
            castore
            dup
            iconst_3
        41: .line 324
            bipush 12
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.makeChar:(S)C
            castore
            dup
            iconst_4
            bipush 41
            castore
            invokespecial java.lang.String.<init>:([C)V
        42: .line 323
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        43: .line 326
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "iload"
            bipush 26
            bipush 29
            bipush 21
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        44: .line 327
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "dload"
            bipush 38
            bipush 41
            bipush 24
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        45: .line 328
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "fload"
            bipush 34
            bipush 37
            bipush 23
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        46: .line 329
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "aload"
            bipush 42
            bipush 45
            bipush 25
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        47: .line 331
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "istore"
            bipush 59
            bipush 62
            bipush 54
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        48: .line 332
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "dstore"
            bipush 71
            bipush 74
            bipush 57
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        49: .line 333
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "fstore"
            bipush 67
            bipush 70
            bipush 56
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        50: .line 334
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "astore"
            bipush 75
            bipush 78
            bipush 58
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        51: .line 338
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 0 /* i */
        start local 0 // java.util.Iterator i
        52: goto 58
        53: .line 339
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* key */
        start local 1 // java.lang.String key
        54: .line 340
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            aload 1 /* key */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* value */
        start local 2 // java.lang.String value
        55: .line 342
            aload 2 /* value */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* ch */
        start local 3 // char ch
        56: .line 343
            iload 3 /* ch */
            sipush 32767
            if_icmpge 58
        57: .line 344
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            aload 1 /* key */
            aload 2 /* value */
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.compilePattern:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // char ch
        end local 2 // java.lang.String value
        end local 1 // java.lang.String key
        58: .line 338
      StackMap locals:
      StackMap stack:
            aload 0 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 53
        end local 0 // java.util.Iterator i
        59: .line 350
            new java.lang.StringBuffer
            dup
            ldc "("
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 0 /* buf */
        start local 0 // java.lang.StringBuffer buf
        60: .line 352
            iconst_0
            istore 1 /* i */
        start local 1 // short i
        61: goto 67
        62: .line 353
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            getstatic com.sun.org.apache.bcel.internal.Constants.NO_OF_OPERANDS:[S
            iload 1 /* i */
            saload
            iconst_m1
            if_icmpeq 66
        63: .line 354
            aload 0 /* buf */
            iload 1 /* i */
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.makeChar:(S)C
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        64: .line 356
            iload 1 /* i */
            sipush 255
            if_icmpge 66
        65: .line 357
            aload 0 /* buf */
            bipush 124
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        66: .line 352
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            iconst_1
            iadd
            i2s
            istore 1 /* i */
      StackMap locals:
      StackMap stack:
        67: iload 1 /* i */
            sipush 256
            if_icmplt 62
        end local 1 // short i
        68: .line 360
            aload 0 /* buf */
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        69: .line 362
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            ldc "instruction"
            aload 0 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 0 // java.lang.StringBuffer buf
        70: .line 363
            return
      LocalVariableTable:
        Start  End  Slot   Name  Signature
           52   59     0      i  Ljava/util/Iterator;
           54   58     1    key  Ljava/lang/String;
           55   58     2  value  Ljava/lang/String;
           56   58     3     ch  C
           60   70     0    buf  Ljava/lang/StringBuffer;
           61   68     1      i  S

  public void <init>(com.sun.org.apache.bcel.internal.generic.InstructionList);
    descriptor: (Lcom/sun/org/apache/bcel/internal/generic/InstructionList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
        start local 1 // com.sun.org.apache.bcel.internal.generic.InstructionList il
         0: .line 70
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 71
            aload 0 /* this */
            aload 1 /* il */
            putfield com.sun.org.apache.bcel.internal.util.InstructionFinder.il:Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
         2: .line 72
            aload 0 /* this */
            invokevirtual com.sun.org.apache.bcel.internal.util.InstructionFinder.reread:()V
         3: .line 73
            return
        end local 1 // com.sun.org.apache.bcel.internal.generic.InstructionList il
        end local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/org/apache/bcel/internal/util/InstructionFinder;
            0    4     1    il  Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
    MethodParameters:
      Name  Flags
      il    

  public final void reread();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
         0: .line 79
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.util.InstructionFinder.il:Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
            invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionList.getLength:()I
            istore 1 /* size */
        start local 1 // int size
         1: .line 80
            iload 1 /* size */
            newarray 5
            astore 2 /* buf */
        start local 2 // char[] buf
         2: .line 81
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.util.InstructionFinder.il:Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
            invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionList.getInstructionHandles:()[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            putfield com.sun.org.apache.bcel.internal.util.InstructionFinder.handles:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
         3: .line 84
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 85
      StackMap locals: int char[] int
      StackMap stack:
            aload 2 /* buf */
            iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.util.InstructionFinder.handles:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            iload 3 /* i */
            aaload
            invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionHandle.getInstruction:()Lcom/sun/org/apache/bcel/internal/generic/Instruction;
            invokevirtual com.sun.org.apache.bcel.internal.generic.Instruction.getOpcode:()S
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.makeChar:(S)C
            castore
         6: .line 84
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 1 /* size */
            if_icmplt 5
        end local 3 // int i
         8: .line 87
            aload 0 /* this */
            new java.lang.String
            dup
            aload 2 /* buf */
            invokespecial java.lang.String.<init>:([C)V
            putfield com.sun.org.apache.bcel.internal.util.InstructionFinder.il_string:Ljava/lang/String;
         9: .line 88
            return
        end local 2 // char[] buf
        end local 1 // int size
        end local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/org/apache/bcel/internal/util/InstructionFinder;
            1   10     1  size  I
            2   10     2   buf  [C
            4    8     3     i  I

  private static final java.lang.String mapName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.lang.String pattern
         0: .line 97
            getstatic com.sun.org.apache.bcel.internal.util.InstructionFinder.map:Ljava/util/HashMap;
            aload 0 /* pattern */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* result */
        start local 1 // java.lang.String result
         1: .line 99
            aload 1 /* result */
            ifnull 3
         2: .line 100
            aload 1 /* result */
            areturn
         3: .line 102
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // short i
         4: goto 8
         5: .line 103
      StackMap locals: int
      StackMap stack:
            aload 0 /* pattern */
            getstatic com.sun.org.apache.bcel.internal.Constants.OPCODE_NAMES:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 104
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 2 /* i */
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.makeChar:(S)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         7: .line 102
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iconst_1
            iadd
            i2s
            istore 2 /* i */
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            sipush 256
            if_icmplt 5
        end local 2 // short i
         9: .line 106
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Instruction unknown: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* pattern */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String result
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0  pattern  Ljava/lang/String;
            1   10     1   result  Ljava/lang/String;
            4    9     2        i  S
    MethodParameters:
         Name  Flags
      pattern  

  private static final java.lang.String compilePattern(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // java.lang.String pattern
         0: .line 117
            aload 0 /* pattern */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 1 /* lower */
        start local 1 // java.lang.String lower
         1: .line 118
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuffer buf
         2: .line 119
            aload 0 /* pattern */
            invokevirtual java.lang.String.length:()I
            istore 3 /* size */
        start local 3 // int size
         3: .line 121
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 20
         5: .line 122
      StackMap locals: java.lang.String java.lang.String java.lang.StringBuffer int int
      StackMap stack:
            aload 1 /* lower */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* ch */
        start local 5 // char ch
         6: .line 124
            iload 5 /* ch */
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifeq 17
         7: .line 125
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 6 /* name */
        start local 6 // java.lang.StringBuffer name
         8: .line 127
            goto 12
         9: .line 128
      StackMap locals: int java.lang.StringBuffer
      StackMap stack:
            aload 6 /* name */
            iload 5 /* ch */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        10: .line 130
            iinc 4 /* i */ 1
            iload 4 /* i */
            iload 3 /* size */
            if_icmpge 14
        11: .line 131
            aload 1 /* lower */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* ch */
        12: .line 127
      StackMap locals:
      StackMap stack:
            iload 5 /* ch */
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifne 13
            iload 5 /* ch */
            bipush 95
            if_icmpne 14
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iload 3 /* size */
            if_icmplt 9
        14: .line 136
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ -1
        15: .line 138
            aload 2 /* buf */
            aload 6 /* name */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.mapName:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 6 // java.lang.StringBuffer name
        16: .line 139
            goto 19
      StackMap locals:
      StackMap stack:
        17: iload 5 /* ch */
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 19
        18: .line 140
            aload 2 /* buf */
            iload 5 /* ch */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 5 // char ch
        19: .line 121
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 4 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 4 // int i
        21: .line 143
            aload 2 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // int size
        end local 2 // java.lang.StringBuffer buf
        end local 1 // java.lang.String lower
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0  pattern  Ljava/lang/String;
            1   22     1    lower  Ljava/lang/String;
            2   22     2      buf  Ljava/lang/StringBuffer;
            3   22     3     size  I
            4   21     4        i  I
            6   19     5       ch  C
            8   16     6     name  Ljava/lang/StringBuffer;
    MethodParameters:
         Name  Flags
      pattern  

  private com.sun.org.apache.bcel.internal.generic.InstructionHandle[] getMatch(int, int);
    descriptor: (II)[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
        start local 1 // int matched_from
        start local 2 // int match_length
         0: .line 150
            iload 2 /* match_length */
            anewarray com.sun.org.apache.bcel.internal.generic.InstructionHandle
            astore 3 /* match */
        start local 3 // com.sun.org.apache.bcel.internal.generic.InstructionHandle[] match
         1: .line 151
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.util.InstructionFinder.handles:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            iload 1 /* matched_from */
            aload 3 /* match */
            iconst_0
            iload 2 /* match_length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 153
            aload 3 /* match */
            areturn
        end local 3 // com.sun.org.apache.bcel.internal.generic.InstructionHandle[] match
        end local 2 // int match_length
        end local 1 // int matched_from
        end local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/sun/org/apache/bcel/internal/util/InstructionFinder;
            0    3     1  matched_from  I
            0    3     2  match_length  I
            1    3     3         match  [Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
    MethodParameters:
              Name  Flags
      matched_from  
      match_length  

  public final java.util.Iterator search(java.lang.String, com.sun.org.apache.bcel.internal.generic.InstructionHandle, com.sun.org.apache.bcel.internal.util.InstructionFinder$CodeConstraint);
    descriptor: (Ljava/lang/String;Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;Lcom/sun/org/apache/bcel/internal/util/InstructionFinder$CodeConstraint;)Ljava/util/Iterator;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=13, args_size=4
        start local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
        start local 1 // java.lang.String pattern
        start local 2 // com.sun.org.apache.bcel.internal.generic.InstructionHandle from
        start local 3 // com.sun.org.apache.bcel.internal.util.InstructionFinder$CodeConstraint constraint
         0: .line 186
            aload 1 /* pattern */
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.compilePattern:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* search */
        start local 4 // java.lang.String search
         1: .line 187
            iconst_m1
            istore 5 /* start */
        start local 5 // int start
         2: .line 189
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 8
         4: .line 190
      StackMap locals: java.lang.String int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.util.InstructionFinder.handles:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            iload 6 /* i */
            aaload
            aload 2 /* from */
            if_acmpne 7
         5: .line 191
            iload 6 /* i */
            istore 5 /* start */
         6: .line 192
            goto 9
         7: .line 189
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.util.InstructionFinder.handles:[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            arraylength
            if_icmplt 4
        end local 6 // int i
         9: .line 196
      StackMap locals:
      StackMap stack:
            iload 5 /* start */
            iconst_m1
            if_icmpne 13
        10: .line 197
            new com.sun.org.apache.bcel.internal.generic.ClassGenException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Instruction handle "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* from */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        11: .line 198
            ldc " not found in instruction list."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 197
            invokespecial com.sun.org.apache.bcel.internal.generic.ClassGenException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 200
      StackMap locals:
      StackMap stack:
            aload 4 /* search */
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            astore 6 /* regex */
        start local 6 // java.util.regex.Pattern regex
        14: .line 201
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* matches */
        start local 7 // java.util.List matches
        15: .line 202
            aload 6 /* regex */
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.util.InstructionFinder.il_string:Ljava/lang/String;
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 8 /* matcher */
        start local 8 // java.util.regex.Matcher matcher
        16: .line 203
            goto 24
        17: .line 204
      StackMap locals: java.util.regex.Pattern java.util.List java.util.regex.Matcher
      StackMap stack:
            aload 8 /* matcher */
            invokevirtual java.util.regex.Matcher.start:()I
            istore 9 /* startExpr */
        start local 9 // int startExpr
        18: .line 205
            aload 8 /* matcher */
            invokevirtual java.util.regex.Matcher.end:()I
            istore 10 /* endExpr */
        start local 10 // int endExpr
        19: .line 206
            iload 10 /* endExpr */
            iload 9 /* startExpr */
            isub
            istore 11 /* lenExpr */
        start local 11 // int lenExpr
        20: .line 207
            aload 0 /* this */
            iload 9 /* startExpr */
            iload 11 /* lenExpr */
            invokevirtual com.sun.org.apache.bcel.internal.util.InstructionFinder.getMatch:(II)[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            astore 12 /* match */
        start local 12 // com.sun.org.apache.bcel.internal.generic.InstructionHandle[] match
        21: .line 209
            aload 3 /* constraint */
            ifnull 22
            aload 3 /* constraint */
            aload 12 /* match */
            invokeinterface com.sun.org.apache.bcel.internal.util.InstructionFinder$CodeConstraint.checkCode:([Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)Z
            ifeq 23
        22: .line 210
      StackMap locals: com.sun.org.apache.bcel.internal.util.InstructionFinder java.lang.String com.sun.org.apache.bcel.internal.generic.InstructionHandle com.sun.org.apache.bcel.internal.util.InstructionFinder$CodeConstraint java.lang.String int java.util.regex.Pattern java.util.List java.util.regex.Matcher int int int com.sun.org.apache.bcel.internal.generic.InstructionHandle[]
      StackMap stack:
            aload 7 /* matches */
            aload 12 /* match */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        23: .line 211
      StackMap locals:
      StackMap stack:
            iload 10 /* endExpr */
            istore 5 /* start */
        end local 12 // com.sun.org.apache.bcel.internal.generic.InstructionHandle[] match
        end local 11 // int lenExpr
        end local 10 // int endExpr
        end local 9 // int startExpr
        24: .line 203
      StackMap locals: com.sun.org.apache.bcel.internal.util.InstructionFinder java.lang.String com.sun.org.apache.bcel.internal.generic.InstructionHandle com.sun.org.apache.bcel.internal.util.InstructionFinder$CodeConstraint java.lang.String int java.util.regex.Pattern java.util.List java.util.regex.Matcher
      StackMap stack:
            iload 5 /* start */
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.util.InstructionFinder.il_string:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpge 25
            aload 8 /* matcher */
            iload 5 /* start */
            invokevirtual java.util.regex.Matcher.find:(I)Z
            ifne 17
        25: .line 214
      StackMap locals:
      StackMap stack:
            aload 7 /* matches */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
        end local 8 // java.util.regex.Matcher matcher
        end local 7 // java.util.List matches
        end local 6 // java.util.regex.Pattern regex
        end local 5 // int start
        end local 4 // java.lang.String search
        end local 3 // com.sun.org.apache.bcel.internal.util.InstructionFinder$CodeConstraint constraint
        end local 2 // com.sun.org.apache.bcel.internal.generic.InstructionHandle from
        end local 1 // java.lang.String pattern
        end local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0        this  Lcom/sun/org/apache/bcel/internal/util/InstructionFinder;
            0   26     1     pattern  Ljava/lang/String;
            0   26     2        from  Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            0   26     3  constraint  Lcom/sun/org/apache/bcel/internal/util/InstructionFinder$CodeConstraint;
            1   26     4      search  Ljava/lang/String;
            2   26     5       start  I
            3    9     6           i  I
           14   26     6       regex  Ljava/util/regex/Pattern;
           15   26     7     matches  Ljava/util/List<[Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;>;
           16   26     8     matcher  Ljava/util/regex/Matcher;
           18   24     9   startExpr  I
           19   24    10     endExpr  I
           20   24    11     lenExpr  I
           21   24    12       match  [Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
    MethodParameters:
            Name  Flags
      pattern     
      from        
      constraint  

  public final java.util.Iterator search(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Iterator;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
        start local 1 // java.lang.String pattern
         0: .line 226
            aload 0 /* this */
            aload 1 /* pattern */
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.util.InstructionFinder.il:Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
            invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionList.getStart:()Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            aconst_null
            invokevirtual com.sun.org.apache.bcel.internal.util.InstructionFinder.search:(Ljava/lang/String;Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;Lcom/sun/org/apache/bcel/internal/util/InstructionFinder$CodeConstraint;)Ljava/util/Iterator;
            areturn
        end local 1 // java.lang.String pattern
        end local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/sun/org/apache/bcel/internal/util/InstructionFinder;
            0    1     1  pattern  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      pattern  

  public final java.util.Iterator search(java.lang.String, com.sun.org.apache.bcel.internal.generic.InstructionHandle);
    descriptor: (Ljava/lang/String;Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;)Ljava/util/Iterator;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
        start local 1 // java.lang.String pattern
        start local 2 // com.sun.org.apache.bcel.internal.generic.InstructionHandle from
         0: .line 238
            aload 0 /* this */
            aload 1 /* pattern */
            aload 2 /* from */
            aconst_null
            invokevirtual com.sun.org.apache.bcel.internal.util.InstructionFinder.search:(Ljava/lang/String;Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;Lcom/sun/org/apache/bcel/internal/util/InstructionFinder$CodeConstraint;)Ljava/util/Iterator;
            areturn
        end local 2 // com.sun.org.apache.bcel.internal.generic.InstructionHandle from
        end local 1 // java.lang.String pattern
        end local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/sun/org/apache/bcel/internal/util/InstructionFinder;
            0    1     1  pattern  Ljava/lang/String;
            0    1     2     from  Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
    MethodParameters:
         Name  Flags
      pattern  
      from     

  public final java.util.Iterator search(java.lang.String, com.sun.org.apache.bcel.internal.util.InstructionFinder$CodeConstraint);
    descriptor: (Ljava/lang/String;Lcom/sun/org/apache/bcel/internal/util/InstructionFinder$CodeConstraint;)Ljava/util/Iterator;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
        start local 1 // java.lang.String pattern
        start local 2 // com.sun.org.apache.bcel.internal.util.InstructionFinder$CodeConstraint constraint
         0: .line 250
            aload 0 /* this */
            aload 1 /* pattern */
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.util.InstructionFinder.il:Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
            invokevirtual com.sun.org.apache.bcel.internal.generic.InstructionList.getStart:()Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;
            aload 2 /* constraint */
            invokevirtual com.sun.org.apache.bcel.internal.util.InstructionFinder.search:(Ljava/lang/String;Lcom/sun/org/apache/bcel/internal/generic/InstructionHandle;Lcom/sun/org/apache/bcel/internal/util/InstructionFinder$CodeConstraint;)Ljava/util/Iterator;
            areturn
        end local 2 // com.sun.org.apache.bcel.internal.util.InstructionFinder$CodeConstraint constraint
        end local 1 // java.lang.String pattern
        end local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/sun/org/apache/bcel/internal/util/InstructionFinder;
            0    1     1     pattern  Ljava/lang/String;
            0    1     2  constraint  Lcom/sun/org/apache/bcel/internal/util/InstructionFinder$CodeConstraint;
    MethodParameters:
            Name  Flags
      pattern     
      constraint  

  private static final char makeChar(short);
    descriptor: (S)C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // short opcode
         0: .line 257
            iload 0 /* opcode */
            sipush 32767
            iadd
            i2c
            ireturn
        end local 0 // short opcode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  opcode  S
    MethodParameters:
        Name  Flags
      opcode  

  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=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
         0: .line 263
            aload 0 /* this */
            getfield com.sun.org.apache.bcel.internal.util.InstructionFinder.il:Lcom/sun/org/apache/bcel/internal/generic/InstructionList;
            areturn
        end local 0 // com.sun.org.apache.bcel.internal.util.InstructionFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/bcel/internal/util/InstructionFinder;

  private static java.lang.String precompile(short, short, short);
    descriptor: (SSS)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // short from
        start local 1 // short to
        start local 2 // short extra
         0: .line 366
            new java.lang.StringBuffer
            dup
            ldc "("
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuffer buf
         1: .line 368
            iload 0 /* from */
            istore 4 /* i */
        start local 4 // short i
         2: goto 6
         3: .line 369
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 3 /* buf */
            iload 4 /* i */
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.makeChar:(S)C
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 370
            aload 3 /* buf */
            bipush 124
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         5: .line 368
            iload 4 /* i */
            iconst_1
            iadd
            i2s
            istore 4 /* i */
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            iload 1 /* to */
            if_icmple 3
        end local 4 // short i
         7: .line 373
            aload 3 /* buf */
            iload 2 /* extra */
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.makeChar:(S)C
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         8: .line 374
            aload 3 /* buf */
            ldc ")"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         9: .line 375
            aload 3 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuffer buf
        end local 2 // short extra
        end local 1 // short to
        end local 0 // short from
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   from  S
            0   10     1     to  S
            0   10     2  extra  S
            1   10     3    buf  Ljava/lang/StringBuffer;
            2    7     4      i  S
    MethodParameters:
       Name  Flags
      from   
      to     
      extra  

  private static final java.lang.String pattern2string(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String pattern
         0: .line 382
            aload 0 /* pattern */
            iconst_1
            invokestatic com.sun.org.apache.bcel.internal.util.InstructionFinder.pattern2string:(Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  pattern  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      pattern  

  private static final java.lang.String pattern2string(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.lang.String pattern
        start local 1 // boolean make_string
         0: .line 386
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuffer buf
         1: .line 388
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 11
         3: .line 389
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 0 /* pattern */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* ch */
        start local 4 // char ch
         4: .line 391
            iload 4 /* ch */
            sipush 32767
            if_icmplt 9
         5: .line 392
            iload 1 /* make_string */
            ifeq 7
         6: .line 393
            aload 2 /* buf */
            getstatic com.sun.org.apache.bcel.internal.Constants.OPCODE_NAMES:[Ljava/lang/String;
            iload 4 /* ch */
            sipush 32767
            isub
            aaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
            goto 10
         7: .line 395
      StackMap locals: int
      StackMap stack:
            aload 2 /* buf */
            iload 4 /* ch */
            sipush 32767
            isub
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
         8: .line 396
            goto 10
         9: .line 397
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            iload 4 /* ch */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 4 // char ch
        10: .line 388
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 0 /* pattern */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 3 // int i
        12: .line 400
            aload 2 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuffer buf
        end local 1 // boolean make_string
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0      pattern  Ljava/lang/String;
            0   13     1  make_string  Z
            1   13     2          buf  Ljava/lang/StringBuffer;
            2   12     3            i  I
            4   10     4           ch  C
    MethodParameters:
             Name  Flags
      pattern      
      make_string  
}
SourceFile: "InstructionFinder.java"
NestMembers:
  com.sun.org.apache.bcel.internal.util.InstructionFinder$CodeConstraint
InnerClasses:
  public abstract CodeConstraint = com.sun.org.apache.bcel.internal.util.InstructionFinder$CodeConstraint of com.sun.org.apache.bcel.internal.util.InstructionFinder