public final class org.eclipse.jdt.internal.core.search.StringOperation
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.search.StringOperation
  super_class: java.lang.Object
{
  private static final int[] EMPTY_REGIONS;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 24
            iconst_0
            newarray 10
            putstatic org.eclipse.jdt.internal.core.search.StringOperation.EMPTY_REGIONS:[I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.StringOperation this
         0: .line 22
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.jdt.internal.core.search.StringOperation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/search/StringOperation;

  public static final int[] getCamelCaseMatchingRegions(java.lang.String, int, int, java.lang.String, int, int, boolean);
    descriptor: (Ljava/lang/String;IILjava/lang/String;IIZ)[I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=17, args_size=7
        start local 0 // java.lang.String pattern
        start local 1 // int patternStart
        start local 2 // int patternEnd
        start local 3 // java.lang.String name
        start local 4 // int nameStart
        start local 5 // int nameEnd
        start local 6 // boolean samePartCount
         0: .line 91
            aload 3 /* name */
            ifnonnull 2
         1: .line 92
            aconst_null
            areturn
         2: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* pattern */
            ifnonnull 4
         3: .line 96
            getstatic org.eclipse.jdt.internal.core.search.StringOperation.EMPTY_REGIONS:[I
            areturn
         4: .line 98
      StackMap locals:
      StackMap stack:
            iload 2 /* patternEnd */
            ifge 5
            aload 0 /* pattern */
            invokevirtual java.lang.String.length:()I
            istore 2 /* patternEnd */
         5: .line 99
      StackMap locals:
      StackMap stack:
            iload 5 /* nameEnd */
            ifge 6
            aload 3 /* name */
            invokevirtual java.lang.String.length:()I
            istore 5 /* nameEnd */
         6: .line 101
      StackMap locals:
      StackMap stack:
            iload 2 /* patternEnd */
            iload 1 /* patternStart */
            if_icmpgt 11
         7: .line 102
            iload 5 /* nameEnd */
            iload 4 /* nameStart */
            if_icmpgt 9
         8: .line 103
            iconst_2
            newarray 10
            dup
            iconst_0
            iload 1 /* patternStart */
            iastore
            dup
            iconst_1
            iload 2 /* patternEnd */
            iload 1 /* patternStart */
            isub
            iastore
            goto 10
         9: .line 104
      StackMap locals:
      StackMap stack:
            aconst_null
        10: .line 102
      StackMap locals:
      StackMap stack: int[]
            areturn
        11: .line 106
      StackMap locals:
      StackMap stack:
            iload 5 /* nameEnd */
            iload 4 /* nameStart */
            if_icmpgt 12
            aconst_null
            areturn
        12: .line 108
      StackMap locals:
      StackMap stack:
            aload 3 /* name */
            iload 4 /* nameStart */
            invokevirtual java.lang.String.charAt:(I)C
            aload 0 /* pattern */
            iload 1 /* patternStart */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 14
        13: .line 110
            aconst_null
            areturn
        14: .line 114
      StackMap locals:
      StackMap stack:
            iload 1 /* patternStart */
            istore 9 /* iPattern */
        start local 9 // int iPattern
        15: .line 115
            iload 4 /* nameStart */
            istore 10 /* iName */
        start local 10 // int iName
        16: .line 118
            iconst_1
            istore 11 /* parts */
        start local 11 // int parts
        17: .line 119
            iload 1 /* patternStart */
            iconst_1
            iadd
            istore 12 /* i */
        start local 12 // int i
        18: goto 27
        19: .line 120
      StackMap locals: java.lang.String int int java.lang.String int int int top top int int int int
      StackMap stack:
            aload 0 /* pattern */
            iload 12 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 13 /* ch */
        start local 13 // char ch
        20: .line 121
            iload 13 /* ch */
            sipush 128
            if_icmpge 24
        21: .line 122
            getstatic org.eclipse.jdt.internal.compiler.parser.ScannerHelper.OBVIOUS_IDENT_CHAR_NATURES:[I
            iload 13 /* ch */
            iaload
            bipush 36
            iand
            ifeq 26
        22: .line 123
            iinc 11 /* parts */ 1
        23: .line 125
            goto 26
      StackMap locals: int
      StackMap stack:
        24: iload 13 /* ch */
            invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
            ifeq 26
            iload 13 /* ch */
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifne 25
            iload 13 /* ch */
            invokestatic java.lang.Character.isDigit:(C)Z
            ifeq 26
        25: .line 126
      StackMap locals:
      StackMap stack:
            iinc 11 /* parts */ 1
        end local 13 // char ch
        26: .line 119
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 12 /* i */
            iload 2 /* patternEnd */
            if_icmplt 19
        end local 12 // int i
        28: .line 129
            aconst_null
            astore 12 /* segments */
        start local 12 // int[] segments
        29: .line 130
            iconst_0
            istore 13 /* count */
        start local 13 // int count
        30: .line 133
            iload 10 /* iName */
            istore 14 /* segmentStart */
        start local 14 // int segmentStart
        31: .line 135
      StackMap locals: java.lang.String int int java.lang.String int int int top top int int int int[] int int
      StackMap stack:
            iinc 9 /* iPattern */ 1
        32: .line 136
            iinc 10 /* iName */ 1
        33: .line 138
            iload 9 /* iPattern */
            iload 2 /* patternEnd */
            if_icmpne 59
        34: .line 140
            iload 6 /* samePartCount */
            ifeq 35
            iload 10 /* iName */
            iload 5 /* nameEnd */
            if_icmpne 42
        35: .line 141
      StackMap locals:
      StackMap stack:
            aload 12 /* segments */
            ifnonnull 37
        36: .line 142
            iconst_2
            newarray 10
            astore 12 /* segments */
        37: .line 144
      StackMap locals:
      StackMap stack:
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 14 /* segmentStart */
            iastore
        38: .line 145
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 10 /* iName */
            iload 14 /* segmentStart */
            isub
            iastore
        39: .line 146
            iload 13 /* count */
            aload 12 /* segments */
            arraylength
            if_icmpge 41
        40: .line 147
            aload 12 /* segments */
            iconst_0
            iload 13 /* count */
            newarray 10
            dup
            astore 12 /* segments */
            iconst_0
            iload 13 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        41: .line 149
      StackMap locals:
      StackMap stack:
            aload 12 /* segments */
            areturn
        42: .line 153
      StackMap locals:
      StackMap stack:
            iload 10 /* iName */
            istore 15 /* segmentEnd */
        start local 15 // int segmentEnd
        43: .line 155
      StackMap locals: int
      StackMap stack:
            iload 10 /* iName */
            iload 5 /* nameEnd */
            if_icmpne 51
        44: .line 157
            aload 12 /* segments */
            ifnonnull 46
        45: .line 158
            iconst_2
            newarray 10
            astore 12 /* segments */
        46: .line 160
      StackMap locals:
      StackMap stack:
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 14 /* segmentStart */
            iastore
        47: .line 161
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 15 /* segmentEnd */
            iload 14 /* segmentStart */
            isub
            iastore
        48: .line 162
            iload 13 /* count */
            aload 12 /* segments */
            arraylength
            if_icmpge 50
        49: .line 163
            aload 12 /* segments */
            iconst_0
            iload 13 /* count */
            newarray 10
            dup
            astore 12 /* segments */
            iconst_0
            iload 13 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        50: .line 165
      StackMap locals:
      StackMap stack:
            aload 12 /* segments */
            areturn
        51: .line 167
      StackMap locals:
      StackMap stack:
            aload 3 /* name */
            iload 10 /* iName */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* nameChar */
        start local 8 // char nameChar
        52: .line 169
            iload 8 /* nameChar */
            sipush 128
            if_icmpge 55
        53: .line 170
            getstatic org.eclipse.jdt.internal.compiler.parser.ScannerHelper.OBVIOUS_IDENT_CHAR_NATURES:[I
            iload 8 /* nameChar */
            iaload
            bipush 32
            iand
            ifeq 57
        54: .line 171
            aconst_null
            areturn
        55: .line 174
      StackMap locals: java.lang.String int int java.lang.String int int int top int int int int int[] int int int
      StackMap stack:
            iload 8 /* nameChar */
            invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
            ifeq 56
            iload 8 /* nameChar */
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 57
        56: .line 175
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        57: .line 177
      StackMap locals:
      StackMap stack:
            iinc 10 /* iName */ 1
        end local 8 // char nameChar
        58: .line 154
            goto 43
        end local 15 // int segmentEnd
        59: .line 181
      StackMap locals: java.lang.String int int java.lang.String int int int top top int int int int[] int int
      StackMap stack:
            iload 10 /* iName */
            iload 5 /* nameEnd */
            if_icmpne 61
        60: .line 183
            aconst_null
            areturn
        61: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* pattern */
            iload 9 /* iPattern */
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 7 /* patternChar */
        start local 7 // char patternChar
        62: aload 3 /* name */
            iload 10 /* iName */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpne 64
        63: .line 188
            goto 31
        64: .line 190
      StackMap locals: java.lang.String int int java.lang.String int int int int top int int int int[] int int
      StackMap stack:
            iload 10 /* iName */
            istore 15 /* segmentEnd */
        start local 15 // int segmentEnd
        65: .line 193
            iload 7 /* patternChar */
            sipush 128
            if_icmpge 68
        66: .line 194
            getstatic org.eclipse.jdt.internal.compiler.parser.ScannerHelper.OBVIOUS_IDENT_CHAR_NATURES:[I
            iload 7 /* patternChar */
            iaload
            bipush 36
            iand
            ifne 70
        67: .line 195
            aconst_null
            areturn
        68: .line 197
      StackMap locals: int
      StackMap stack:
            iload 7 /* patternChar */
            invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
            ifeq 70
            iload 7 /* patternChar */
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifne 70
            iload 7 /* patternChar */
            invokestatic java.lang.Character.isDigit:(C)Z
            ifne 70
        69: .line 198
            aconst_null
            areturn
        70: .line 203
      StackMap locals:
      StackMap stack:
            iload 10 /* iName */
            iload 5 /* nameEnd */
            if_icmpne 72
        71: .line 205
            aconst_null
            areturn
        72: .line 208
      StackMap locals:
      StackMap stack:
            aload 3 /* name */
            iload 10 /* iName */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* nameChar */
        start local 8 // char nameChar
        73: .line 209
            iload 8 /* nameChar */
            sipush 128
            if_icmpge 84
        74: .line 210
            getstatic org.eclipse.jdt.internal.compiler.parser.ScannerHelper.OBVIOUS_IDENT_CHAR_NATURES:[I
            iload 8 /* nameChar */
            iaload
            istore 16 /* charNature */
        start local 16 // int charNature
        75: .line 211
            iload 16 /* charNature */
            sipush 144
            iand
            ifeq 78
        76: .line 213
            iinc 10 /* iName */ 1
        77: .line 214
            goto 70
      StackMap locals: java.lang.String int int java.lang.String int int int int int int int int int[] int int int int
      StackMap stack:
        78: iload 16 /* charNature */
            iconst_4
            iand
            ifeq 82
        79: .line 216
            iload 7 /* patternChar */
            iload 8 /* nameChar */
            if_icmpne 80
            goto 93
        80: .line 217
      StackMap locals:
      StackMap stack:
            iinc 10 /* iName */ 1
        81: .line 219
            goto 70
      StackMap locals:
      StackMap stack:
        82: iload 7 /* patternChar */
            iload 8 /* nameChar */
            if_icmpeq 93
        83: .line 221
            aconst_null
            areturn
        end local 16 // int charNature
        84: .line 228
      StackMap locals:
      StackMap stack:
            iload 8 /* nameChar */
            invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
            ifeq 87
            iload 8 /* nameChar */
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifne 87
        85: .line 229
            iinc 10 /* iName */ 1
        86: .line 230
            goto 70
      StackMap locals:
      StackMap stack:
        87: iload 8 /* nameChar */
            invokestatic java.lang.Character.isDigit:(C)Z
            ifeq 91
        88: .line 231
            iload 7 /* patternChar */
            iload 8 /* nameChar */
            if_icmpne 89
            goto 93
        89: .line 232
      StackMap locals:
      StackMap stack:
            iinc 10 /* iName */ 1
        90: .line 233
            goto 70
      StackMap locals:
      StackMap stack:
        91: iload 7 /* patternChar */
            iload 8 /* nameChar */
            if_icmpeq 93
        92: .line 234
            aconst_null
            areturn
        93: .line 241
      StackMap locals:
      StackMap stack:
            aload 12 /* segments */
            ifnonnull 95
        94: .line 242
            iload 11 /* parts */
            iconst_2
            imul
            newarray 10
            astore 12 /* segments */
        95: .line 244
      StackMap locals:
      StackMap stack:
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 14 /* segmentStart */
            iastore
        96: .line 245
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 15 /* segmentEnd */
            iload 14 /* segmentStart */
            isub
            iastore
        97: .line 246
            iload 10 /* iName */
            istore 14 /* segmentStart */
        end local 15 // int segmentEnd
        end local 8 // char nameChar
        end local 7 // char patternChar
        98: .line 134
            goto 31
        end local 14 // int segmentStart
        end local 13 // int count
        end local 12 // int[] segments
        end local 11 // int parts
        end local 10 // int iName
        end local 9 // int iPattern
        end local 6 // boolean samePartCount
        end local 5 // int nameEnd
        end local 4 // int nameStart
        end local 3 // java.lang.String name
        end local 2 // int patternEnd
        end local 1 // int patternStart
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   99     0        pattern  Ljava/lang/String;
            0   99     1   patternStart  I
            0   99     2     patternEnd  I
            0   99     3           name  Ljava/lang/String;
            0   99     4      nameStart  I
            0   99     5        nameEnd  I
            0   99     6  samePartCount  Z
           62   98     7    patternChar  C
           52   58     8       nameChar  C
           73   98     8       nameChar  C
           15   99     9       iPattern  I
           16   99    10          iName  I
           17   99    11          parts  I
           18   28    12              i  I
           20   26    13             ch  C
           29   99    12       segments  [I
           30   99    13          count  I
           31   99    14   segmentStart  I
           43   59    15     segmentEnd  I
           65   98    15     segmentEnd  I
           75   84    16     charNature  I
    MethodParameters:
               Name  Flags
      pattern        
      patternStart   
      patternEnd     
      name           
      nameStart      
      nameEnd        
      samePartCount  

  public static final int[] getPatternMatchingRegions(java.lang.String, int, int, java.lang.String, int, int, boolean);
    descriptor: (Ljava/lang/String;IILjava/lang/String;IIZ)[I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=21, args_size=7
        start local 0 // java.lang.String pattern
        start local 1 // int patternStart
        start local 2 // int patternEnd
        start local 3 // java.lang.String name
        start local 4 // int nameStart
        start local 5 // int nameEnd
        start local 6 // boolean isCaseSensitive
         0: .line 308
            aload 3 /* name */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* pattern */
            ifnonnull 3
         2: .line 312
            getstatic org.eclipse.jdt.internal.core.search.StringOperation.EMPTY_REGIONS:[I
            areturn
         3: .line 314
      StackMap locals:
      StackMap stack:
            iload 1 /* patternStart */
            istore 7 /* iPattern */
        start local 7 // int iPattern
         4: .line 315
            iload 4 /* nameStart */
            istore 8 /* iName */
        start local 8 // int iName
         5: .line 318
            iload 2 /* patternEnd */
            ifge 7
         6: .line 319
            aload 0 /* pattern */
            invokevirtual java.lang.String.length:()I
            istore 2 /* patternEnd */
         7: .line 320
      StackMap locals: int int
      StackMap stack:
            iload 5 /* nameEnd */
            ifge 9
         8: .line 321
            aload 3 /* name */
            invokevirtual java.lang.String.length:()I
            istore 5 /* nameEnd */
         9: .line 322
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* questions */
        start local 9 // int questions
        10: .line 323
            iconst_0
            istore 10 /* parts */
        start local 10 // int parts
        11: .line 324
            iconst_0
            istore 11 /* previous */
        start local 11 // char previous
        12: .line 325
            iload 1 /* patternStart */
            istore 12 /* i */
        start local 12 // int i
        13: goto 23
        14: .line 326
      StackMap locals: java.lang.String int int java.lang.String int int int int int int int int int
      StackMap stack:
            aload 0 /* pattern */
            iload 12 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 13 /* ch */
        start local 13 // char ch
        15: .line 327
            iload 13 /* ch */
            lookupswitch { // 2
                   42: 18
                   63: 16
              default: 19
          }
        16: .line 329
      StackMap locals: int
      StackMap stack:
            iinc 9 /* questions */ 1
        17: .line 330
            goto 21
        18: .line 332
      StackMap locals:
      StackMap stack:
            goto 21
        19: .line 334
      StackMap locals:
      StackMap stack:
            iload 11 /* previous */
            lookupswitch { // 3
                    0: 20
                   42: 20
                   63: 20
              default: 21
          }
        20: .line 338
      StackMap locals:
      StackMap stack:
            iinc 10 /* parts */ 1
        21: .line 342
      StackMap locals:
      StackMap stack:
            iload 13 /* ch */
            istore 11 /* previous */
        end local 13 // char ch
        22: .line 325
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 12 /* i */
            iload 2 /* patternEnd */
            if_icmplt 14
        end local 12 // int i
        24: .line 344
            iload 10 /* parts */
            ifne 27
        25: .line 345
            iload 9 /* questions */
            iload 5 /* nameEnd */
            iload 4 /* nameStart */
            isub
            if_icmpgt 26
            getstatic org.eclipse.jdt.internal.core.search.StringOperation.EMPTY_REGIONS:[I
            areturn
        26: .line 346
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        27: .line 348
      StackMap locals:
      StackMap stack:
            iload 10 /* parts */
            iconst_2
            imul
            newarray 10
            astore 12 /* segments */
        start local 12 // int[] segments
        28: .line 351
            iconst_0
            istore 13 /* count */
        start local 13 // int count
        29: .line 352
            iload 8 /* iName */
            istore 14 /* start */
        start local 14 // int start
        30: .line 353
            iconst_0
            istore 15 /* patternChar */
        start local 15 // char patternChar
        31: .line 354
            iconst_0
            istore 11 /* previous */
        32: .line 355
            goto 51
        33: .line 357
      StackMap locals: java.lang.String int int java.lang.String int int int int int int int int int[] int int int
      StackMap stack:
            iload 8 /* iName */
            iload 5 /* nameEnd */
            if_icmpne 35
        34: .line 358
            aconst_null
            areturn
        35: .line 359
      StackMap locals:
      StackMap stack:
            iload 15 /* patternChar */
            bipush 63
            if_icmpne 41
        36: .line 360
            iload 11 /* previous */
            lookupswitch { // 2
                    0: 37
                   63: 37
              default: 38
          }
        37: .line 363
      StackMap locals:
      StackMap stack:
            goto 48
        38: .line 365
      StackMap locals:
      StackMap stack:
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 14 /* start */
            iastore
        39: .line 366
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 7 /* iPattern */
            iload 14 /* start */
            isub
            iastore
        40: .line 369
            goto 48
        41: .line 370
      StackMap locals:
      StackMap stack:
            iload 6 /* isCaseSensitive */
            ifeq 44
        42: .line 371
            iload 15 /* patternChar */
            aload 3 /* name */
            iload 8 /* iName */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 46
        43: .line 372
            aconst_null
            areturn
        44: .line 374
      StackMap locals:
      StackMap stack:
            iload 15 /* patternChar */
            invokestatic org.eclipse.jdt.internal.compiler.parser.ScannerHelper.toLowerCase:(C)C
            aload 3 /* name */
            iload 8 /* iName */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic org.eclipse.jdt.internal.compiler.parser.ScannerHelper.toLowerCase:(C)C
            if_icmpeq 46
        45: .line 375
            aconst_null
            areturn
        46: .line 377
      StackMap locals:
      StackMap stack:
            iload 11 /* previous */
            lookupswitch { // 2
                    0: 47
                   63: 47
              default: 48
          }
        47: .line 380
      StackMap locals:
      StackMap stack:
            iload 7 /* iPattern */
            istore 14 /* start */
        48: .line 384
      StackMap locals:
      StackMap stack:
            iinc 8 /* iName */ 1
        49: .line 385
            iinc 7 /* iPattern */ 1
        50: .line 386
            iload 15 /* patternChar */
            istore 11 /* previous */
        51: .line 355
      StackMap locals:
      StackMap stack:
            iload 7 /* iPattern */
            iload 2 /* patternEnd */
            if_icmpge 53
        52: .line 356
            aload 0 /* pattern */
            iload 7 /* iPattern */
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 15 /* patternChar */
            bipush 42
            if_icmpne 33
        53: .line 390
      StackMap locals:
      StackMap stack:
            iload 15 /* patternChar */
            bipush 42
            if_icmpne 60
        54: .line 391
            iload 7 /* iPattern */
            ifle 58
            iload 11 /* previous */
            bipush 63
            if_icmpeq 58
        55: .line 392
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 14 /* start */
            iastore
        56: .line 393
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 8 /* iName */
            iload 14 /* start */
            isub
            iastore
        57: .line 394
            iload 8 /* iName */
            istore 14 /* start */
        58: .line 396
      StackMap locals:
      StackMap stack:
            iinc 7 /* iPattern */ 1
            iload 7 /* iPattern */
            istore 16 /* segmentStart */
        start local 16 // int segmentStart
        59: .line 397
            goto 70
        end local 16 // int segmentStart
        60: .line 398
      StackMap locals:
      StackMap stack:
            iload 8 /* iName */
            iload 5 /* nameEnd */
            if_icmpne 69
        61: .line 399
            iload 13 /* count */
            iload 10 /* parts */
            iconst_2
            imul
            if_icmpne 62
            aload 12 /* segments */
            areturn
        62: .line 400
      StackMap locals:
      StackMap stack:
            iload 2 /* patternEnd */
            istore 17 /* end */
        start local 17 // int end
        63: .line 401
            iload 11 /* previous */
            bipush 63
            if_icmpne 68
        64: .line 402
            goto 67
        65: .line 403
      StackMap locals: java.lang.String int int java.lang.String int int int int int int int int int[] int int int top int
      StackMap stack:
            iload 17 /* end */
            iload 14 /* start */
            if_icmpne 67
        66: .line 404
            iconst_2
            newarray 10
            dup
            iconst_0
            iload 1 /* patternStart */
            iastore
            dup
            iconst_1
            iload 2 /* patternEnd */
            iload 1 /* patternStart */
            isub
            iastore
            areturn
        67: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* pattern */
            iinc 17 /* end */ -1
            iload 17 /* end */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 63
            if_icmpeq 65
        68: .line 408
      StackMap locals:
      StackMap stack:
            iconst_2
            newarray 10
            dup
            iconst_0
            iload 14 /* start */
            iastore
            dup
            iconst_1
            iload 17 /* end */
            iload 14 /* start */
            isub
            iastore
            areturn
        end local 17 // int end
        69: .line 410
      StackMap locals: java.lang.String int int java.lang.String int int int int int int int int int[] int int int
      StackMap stack:
            aconst_null
            areturn
        start local 16 // int segmentStart
        70: .line 412
      StackMap locals: int
      StackMap stack:
            iload 8 /* iName */
            istore 17 /* prefixStart */
        start local 17 // int prefixStart
        71: .line 413
            iload 13 /* count */
            istore 18 /* previousCount */
        start local 18 // int previousCount
        72: .line 414
            iload 15 /* patternChar */
            istore 11 /* previous */
        73: .line 415
            iload 15 /* patternChar */
            istore 19 /* previousSegment */
        start local 19 // char previousSegment
        74: .line 416
            goto 123
        75: .line 417
      StackMap locals: int int int
      StackMap stack:
            iload 7 /* iPattern */
            iload 2 /* patternEnd */
            if_icmpne 80
        76: .line 418
            iload 16 /* segmentStart */
            istore 7 /* iPattern */
        77: .line 419
            iinc 17 /* prefixStart */ 1
            iload 17 /* prefixStart */
            istore 8 /* iName */
        78: .line 420
            iload 19 /* previousSegment */
            istore 11 /* previous */
        79: .line 421
            goto 123
        80: .line 424
      StackMap locals:
      StackMap stack:
            aload 0 /* pattern */
            iload 7 /* iPattern */
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 15 /* patternChar */
            bipush 42
            if_icmpne 96
        81: .line 425
            iinc 7 /* iPattern */ 1
            iload 7 /* iPattern */
            istore 16 /* segmentStart */
        82: .line 426
            iload 16 /* segmentStart */
            iload 2 /* patternEnd */
            if_icmpne 87
        83: .line 427
            iload 13 /* count */
            iload 10 /* parts */
            iconst_2
            imul
            if_icmpge 86
        84: .line 428
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 14 /* start */
            iastore
        85: .line 429
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 8 /* iName */
            iload 14 /* start */
            isub
            iastore
        86: .line 431
      StackMap locals:
      StackMap stack:
            aload 12 /* segments */
            areturn
        87: .line 433
      StackMap locals:
      StackMap stack:
            iload 11 /* previous */
            lookupswitch { // 2
                   42: 88
                   63: 88
              default: 89
          }
        88: .line 436
      StackMap locals:
      StackMap stack:
            goto 91
        89: .line 438
      StackMap locals:
      StackMap stack:
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 14 /* start */
            iastore
        90: .line 439
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 8 /* iName */
            iload 14 /* start */
            isub
            iastore
        91: .line 442
      StackMap locals:
      StackMap stack:
            iload 8 /* iName */
            istore 17 /* prefixStart */
        92: .line 443
            iload 17 /* prefixStart */
            istore 14 /* start */
        93: .line 444
            iload 15 /* patternChar */
            istore 11 /* previous */
        94: .line 445
            iload 15 /* patternChar */
            istore 19 /* previousSegment */
        95: .line 446
            goto 123
        96: .line 449
      StackMap locals:
      StackMap stack:
            iload 13 /* count */
            istore 18 /* previousCount */
        97: .line 450
            iload 15 /* patternChar */
            bipush 63
            if_icmpne 103
        98: .line 451
            iload 11 /* previous */
            lookupswitch { // 2
                   42: 99
                   63: 99
              default: 100
          }
        99: .line 454
      StackMap locals:
      StackMap stack:
            goto 120
       100: .line 456
      StackMap locals:
      StackMap stack:
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 14 /* start */
            iastore
       101: .line 457
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 8 /* iName */
            iload 14 /* start */
            isub
            iastore
       102: .line 460
            goto 120
       103: .line 462
      StackMap locals:
      StackMap stack:
            iload 6 /* isCaseSensitive */
            ifeq 108
       104: .line 463
            aload 3 /* name */
            iload 8 /* iName */
            invokevirtual java.lang.String.charAt:(I)C
            iload 15 /* patternChar */
            if_icmpeq 105
            iconst_1
            goto 106
      StackMap locals:
      StackMap stack:
       105: iconst_0
      StackMap locals:
      StackMap stack: int
       106: istore 20 /* mismatch */
        start local 20 // boolean mismatch
       107: .line 464
            goto 111
        end local 20 // boolean mismatch
       108: .line 465
      StackMap locals:
      StackMap stack:
            aload 3 /* name */
            iload 8 /* iName */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic org.eclipse.jdt.internal.compiler.parser.ScannerHelper.toLowerCase:(C)C
            iload 15 /* patternChar */
            invokestatic org.eclipse.jdt.internal.compiler.parser.ScannerHelper.toLowerCase:(C)C
            if_icmpeq 109
            iconst_1
            goto 110
      StackMap locals:
      StackMap stack:
       109: iconst_0
      StackMap locals:
      StackMap stack: int
       110: istore 20 /* mismatch */
        start local 20 // boolean mismatch
       111: .line 467
      StackMap locals: int
      StackMap stack:
            iload 20 /* mismatch */
            ifeq 118
       112: .line 468
            iload 16 /* segmentStart */
            istore 7 /* iPattern */
       113: .line 469
            iinc 17 /* prefixStart */ 1
            iload 17 /* prefixStart */
            istore 8 /* iName */
       114: .line 470
            iload 17 /* prefixStart */
            istore 14 /* start */
       115: .line 471
            iload 18 /* previousCount */
            istore 13 /* count */
       116: .line 472
            iload 19 /* previousSegment */
            istore 11 /* previous */
       117: .line 473
            goto 123
       118: .line 475
      StackMap locals:
      StackMap stack:
            iload 11 /* previous */
            tableswitch { // 63 - 63
                   63: 119
              default: 120
          }
       119: .line 477
      StackMap locals:
      StackMap stack:
            iload 8 /* iName */
            istore 14 /* start */
        end local 20 // boolean mismatch
       120: .line 481
      StackMap locals:
      StackMap stack:
            iinc 8 /* iName */ 1
       121: .line 482
            iinc 7 /* iPattern */ 1
       122: .line 483
            iload 15 /* patternChar */
            istore 11 /* previous */
       123: .line 416
      StackMap locals:
      StackMap stack:
            iload 8 /* iName */
            iload 5 /* nameEnd */
            if_icmplt 75
       124: .line 486
            iload 16 /* segmentStart */
            iload 2 /* patternEnd */
            if_icmpeq 127
       125: .line 487
            iload 8 /* iName */
            iload 5 /* nameEnd */
            if_icmpne 126
            iload 7 /* iPattern */
            iload 2 /* patternEnd */
            if_icmpeq 127
       126: .line 488
      StackMap locals:
      StackMap stack:
            iload 7 /* iPattern */
            iload 2 /* patternEnd */
            iconst_1
            isub
            if_icmpne 131
            aload 0 /* pattern */
            iload 7 /* iPattern */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 42
            if_icmpne 131
       127: .line 489
      StackMap locals:
      StackMap stack:
            iload 13 /* count */
            iload 10 /* parts */
            iconst_2
            imul
            if_icmpge 130
       128: .line 490
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 14 /* start */
            iastore
       129: .line 491
            aload 12 /* segments */
            iload 13 /* count */
            iinc 13 /* count */ 1
            iload 8 /* iName */
            iload 14 /* start */
            isub
            iastore
       130: .line 493
      StackMap locals:
      StackMap stack:
            aload 12 /* segments */
            areturn
       131: .line 495
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 19 // char previousSegment
        end local 18 // int previousCount
        end local 17 // int prefixStart
        end local 16 // int segmentStart
        end local 15 // char patternChar
        end local 14 // int start
        end local 13 // int count
        end local 12 // int[] segments
        end local 11 // char previous
        end local 10 // int parts
        end local 9 // int questions
        end local 8 // int iName
        end local 7 // int iPattern
        end local 6 // boolean isCaseSensitive
        end local 5 // int nameEnd
        end local 4 // int nameStart
        end local 3 // java.lang.String name
        end local 2 // int patternEnd
        end local 1 // int patternStart
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  132     0          pattern  Ljava/lang/String;
            0  132     1     patternStart  I
            0  132     2       patternEnd  I
            0  132     3             name  Ljava/lang/String;
            0  132     4        nameStart  I
            0  132     5          nameEnd  I
            0  132     6  isCaseSensitive  Z
            4  132     7         iPattern  I
            5  132     8            iName  I
           10  132     9        questions  I
           11  132    10            parts  I
           12  132    11         previous  C
           13   24    12                i  I
           15   22    13               ch  C
           28  132    12         segments  [I
           29  132    13            count  I
           30  132    14            start  I
           31  132    15      patternChar  C
           59   60    16     segmentStart  I
           70  132    16     segmentStart  I
           63   69    17              end  I
           71  132    17      prefixStart  I
           72  132    18    previousCount  I
           74  132    19  previousSegment  C
          107  108    20         mismatch  Z
          111  120    20         mismatch  Z
    MethodParameters:
                 Name  Flags
      pattern          
      patternStart     
      patternEnd       
      name             
      nameStart        
      nameEnd          
      isCaseSensitive  
}
SourceFile: "StringOperation.java"