public class org.apache.bcel.util.InstructionFinder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.bcel.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.Map<java.lang.String, java.lang.String> map;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private final org.apache.bcel.generic.InstructionList il;
    descriptor: Lorg/apache/bcel/generic/InstructionList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=5, args_size=0
         0: .line 70
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
         1: .line 311
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            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)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 312
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "invokeinstruction"
            ldc "(invokevirtual|invokeinterface|invokestatic|invokespecial|invokedynamic)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 313
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "arrayinstruction"
            ldc "(baload|aastore|saload|caload|fastore|lastore|iaload|castore|iastore|aaload|bastore|sastore|faload|laload|daload|dastore)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 314
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "gotoinstruction"
            ldc "(goto|goto_w)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 315
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "conversioninstruction"
            ldc "(d2l|l2d|i2s|d2i|l2i|i2b|l2f|d2f|f2i|i2d|i2l|f2d|i2c|f2l|i2f)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 316
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "localvariableinstruction"
            ldc "(fstore|iinc|lload|dstore|dload|iload|aload|astore|istore|fload|lstore)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 317
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "loadinstruction"
            ldc "(fload|dload|lload|iload|aload)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 318
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "fieldinstruction"
            ldc "(getfield|putstatic|getstatic|putfield)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 319
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "cpinstruction"
            ldc "(ldc2_w|invokeinterface|invokedynamic|multianewarray|putstatic|instanceof|getstatic|checkcast|getfield|invokespecial|ldc_w|invokestatic|invokevirtual|putfield|ldc|new|anewarray)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 320
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "stackinstruction"
            ldc "(dup2|swap|dup2_x2|pop|pop2|dup|dup2_x1|dup_x2|dup_x1)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 321
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            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)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 322
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "returninstruction"
            ldc "(lreturn|ireturn|freturn|dreturn|areturn|return)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 323
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "storeinstruction"
            ldc "(istore|fstore|dstore|astore|lstore)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 324
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "select"
            ldc "(tableswitch|lookupswitch)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 325
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            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)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 326
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "jsrinstruction"
            ldc "(jsr|jsr_w)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 327
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "variablelengthinstruction"
            ldc "(tableswitch|jsr|goto|lookupswitch)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 328
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "unconditionalbranch"
            ldc "(goto|jsr|jsr_w|athrow|goto_w)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 329
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "constantpushinstruction"
            ldc "(dconst|bipush|sipush|fconst|iconst|lconst)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 330
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            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|invokedynamic|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)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 331
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "popinstruction"
            ldc "(fstore|dstore|pop|pop2|astore|putstatic|istore|lstore)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 332
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "allocationinstruction"
            ldc "(multianewarray|new|anewarray|newarray)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 333
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "indexedinstruction"
            ldc "(lload|lstore|fload|ldc2_w|invokeinterface|invokedynamic|multianewarray|astore|dload|putstatic|instanceof|getstatic|checkcast|getfield|invokespecial|dstore|istore|iinc|ldc_w|ret|fstore|invokestatic|iload|putfield|invokevirtual|ldc|new|aload|anewarray)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 334
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "pushinstruction"
            ldc "(dup|lload|dup2|bipush|fload|ldc2_w|sipush|lconst|fconst|dload|getstatic|ldc_w|aconst_null|dconst|iload|ldc|iconst|aload)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 335
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            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|invokedynamic|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)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 336
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            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|invokedynamic|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)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 337
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            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|invokedynamic|ldc|invokestatic|daload)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 338
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "loadclass"
            ldc "(multianewarray|invokeinterface|invokedynamic|instanceof|invokespecial|putfield|checkcast|putstatic|invokevirtual|new|getstatic|invokestatic|getfield|anewarray)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 339
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            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)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        30: .line 341
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "if_icmp"
            ldc "(if_icmpne|if_icmpeq|if_icmple|if_icmpge|if_icmplt|if_icmpgt)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 342
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "if_acmp"
            ldc "(if_acmpeq|if_acmpne)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 343
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "if"
            ldc "(ifeq|ifne|iflt|ifge|ifgt|ifle)"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 345
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "iconst"
            iconst_3
            bipush 8
            iconst_2
            invokestatic org.apache.bcel.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 346
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "lconst"
            new java.lang.String
            dup
            iconst_5
            newarray 5
            dup
            iconst_0
            bipush 40
            castore
            dup
            iconst_1
            bipush 9
            invokestatic org.apache.bcel.util.InstructionFinder.makeChar:(S)C
            castore
            dup
            iconst_2
            bipush 124
            castore
            dup
            iconst_3
            bipush 10
            invokestatic org.apache.bcel.util.InstructionFinder.makeChar:(S)C
            castore
            dup
            iconst_4
            bipush 41
            castore
            invokespecial java.lang.String.<init>:([C)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 347
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "dconst"
            new java.lang.String
            dup
            iconst_5
            newarray 5
            dup
            iconst_0
            bipush 40
            castore
            dup
            iconst_1
            bipush 14
            invokestatic org.apache.bcel.util.InstructionFinder.makeChar:(S)C
            castore
            dup
            iconst_2
            bipush 124
            castore
            dup
            iconst_3
            bipush 15
            invokestatic org.apache.bcel.util.InstructionFinder.makeChar:(S)C
            castore
            dup
            iconst_4
            bipush 41
            castore
            invokespecial java.lang.String.<init>:([C)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        36: .line 348
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "fconst"
            new java.lang.String
            dup
            bipush 7
            newarray 5
            dup
            iconst_0
            bipush 40
            castore
            dup
            iconst_1
            bipush 11
            invokestatic org.apache.bcel.util.InstructionFinder.makeChar:(S)C
            castore
            dup
            iconst_2
            bipush 124
            castore
            dup
            iconst_3
            bipush 12
            invokestatic org.apache.bcel.util.InstructionFinder.makeChar:(S)C
            castore
            dup
            iconst_4
            bipush 124
            castore
            dup
            iconst_5
            bipush 13
            invokestatic org.apache.bcel.util.InstructionFinder.makeChar:(S)C
            castore
            dup
            bipush 6
            bipush 41
            castore
            invokespecial java.lang.String.<init>:([C)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        37: .line 349
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "lload"
            bipush 30
            bipush 33
            bipush 22
            invokestatic org.apache.bcel.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        38: .line 350
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "iload"
            bipush 26
            bipush 29
            bipush 21
            invokestatic org.apache.bcel.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        39: .line 351
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "dload"
            bipush 38
            bipush 41
            bipush 24
            invokestatic org.apache.bcel.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        40: .line 352
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "fload"
            bipush 34
            bipush 37
            bipush 23
            invokestatic org.apache.bcel.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        41: .line 353
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "aload"
            bipush 42
            bipush 45
            bipush 25
            invokestatic org.apache.bcel.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        42: .line 354
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "lstore"
            bipush 63
            bipush 66
            bipush 55
            invokestatic org.apache.bcel.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        43: .line 355
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "istore"
            bipush 59
            bipush 62
            bipush 54
            invokestatic org.apache.bcel.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        44: .line 356
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "dstore"
            bipush 71
            bipush 74
            bipush 57
            invokestatic org.apache.bcel.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        45: .line 357
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "fstore"
            bipush 67
            bipush 70
            bipush 56
            invokestatic org.apache.bcel.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        46: .line 358
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "astore"
            bipush 75
            bipush 78
            bipush 58
            invokestatic org.apache.bcel.util.InstructionFinder.precompile:(SSS)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        47: .line 360
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 1
            goto 54
      StackMap locals: top java.util.Iterator
      StackMap stack:
        48: aload 1
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 0 /* entry */
        start local 0 // java.util.Map$Entry entry
        49: .line 361
            aload 0 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* key */
        start local 2 // java.lang.String key
        50: .line 362
            aload 0 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* value */
        start local 3 // java.lang.String value
        51: .line 363
            aload 3 /* value */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* ch */
        start local 4 // char ch
        52: .line 364
            iload 4 /* ch */
            sipush 32767
            if_icmpge 54
        53: .line 365
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            aload 2 /* key */
            aload 3 /* value */
            invokestatic org.apache.bcel.util.InstructionFinder.compilePattern:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // char ch
        end local 3 // java.lang.String value
        end local 2 // java.lang.String key
        end local 0 // java.util.Map$Entry entry
        54: .line 360
      StackMap locals:
      StackMap stack:
            aload 1
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        55: .line 369
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 0 /* buf */
        start local 0 // java.lang.StringBuilder buf
        56: .line 370
            iconst_0
            istore 1 /* i */
        start local 1 // short i
        57: goto 63
        58: .line 371
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 1 /* i */
            invokestatic org.apache.bcel.Const.getNoOfOperands:(I)S
            iconst_m1
            if_icmpeq 62
        59: .line 372
            aload 0 /* buf */
            iload 1 /* i */
            invokestatic org.apache.bcel.util.InstructionFinder.makeChar:(S)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        60: .line 373
            iload 1 /* i */
            sipush 255
            if_icmpge 62
        61: .line 374
            aload 0 /* buf */
            bipush 124
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        62: .line 370
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            iconst_1
            iadd
            i2s
            istore 1 /* i */
      StackMap locals:
      StackMap stack:
        63: iload 1 /* i */
            sipush 256
            if_icmplt 58
        end local 1 // short i
        64: .line 378
            aload 0 /* buf */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        65: .line 379
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            ldc "instruction"
            aload 0 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 0 // java.lang.StringBuilder buf
        66: .line 380
            return
      LocalVariableTable:
        Start  End  Slot   Name  Signature
           49   54     0  entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           50   54     2    key  Ljava/lang/String;
           51   54     3  value  Ljava/lang/String;
           52   54     4     ch  C
           56   66     0    buf  Ljava/lang/StringBuilder;
           57   64     1      i  S

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

  public final void reread();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.apache.bcel.util.InstructionFinder this
         0: .line 92
            aload 0 /* this */
            getfield org.apache.bcel.util.InstructionFinder.il:Lorg/apache/bcel/generic/InstructionList;
            invokevirtual org.apache.bcel.generic.InstructionList.getLength:()I
            istore 1 /* size */
        start local 1 // int size
         1: .line 93
            iload 1 /* size */
            newarray 5
            astore 2 /* buf */
        start local 2 // char[] buf
         2: .line 94
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.bcel.util.InstructionFinder.il:Lorg/apache/bcel/generic/InstructionList;
            invokevirtual org.apache.bcel.generic.InstructionList.getInstructionHandles:()[Lorg/apache/bcel/generic/InstructionHandle;
            putfield org.apache.bcel.util.InstructionFinder.handles:[Lorg/apache/bcel/generic/InstructionHandle;
         3: .line 96
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 97
      StackMap locals: int char[] int
      StackMap stack:
            aload 2 /* buf */
            iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.bcel.util.InstructionFinder.handles:[Lorg/apache/bcel/generic/InstructionHandle;
            iload 3 /* i */
            aaload
            invokevirtual org.apache.bcel.generic.InstructionHandle.getInstruction:()Lorg/apache/bcel/generic/Instruction;
            invokevirtual org.apache.bcel.generic.Instruction.getOpcode:()S
            invokestatic org.apache.bcel.util.InstructionFinder.makeChar:(S)C
            castore
         6: .line 96
            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 99
            aload 0 /* this */
            new java.lang.String
            dup
            aload 2 /* buf */
            invokespecial java.lang.String.<init>:([C)V
            putfield org.apache.bcel.util.InstructionFinder.il_string:Ljava/lang/String;
         9: .line 100
            return
        end local 2 // char[] buf
        end local 1 // int size
        end local 0 // org.apache.bcel.util.InstructionFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/apache/bcel/util/InstructionFinder;
            1   10     1  size  I
            2   10     2   buf  [C
            4    8     3     i  I

  private static java.lang.String mapName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.lang.String pattern
         0: .line 111
            getstatic org.apache.bcel.util.InstructionFinder.map:Ljava/util/Map;
            aload 0 /* pattern */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* result */
        start local 1 // java.lang.String result
         1: .line 112
            aload 1 /* result */
            ifnull 3
         2: .line 113
            aload 1 /* result */
            areturn
         3: .line 115
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // short i
         4: goto 8
         5: .line 116
      StackMap locals: int
      StackMap stack:
            aload 0 /* pattern */
            iload 2 /* i */
            invokestatic org.apache.bcel.Const.getOpcodeName:(I)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 117
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 2 /* i */
            invokestatic org.apache.bcel.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 115
      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 120
            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  final

  private static java.lang.String compilePattern(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // java.lang.String pattern
         0: .line 135
            aload 0 /* pattern */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 1 /* lower */
        start local 1 // java.lang.String lower
         1: .line 136
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         2: .line 137
            aload 0 /* pattern */
            invokevirtual java.lang.String.length:()I
            istore 3 /* size */
        start local 3 // int size
         3: .line 138
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 20
         5: .line 139
      StackMap locals: java.lang.String java.lang.String java.lang.StringBuilder 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 140
            iload 5 /* ch */
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifeq 17
         7: .line 141
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* name */
        start local 6 // java.lang.StringBuilder name
         8: .line 142
            goto 12
         9: .line 143
      StackMap locals: int java.lang.StringBuilder
      StackMap stack:
            aload 6 /* name */
            iload 5 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 144
            iinc 4 /* i */ 1
            iload 4 /* i */
            iload 3 /* size */
            if_icmpge 14
        11: .line 145
            aload 1 /* lower */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* ch */
        12: .line 142
      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 150
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ -1
        15: .line 151
            aload 2 /* buf */
            aload 6 /* name */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.bcel.util.InstructionFinder.mapName:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 6 // java.lang.StringBuilder name
        16: .line 152
            goto 19
      StackMap locals:
      StackMap stack:
        17: iload 5 /* ch */
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 19
        18: .line 153
            aload 2 /* buf */
            iload 5 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // char ch
        19: .line 138
      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 156
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // int size
        end local 2 // java.lang.StringBuilder 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/StringBuilder;
            3   22     3     size  I
            4   21     4        i  I
            6   19     5       ch  C
            8   16     6     name  Ljava/lang/StringBuilder;
    MethodParameters:
         Name  Flags
      pattern  final

  private org.apache.bcel.generic.InstructionHandle[] getMatch(int, int);
    descriptor: (II)[Lorg/apache/bcel/generic/InstructionHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.apache.bcel.util.InstructionFinder this
        start local 1 // int matched_from
        start local 2 // int match_length
         0: .line 164
            iload 2 /* match_length */
            anewarray org.apache.bcel.generic.InstructionHandle
            astore 3 /* match */
        start local 3 // org.apache.bcel.generic.InstructionHandle[] match
         1: .line 165
            aload 0 /* this */
            getfield org.apache.bcel.util.InstructionFinder.handles:[Lorg/apache/bcel/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 166
            aload 3 /* match */
            areturn
        end local 3 // org.apache.bcel.generic.InstructionHandle[] match
        end local 2 // int match_length
        end local 1 // int matched_from
        end local 0 // org.apache.bcel.util.InstructionFinder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/apache/bcel/util/InstructionFinder;
            0    3     1  matched_from  I
            0    3     2  match_length  I
            1    3     3         match  [Lorg/apache/bcel/generic/InstructionHandle;
    MethodParameters:
              Name  Flags
      matched_from  final
      match_length  final

  public final java.util.Iterator<org.apache.bcel.generic.InstructionHandle[]> search(java.lang.String, org.apache.bcel.generic.InstructionHandle, org.apache.bcel.util.InstructionFinder$CodeConstraint);
    descriptor: (Ljava/lang/String;Lorg/apache/bcel/generic/InstructionHandle;Lorg/apache/bcel/util/InstructionFinder$CodeConstraint;)Ljava/util/Iterator;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=13, args_size=4
        start local 0 // org.apache.bcel.util.InstructionFinder this
        start local 1 // java.lang.String pattern
        start local 2 // org.apache.bcel.generic.InstructionHandle from
        start local 3 // org.apache.bcel.util.InstructionFinder$CodeConstraint constraint
         0: .line 206
            aload 1 /* pattern */
            invokestatic org.apache.bcel.util.InstructionFinder.compilePattern:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* search */
        start local 4 // java.lang.String search
         1: .line 207
            iconst_m1
            istore 5 /* start */
        start local 5 // int start
         2: .line 208
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 8
         4: .line 209
      StackMap locals: java.lang.String int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.bcel.util.InstructionFinder.handles:[Lorg/apache/bcel/generic/InstructionHandle;
            iload 6 /* i */
            aaload
            aload 2 /* from */
            if_acmpne 7
         5: .line 210
            iload 6 /* i */
            istore 5 /* start */
         6: .line 211
            goto 9
         7: .line 208
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            aload 0 /* this */
            getfield org.apache.bcel.util.InstructionFinder.handles:[Lorg/apache/bcel/generic/InstructionHandle;
            arraylength
            if_icmplt 4
        end local 6 // int i
         9: .line 214
      StackMap locals:
      StackMap stack:
            iload 5 /* start */
            iconst_m1
            if_icmpne 13
        10: .line 215
            new org.apache.bcel.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 216
            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 215
            invokespecial org.apache.bcel.generic.ClassGenException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 218
      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 219
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* matches */
        start local 7 // java.util.List matches
        15: .line 220
            aload 6 /* regex */
            aload 0 /* this */
            getfield org.apache.bcel.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 221
            goto 24
        17: .line 222
      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 223
            aload 8 /* matcher */
            invokevirtual java.util.regex.Matcher.end:()I
            istore 10 /* endExpr */
        start local 10 // int endExpr
        19: .line 224
            iload 10 /* endExpr */
            iload 9 /* startExpr */
            isub
            istore 11 /* lenExpr */
        start local 11 // int lenExpr
        20: .line 225
            aload 0 /* this */
            iload 9 /* startExpr */
            iload 11 /* lenExpr */
            invokevirtual org.apache.bcel.util.InstructionFinder.getMatch:(II)[Lorg/apache/bcel/generic/InstructionHandle;
            astore 12 /* match */
        start local 12 // org.apache.bcel.generic.InstructionHandle[] match
        21: .line 226
            aload 3 /* constraint */
            ifnull 22
            aload 3 /* constraint */
            aload 12 /* match */
            invokeinterface org.apache.bcel.util.InstructionFinder$CodeConstraint.checkCode:([Lorg/apache/bcel/generic/InstructionHandle;)Z
            ifeq 23
        22: .line 227
      StackMap locals: org.apache.bcel.util.InstructionFinder java.lang.String org.apache.bcel.generic.InstructionHandle org.apache.bcel.util.InstructionFinder$CodeConstraint java.lang.String int java.util.regex.Pattern java.util.List java.util.regex.Matcher int int int org.apache.bcel.generic.InstructionHandle[]
      StackMap stack:
            aload 7 /* matches */
            aload 12 /* match */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        23: .line 229
      StackMap locals:
      StackMap stack:
            iload 10 /* endExpr */
            istore 5 /* start */
        end local 12 // org.apache.bcel.generic.InstructionHandle[] match
        end local 11 // int lenExpr
        end local 10 // int endExpr
        end local 9 // int startExpr
        24: .line 221
      StackMap locals: org.apache.bcel.util.InstructionFinder java.lang.String org.apache.bcel.generic.InstructionHandle org.apache.bcel.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 org.apache.bcel.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 231
      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 // org.apache.bcel.util.InstructionFinder$CodeConstraint constraint
        end local 2 // org.apache.bcel.generic.InstructionHandle from
        end local 1 // java.lang.String pattern
        end local 0 // org.apache.bcel.util.InstructionFinder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0        this  Lorg/apache/bcel/util/InstructionFinder;
            0   26     1     pattern  Ljava/lang/String;
            0   26     2        from  Lorg/apache/bcel/generic/InstructionHandle;
            0   26     3  constraint  Lorg/apache/bcel/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<[Lorg/apache/bcel/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  [Lorg/apache/bcel/generic/InstructionHandle;
    Signature: (Ljava/lang/String;Lorg/apache/bcel/generic/InstructionHandle;Lorg/apache/bcel/util/InstructionFinder$CodeConstraint;)Ljava/util/Iterator<[Lorg/apache/bcel/generic/InstructionHandle;>;
    MethodParameters:
            Name  Flags
      pattern     final
      from        final
      constraint  final

  public final java.util.Iterator<org.apache.bcel.generic.InstructionHandle[]> 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 // org.apache.bcel.util.InstructionFinder this
        start local 1 // java.lang.String pattern
         0: .line 244
            aload 0 /* this */
            aload 1 /* pattern */
            aload 0 /* this */
            getfield org.apache.bcel.util.InstructionFinder.il:Lorg/apache/bcel/generic/InstructionList;
            invokevirtual org.apache.bcel.generic.InstructionList.getStart:()Lorg/apache/bcel/generic/InstructionHandle;
            aconst_null
            invokevirtual org.apache.bcel.util.InstructionFinder.search:(Ljava/lang/String;Lorg/apache/bcel/generic/InstructionHandle;Lorg/apache/bcel/util/InstructionFinder$CodeConstraint;)Ljava/util/Iterator;
            areturn
        end local 1 // java.lang.String pattern
        end local 0 // org.apache.bcel.util.InstructionFinder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/bcel/util/InstructionFinder;
            0    1     1  pattern  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/Iterator<[Lorg/apache/bcel/generic/InstructionHandle;>;
    MethodParameters:
         Name  Flags
      pattern  final

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

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

  private static char makeChar(short);
    descriptor: (S)C
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // short opcode
         0: .line 282
            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  final

  public final org.apache.bcel.generic.InstructionList getInstructionList();
    descriptor: ()Lorg/apache/bcel/generic/InstructionList;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.bcel.util.InstructionFinder this
         0: .line 290
            aload 0 /* this */
            getfield org.apache.bcel.util.InstructionFinder.il:Lorg/apache/bcel/generic/InstructionList;
            areturn
        end local 0 // org.apache.bcel.util.InstructionFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/bcel/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 384
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuilder buf
         1: .line 385
            iload 0 /* from */
            istore 4 /* i */
        start local 4 // short i
         2: goto 6
         3: .line 386
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 3 /* buf */
            iload 4 /* i */
            invokestatic org.apache.bcel.util.InstructionFinder.makeChar:(S)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 387
            aload 3 /* buf */
            bipush 124
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 385
            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 389
            aload 3 /* buf */
            iload 2 /* extra */
            invokestatic org.apache.bcel.util.InstructionFinder.makeChar:(S)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 390
            aload 3 /* buf */
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 391
            aload 3 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder 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/StringBuilder;
            2    7     4      i  S
    MethodParameters:
       Name  Flags
      from   final
      to     final
      extra  final
}
SourceFile: "InstructionFinder.java"
NestMembers:
  org.apache.bcel.util.InstructionFinder$CodeConstraint
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public abstract CodeConstraint = org.apache.bcel.util.InstructionFinder$CodeConstraint of org.apache.bcel.util.InstructionFinder