public class org.eclipse.jdt.internal.core.search.matching.ConstructorPattern extends org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern
  super_class: org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern
{
  protected boolean findDeclarations;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean findReferences;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  public char[] declaringQualification;
    descriptor: [C
    flags: (0x0001) ACC_PUBLIC

  public char[] declaringSimpleName;
    descriptor: [C
    flags: (0x0001) ACC_PUBLIC

  public char[][] parameterQualifications;
    descriptor: [[C
    flags: (0x0001) ACC_PUBLIC

  public char[][] parameterSimpleNames;
    descriptor: [[C
    flags: (0x0001) ACC_PUBLIC

  public int parameterCount;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public boolean varargs;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  char[][][] parametersTypeSignatures;
    descriptor: [[[C
    flags: (0x0000) 

  char[][][][] parametersTypeArguments;
    descriptor: [[[[C
    flags: (0x0000) 

  boolean constructorParameters;
    descriptor: Z
    flags: (0x0000) 

  char[][] constructorArguments;
    descriptor: [[C
    flags: (0x0000) 

  protected static char[][] REF_CATEGORIES;
    descriptor: [[C
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  protected static char[][] REF_AND_DECL_CATEGORIES;
    descriptor: [[C
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  protected static char[][] DECL_CATEGORIES;
    descriptor: [[C
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  public static final int FINE_GRAIN_MASK;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 520093696

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 50
            iconst_1
            anewarray char[]
            dup
            iconst_0
            getstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.CONSTRUCTOR_REF:[C
            aastore
            putstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.REF_CATEGORIES:[[C
         1: .line 51
            iconst_2
            anewarray char[]
            dup
            iconst_0
            getstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.CONSTRUCTOR_REF:[C
            aastore
            dup
            iconst_1
            getstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.CONSTRUCTOR_DECL:[C
            aastore
            putstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.REF_AND_DECL_CATEGORIES:[[C
         2: .line 52
            iconst_1
            anewarray char[]
            dup
            iconst_0
            getstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.CONSTRUCTOR_DECL:[C
            aastore
            putstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.DECL_CATEGORIES:[[C
         3: .line 59
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static char[] createDeclarationIndexKey(char[], int, char[], char[][], char[][], int, char[], int, int);
    descriptor: ([CI[C[[C[[CI[CII)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=22, args_size=9
        start local 0 // char[] typeName
        start local 1 // int argCount
        start local 2 // char[] signature
        start local 3 // char[][] parameterTypes
        start local 4 // char[][] parameterNames
        start local 5 // int modifiers
        start local 6 // char[] packageName
        start local 7 // int typeModifiers
        start local 8 // int extraFlags
         0: .line 93
            aconst_null
            astore 10 /* parameterTypesChars */
        start local 10 // char[] parameterTypesChars
         1: .line 94
            aconst_null
            astore 11 /* parameterNamesChars */
        start local 11 // char[] parameterNamesChars
         2: .line 96
            iload 1 /* argCount */
            ifge 5
         3: .line 97
            getstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.DEFAULT_CONSTRUCTOR:[C
            astore 9 /* countChars */
        start local 9 // char[] countChars
         4: .line 98
            goto 23
        end local 9 // char[] countChars
         5: .line 99
      StackMap locals: char[] int char[] char[][] char[][] int char[] int int top char[] char[]
      StackMap stack:
            iload 1 /* argCount */
            bipush 10
            if_icmpge 7
         6: .line 100
            getstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.COUNTS:[[C
            iload 1 /* argCount */
            aaload
            goto 8
         7: .line 101
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* argCount */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
         8: .line 99
      StackMap locals:
      StackMap stack: char[]
            astore 9 /* countChars */
        start local 9 // char[] countChars
         9: .line 103
            iload 1 /* argCount */
            ifle 23
        10: .line 104
            aload 2 /* signature */
            ifnonnull 20
        11: .line 105
            aload 3 /* parameterTypes */
            ifnull 21
            aload 3 /* parameterTypes */
            arraylength
            iload 1 /* argCount */
            if_icmpne 21
        12: .line 106
            iload 1 /* argCount */
            anewarray char[]
            astore 12 /* parameterTypeErasures */
        start local 12 // char[][] parameterTypeErasures
        13: .line 107
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        14: goto 17
        15: .line 108
      StackMap locals: char[] int char[] char[][] char[][] int char[] int int char[] char[] char[] char[][] int
      StackMap stack:
            aload 12 /* parameterTypeErasures */
            iload 13 /* i */
            aload 3 /* parameterTypes */
            iload 13 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.getTypeErasure:([C)[C
            aastore
        16: .line 107
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 13 /* i */
            aload 3 /* parameterTypes */
            arraylength
            if_icmplt 15
        end local 13 // int i
        18: .line 110
            aload 12 /* parameterTypeErasures */
            bipush 44
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            astore 10 /* parameterTypesChars */
        end local 12 // char[][] parameterTypeErasures
        19: .line 112
            goto 21
        20: .line 113
      StackMap locals:
      StackMap stack:
            iload 8 /* extraFlags */
            bipush 16
            ior
            istore 8 /* extraFlags */
        21: .line 116
      StackMap locals:
      StackMap stack:
            aload 4 /* parameterNames */
            ifnull 23
            aload 4 /* parameterNames */
            arraylength
            iload 1 /* argCount */
            if_icmpne 23
        22: .line 117
            aload 4 /* parameterNames */
            bipush 44
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            astore 11 /* parameterNamesChars */
        23: .line 122
      StackMap locals:
      StackMap stack:
            iload 8 /* extraFlags */
            iconst_2
            iand
            ifeq 24
            iconst_1
            goto 25
      StackMap locals:
      StackMap stack:
        24: iconst_0
      StackMap locals:
      StackMap stack: int
        25: istore 12 /* isMemberType */
        start local 12 // boolean isMemberType
        26: .line 124
            aload 0 /* typeName */
            ifnonnull 27
            iconst_0
            goto 28
      StackMap locals: int
      StackMap stack:
        27: aload 0 /* typeName */
            arraylength
      StackMap locals:
      StackMap stack: int
        28: istore 13 /* typeNameLength */
        start local 13 // int typeNameLength
        29: .line 125
            aload 6 /* packageName */
            ifnonnull 30
            iconst_0
            goto 31
      StackMap locals: int
      StackMap stack:
        30: aload 6 /* packageName */
            arraylength
      StackMap locals:
      StackMap stack: int
        31: istore 14 /* packageNameLength */
        start local 14 // int packageNameLength
        32: .line 126
            aload 9 /* countChars */
            arraylength
            istore 15 /* countCharsLength */
        start local 15 // int countCharsLength
        33: .line 127
            aload 2 /* signature */
            ifnonnull 35
            aload 10 /* parameterTypesChars */
            ifnonnull 34
            iconst_0
            goto 36
      StackMap locals: int int
      StackMap stack:
        34: aload 10 /* parameterTypesChars */
            arraylength
            goto 36
      StackMap locals:
      StackMap stack:
        35: aload 2 /* signature */
            arraylength
      StackMap locals:
      StackMap stack: int
        36: istore 16 /* parameterTypesLength */
        start local 16 // int parameterTypesLength
        37: .line 128
            aload 11 /* parameterNamesChars */
            ifnonnull 38
            iconst_0
            goto 39
      StackMap locals: int
      StackMap stack:
        38: aload 11 /* parameterNamesChars */
            arraylength
      StackMap locals:
      StackMap stack: int
        39: istore 17 /* parameterNamesLength */
        start local 17 // int parameterNamesLength
        40: .line 130
            iload 13 /* typeNameLength */
            iload 15 /* countCharsLength */
            iadd
            iconst_3
            iadd
            istore 18 /* resultLength */
        start local 18 // int resultLength
        41: .line 131
            iload 12 /* isMemberType */
            ifne 47
        42: .line 132
            iload 18 /* resultLength */
            iload 14 /* packageNameLength */
            iconst_1
            iadd
            iadd
            istore 18 /* resultLength */
        43: .line 133
            iload 1 /* argCount */
            iflt 45
        44: .line 134
            iinc 18 /* resultLength */ 3
        45: .line 137
      StackMap locals: int int
      StackMap stack:
            iload 1 /* argCount */
            ifle 47
        46: .line 138
            iload 18 /* resultLength */
            iload 16 /* parameterTypesLength */
            iload 17 /* parameterNamesLength */
            iadd
            iconst_2
            iadd
            iadd
            istore 18 /* resultLength */
        47: .line 142
      StackMap locals:
      StackMap stack:
            iload 18 /* resultLength */
            newarray 5
            astore 19 /* result */
        start local 19 // char[] result
        48: .line 144
            iconst_0
            istore 20 /* pos */
        start local 20 // int pos
        49: .line 145
            iload 13 /* typeNameLength */
            ifle 52
        50: .line 146
            aload 0 /* typeName */
            iconst_0
            aload 19 /* result */
            iload 20 /* pos */
            iload 13 /* typeNameLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        51: .line 147
            iload 20 /* pos */
            iload 13 /* typeNameLength */
            iadd
            istore 20 /* pos */
        52: .line 150
      StackMap locals: char[] int
      StackMap stack:
            iload 15 /* countCharsLength */
            ifle 55
        53: .line 151
            aload 9 /* countChars */
            iconst_0
            aload 19 /* result */
            iload 20 /* pos */
            iload 15 /* countCharsLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        54: .line 152
            iload 20 /* pos */
            iload 15 /* countCharsLength */
            iadd
            istore 20 /* pos */
        55: .line 155
      StackMap locals:
      StackMap stack:
            iload 7 /* typeModifiers */
            iload 8 /* extraFlags */
            invokestatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.encodeExtraFlags:(I)I
            ior
            istore 21 /* typeModifiersWithExtraFlags */
        start local 21 // int typeModifiersWithExtraFlags
        56: .line 156
            aload 19 /* result */
            iload 20 /* pos */
            iinc 20 /* pos */ 1
            bipush 47
            castore
        57: .line 157
            aload 19 /* result */
            iload 20 /* pos */
            iinc 20 /* pos */ 1
            iload 21 /* typeModifiersWithExtraFlags */
            i2c
            castore
        58: .line 158
            aload 19 /* result */
            iload 20 /* pos */
            iinc 20 /* pos */ 1
            iload 21 /* typeModifiersWithExtraFlags */
            bipush 16
            ishr
            i2c
            castore
        59: .line 160
            iload 12 /* isMemberType */
            ifne 84
        60: .line 161
            aload 19 /* result */
            iload 20 /* pos */
            iinc 20 /* pos */ 1
            bipush 47
            castore
        61: .line 162
            iload 14 /* packageNameLength */
            ifle 64
        62: .line 163
            aload 6 /* packageName */
            iconst_0
            aload 19 /* result */
            iload 20 /* pos */
            iload 14 /* packageNameLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        63: .line 164
            iload 20 /* pos */
            iload 14 /* packageNameLength */
            iadd
            istore 20 /* pos */
        64: .line 167
      StackMap locals: int
      StackMap stack:
            iload 1 /* argCount */
            ifne 69
        65: .line 168
            aload 19 /* result */
            iload 20 /* pos */
            iinc 20 /* pos */ 1
            bipush 47
            castore
        66: .line 169
            aload 19 /* result */
            iload 20 /* pos */
            iinc 20 /* pos */ 1
            iload 5 /* modifiers */
            i2c
            castore
        67: .line 170
            aload 19 /* result */
            iload 20 /* pos */
            iinc 20 /* pos */ 1
            iload 5 /* modifiers */
            bipush 16
            ishr
            i2c
            castore
        68: .line 171
            goto 84
      StackMap locals:
      StackMap stack:
        69: iload 1 /* argCount */
            ifle 84
        70: .line 172
            aload 19 /* result */
            iload 20 /* pos */
            iinc 20 /* pos */ 1
            bipush 47
            castore
        71: .line 173
            iload 16 /* parameterTypesLength */
            ifle 77
        72: .line 174
            aload 2 /* signature */
            ifnonnull 75
        73: .line 175
            aload 10 /* parameterTypesChars */
            iconst_0
            aload 19 /* result */
            iload 20 /* pos */
            iload 16 /* parameterTypesLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        74: .line 176
            goto 76
        75: .line 177
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            bipush 47
            bipush 92
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replaceOnCopy:([CCC)[C
            iconst_0
            aload 19 /* result */
            iload 20 /* pos */
            iload 16 /* parameterTypesLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        76: .line 179
      StackMap locals:
      StackMap stack:
            iload 20 /* pos */
            iload 16 /* parameterTypesLength */
            iadd
            istore 20 /* pos */
        77: .line 182
      StackMap locals:
      StackMap stack:
            aload 19 /* result */
            iload 20 /* pos */
            iinc 20 /* pos */ 1
            bipush 47
            castore
        78: .line 183
            iload 17 /* parameterNamesLength */
            ifle 81
        79: .line 184
            aload 11 /* parameterNamesChars */
            iconst_0
            aload 19 /* result */
            iload 20 /* pos */
            iload 17 /* parameterNamesLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        80: .line 185
            iload 20 /* pos */
            iload 17 /* parameterNamesLength */
            iadd
            istore 20 /* pos */
        81: .line 188
      StackMap locals:
      StackMap stack:
            aload 19 /* result */
            iload 20 /* pos */
            iinc 20 /* pos */ 1
            bipush 47
            castore
        82: .line 189
            aload 19 /* result */
            iload 20 /* pos */
            iinc 20 /* pos */ 1
            iload 5 /* modifiers */
            i2c
            castore
        83: .line 190
            aload 19 /* result */
            iload 20 /* pos */
            iinc 20 /* pos */ 1
            iload 5 /* modifiers */
            bipush 16
            ishr
            i2c
            castore
        84: .line 195
      StackMap locals:
      StackMap stack:
            aload 19 /* result */
            areturn
        end local 21 // int typeModifiersWithExtraFlags
        end local 20 // int pos
        end local 19 // char[] result
        end local 18 // int resultLength
        end local 17 // int parameterNamesLength
        end local 16 // int parameterTypesLength
        end local 15 // int countCharsLength
        end local 14 // int packageNameLength
        end local 13 // int typeNameLength
        end local 12 // boolean isMemberType
        end local 11 // char[] parameterNamesChars
        end local 10 // char[] parameterTypesChars
        end local 9 // char[] countChars
        end local 8 // int extraFlags
        end local 7 // int typeModifiers
        end local 6 // char[] packageName
        end local 5 // int modifiers
        end local 4 // char[][] parameterNames
        end local 3 // char[][] parameterTypes
        end local 2 // char[] signature
        end local 1 // int argCount
        end local 0 // char[] typeName
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   85     0                     typeName  [C
            0   85     1                     argCount  I
            0   85     2                    signature  [C
            0   85     3               parameterTypes  [[C
            0   85     4               parameterNames  [[C
            0   85     5                    modifiers  I
            0   85     6                  packageName  [C
            0   85     7                typeModifiers  I
            0   85     8                   extraFlags  I
            4    5     9                   countChars  [C
            9   85     9                   countChars  [C
            1   85    10          parameterTypesChars  [C
            2   85    11          parameterNamesChars  [C
           13   19    12        parameterTypeErasures  [[C
           14   18    13                            i  I
           26   85    12                 isMemberType  Z
           29   85    13               typeNameLength  I
           32   85    14            packageNameLength  I
           33   85    15             countCharsLength  I
           37   85    16         parameterTypesLength  I
           40   85    17         parameterNamesLength  I
           41   85    18                 resultLength  I
           48   85    19                       result  [C
           49   85    20                          pos  I
           56   85    21  typeModifiersWithExtraFlags  I
    MethodParameters:
                Name  Flags
      typeName        
      argCount        
      signature       
      parameterTypes  
      parameterNames  
      modifiers       
      packageName     
      typeModifiers   
      extraFlags      

  public static char[] createDefaultDeclarationIndexKey(char[], char[], int, int);
    descriptor: ([C[CII)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=4, args_size=4
        start local 0 // char[] typeName
        start local 1 // char[] packageName
        start local 2 // int typeModifiers
        start local 3 // int extraFlags
         0: .line 203
            aload 0 /* typeName */
         1: .line 204
            iconst_m1
         2: .line 205
            aconst_null
         3: .line 206
            aconst_null
         4: .line 207
            aconst_null
         5: .line 208
            iconst_0
         6: .line 209
            aload 1 /* packageName */
         7: .line 210
            iload 2 /* typeModifiers */
         8: .line 211
            iload 3 /* extraFlags */
         9: .line 202
            invokestatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.createDeclarationIndexKey:([CI[C[[C[[CI[CII)[C
            areturn
        end local 3 // int extraFlags
        end local 2 // int typeModifiers
        end local 1 // char[] packageName
        end local 0 // char[] typeName
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0       typeName  [C
            0   10     1    packageName  [C
            0   10     2  typeModifiers  I
            0   10     3     extraFlags  I
    MethodParameters:
               Name  Flags
      typeName       
      packageName    
      typeModifiers  
      extraFlags     

  public static char[] createIndexKey(char[], int);
    descriptor: ([CI)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // char[] typeName
        start local 1 // int argCount
         0: .line 219
            iload 1 /* argCount */
            bipush 10
            if_icmpge 2
         1: .line 220
            getstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.COUNTS:[[C
            iload 1 /* argCount */
            aaload
            goto 3
         2: .line 221
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* argCount */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
         3: .line 219
      StackMap locals:
      StackMap stack: char[]
            astore 2 /* countChars */
        start local 2 // char[] countChars
         4: .line 222
            aload 0 /* typeName */
            aload 2 /* countChars */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([C[C)[C
            areturn
        end local 2 // char[] countChars
        end local 1 // int argCount
        end local 0 // char[] typeName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0    typeName  [C
            0    5     1    argCount  I
            4    5     2  countChars  [C
    MethodParameters:
          Name  Flags
      typeName  
      argCount  

  static int decodeExtraFlags(int);
    descriptor: (I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int modifiersWithExtraFlags
         0: .line 225
            iconst_0
            istore 1 /* extraFlags */
        start local 1 // int extraFlags
         1: .line 227
            iload 0 /* modifiersWithExtraFlags */
            ldc 134217728
            iand
            ifeq 3
         2: .line 228
            iload 1 /* extraFlags */
            bipush 16
            ior
            istore 1 /* extraFlags */
         3: .line 231
      StackMap locals: int
      StackMap stack:
            iload 0 /* modifiersWithExtraFlags */
            ldc 268435456
            iand
            ifeq 5
         4: .line 232
            iload 1 /* extraFlags */
            iconst_4
            ior
            istore 1 /* extraFlags */
         5: .line 235
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiersWithExtraFlags */
            ldc 536870912
            iand
            ifeq 7
         6: .line 236
            iload 1 /* extraFlags */
            iconst_2
            ior
            istore 1 /* extraFlags */
         7: .line 239
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiersWithExtraFlags */
            ldc 1073741824
            iand
            ifeq 9
         8: .line 240
            iload 1 /* extraFlags */
            iconst_1
            ior
            istore 1 /* extraFlags */
         9: .line 243
      StackMap locals:
      StackMap stack:
            iload 1 /* extraFlags */
            ireturn
        end local 1 // int extraFlags
        end local 0 // int modifiersWithExtraFlags
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   10     0  modifiersWithExtraFlags  I
            1   10     1               extraFlags  I
    MethodParameters:
                         Name  Flags
      modifiersWithExtraFlags  

  static int decodeModifers(int);
    descriptor: (I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int modifiersWithExtraFlags
         0: .line 246
            iload 0 /* modifiersWithExtraFlags */
            ldc -2013265921
            iand
            ireturn
        end local 0 // int modifiersWithExtraFlags
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    1     0  modifiersWithExtraFlags  I
    MethodParameters:
                         Name  Flags
      modifiersWithExtraFlags  

  private static int encodeExtraFlags(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int extraFlags
         0: .line 249
            iconst_0
            istore 1 /* encodedExtraFlags */
        start local 1 // int encodedExtraFlags
         1: .line 251
            iload 0 /* extraFlags */
            bipush 16
            iand
            ifeq 3
         2: .line 252
            iload 1 /* encodedExtraFlags */
            ldc 134217728
            ior
            istore 1 /* encodedExtraFlags */
         3: .line 255
      StackMap locals: int
      StackMap stack:
            iload 0 /* extraFlags */
            iconst_4
            iand
            ifeq 5
         4: .line 256
            iload 1 /* encodedExtraFlags */
            ldc 268435456
            ior
            istore 1 /* encodedExtraFlags */
         5: .line 259
      StackMap locals:
      StackMap stack:
            iload 0 /* extraFlags */
            iconst_2
            iand
            ifeq 7
         6: .line 260
            iload 1 /* encodedExtraFlags */
            ldc 536870912
            ior
            istore 1 /* encodedExtraFlags */
         7: .line 262
      StackMap locals:
      StackMap stack:
            iload 0 /* extraFlags */
            iconst_1
            iand
            ifeq 9
         8: .line 263
            iload 1 /* encodedExtraFlags */
            ldc 1073741824
            ior
            istore 1 /* encodedExtraFlags */
         9: .line 266
      StackMap locals:
      StackMap stack:
            iload 1 /* encodedExtraFlags */
            ireturn
        end local 1 // int encodedExtraFlags
        end local 0 // int extraFlags
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0         extraFlags  I
            1   10     1  encodedExtraFlags  I
    MethodParameters:
            Name  Flags
      extraFlags  

  private static char[] getTypeErasure(char[]);
    descriptor: ([C)[C
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // char[] typeName
         0: .line 270
            bipush 60
            aload 0 /* typeName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[C)I
            dup
            istore 1 /* index */
        start local 1 // int index
         1: iconst_m1
            if_icmpne 2
            aload 0 /* typeName */
            areturn
         2: .line 272
      StackMap locals: int
      StackMap stack:
            aload 0 /* typeName */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         3: .line 273
            iload 2 /* length */
            iconst_2
            isub
            newarray 5
            astore 3 /* typeErasurename */
        start local 3 // char[] typeErasurename
         4: .line 275
            aload 0 /* typeName */
            iconst_0
            aload 3 /* typeErasurename */
            iconst_0
            iload 1 /* index */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 277
            iconst_1
            istore 4 /* depth */
        start local 4 // int depth
         6: .line 278
            iload 1 /* index */
            iconst_1
            iadd
            istore 5 /* i */
        start local 5 // int i
         7: goto 16
         8: .line 279
      StackMap locals: char[] int int char[] int int
      StackMap stack:
            aload 0 /* typeName */
            iload 5 /* i */
            caload
            tableswitch { // 60 - 62
                   60: 9
                   61: 13
                   62: 11
              default: 13
          }
         9: .line 281
      StackMap locals:
      StackMap stack:
            iinc 4 /* depth */ 1
        10: .line 282
            goto 15
        11: .line 284
      StackMap locals:
      StackMap stack:
            iinc 4 /* depth */ -1
        12: .line 285
            goto 15
        13: .line 287
      StackMap locals:
      StackMap stack:
            iload 4 /* depth */
            ifne 15
        14: .line 288
            aload 3 /* typeErasurename */
            iload 1 /* index */
            iinc 1 /* index */ 1
            aload 0 /* typeName */
            iload 5 /* i */
            caload
            castore
        15: .line 278
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            iload 2 /* length */
            if_icmplt 8
        end local 5 // int i
        17: .line 294
            aload 3 /* typeErasurename */
            iconst_0
            iload 1 /* index */
            newarray 5
            dup
            astore 3 /* typeErasurename */
            iconst_0
            iload 1 /* index */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 295
            aload 3 /* typeErasurename */
            areturn
        end local 4 // int depth
        end local 3 // char[] typeErasurename
        end local 2 // int length
        end local 1 // int index
        end local 0 // char[] typeName
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   19     0         typeName  [C
            1   19     1            index  I
            3   19     2           length  I
            4   19     3  typeErasurename  [C
            6   19     4            depth  I
            7   17     5                i  I
    MethodParameters:
          Name  Flags
      typeName  

  void <init>(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
        start local 1 // int matchRule
         0: .line 298
            aload 0 /* this */
            bipush 32
            iload 1 /* matchRule */
            invokespecial org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern.<init>:(II)V
         1: .line 33
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.findDeclarations:Z
         2: .line 34
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.findReferences:Z
         3: .line 42
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.varargs:Z
         4: .line 47
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.constructorParameters:Z
         5: .line 298
            return
        end local 1 // int matchRule
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;
            0    6     1  matchRule  I
    MethodParameters:
           Name  Flags
      matchRule  

  public void <init>(char[], char[], char[][], char[][], int, int);
    descriptor: ([C[C[[C[[CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=7
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
        start local 1 // char[] declaringSimpleName
        start local 2 // char[] declaringQualification
        start local 3 // char[][] parameterQualifications
        start local 4 // char[][] parameterSimpleNames
        start local 5 // int limitTo
        start local 6 // int matchRule
         0: .line 308
            aload 0 /* this */
            iload 6 /* matchRule */
            invokespecial org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.<init>:(I)V
         1: .line 310
            aload 0 /* this */
            iload 5 /* limitTo */
            ldc 520093696
            iand
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.fineGrain:I
         2: .line 311
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.fineGrain:I
            ifne 9
         3: .line 312
            iload 5 /* limitTo */
            tableswitch { // 0 - 3
                    0: 4
                    1: 8
                    2: 6
                    3: 8
              default: 8
          }
         4: .line 314
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern char[] char[] char[][] char[][] int int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.findReferences:Z
         5: .line 315
            goto 10
         6: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.findDeclarations:Z
         7: .line 318
            goto 10
         8: .line 322
      StackMap locals:
      StackMap stack:
            goto 10
         9: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.findDeclarations:Z
        10: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.isCaseSensitive:Z
            ifeq 11
            aload 2 /* declaringQualification */
            goto 12
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern
        11: aload 2 /* declaringQualification */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toLowerCase:([C)[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern char[] char[] char[][] char[][] int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern char[]
        12: putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringQualification:[C
        13: .line 327
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.isCaseSensitive:Z
            ifne 14
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.isCamelCase:Z
            ifeq 15
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern
        14: aload 1 /* declaringSimpleName */
            goto 16
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern
        15: aload 1 /* declaringSimpleName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toLowerCase:([C)[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern char[] char[] char[][] char[][] int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern char[]
        16: putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
        17: .line 328
            aload 4 /* parameterSimpleNames */
            ifnull 39
        18: .line 329
            aload 0 /* this */
            aload 4 /* parameterSimpleNames */
            arraylength
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
        19: .line 330
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
            ifle 20
            aload 2 /* declaringQualification */
            ifnull 20
            aload 3 /* parameterQualifications */
            iconst_0
            aaload
            aload 4 /* parameterSimpleNames */
            iconst_0
            aaload
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([C[CC)[C
            aload 2 /* declaringQualification */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 20
            iconst_1
            goto 21
      StackMap locals:
      StackMap stack:
        20: iconst_0
      StackMap locals:
      StackMap stack: int
        21: istore 7 /* synthetic */
        start local 7 // boolean synthetic
        22: .line 331
            iconst_0
            istore 8 /* offset */
        start local 8 // int offset
        23: .line 332
            iload 7 /* synthetic */
            ifeq 26
        24: .line 334
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
            iconst_1
            isub
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
        25: .line 335
            iinc 8 /* offset */ 1
        26: .line 337
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
            anewarray char[]
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterQualifications:[[C
        27: .line 338
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
            anewarray char[]
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterSimpleNames:[[C
        28: .line 339
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        29: goto 37
        30: .line 340
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterQualifications:[[C
            iload 9 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.isCaseSensitive:Z
            ifeq 31
            aload 3 /* parameterQualifications */
            iload 9 /* i */
            iload 8 /* offset */
            iadd
            aaload
            goto 32
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern char[] char[] char[][] char[][] int int int int int
      StackMap stack: char[][] int
        31: aload 3 /* parameterQualifications */
            iload 9 /* i */
            iload 8 /* offset */
            iadd
            aaload
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toLowerCase:([C)[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern char[] char[] char[][] char[][] int int int int int
      StackMap stack: char[][] int char[]
        32: aastore
        33: .line 341
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterSimpleNames:[[C
            iload 9 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.isCaseSensitive:Z
            ifeq 34
            aload 4 /* parameterSimpleNames */
            iload 9 /* i */
            iload 8 /* offset */
            iadd
            aaload
            goto 35
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern char[] char[] char[][] char[][] int int int int int
      StackMap stack: char[][] int
        34: aload 4 /* parameterSimpleNames */
            iload 9 /* i */
            iload 8 /* offset */
            iadd
            aaload
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toLowerCase:([C)[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern char[] char[] char[][] char[][] int int int int int
      StackMap stack: char[][] int char[]
        35: aastore
        36: .line 339
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 9 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
            if_icmplt 30
        end local 9 // int i
        end local 8 // int offset
        end local 7 // boolean synthetic
        38: .line 343
            goto 40
        39: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
        40: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.mustResolve:()Z
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.mustResolve:Z
        41: .line 347
            return
        end local 6 // int matchRule
        end local 5 // int limitTo
        end local 4 // char[][] parameterSimpleNames
        end local 3 // char[][] parameterQualifications
        end local 2 // char[] declaringQualification
        end local 1 // char[] declaringSimpleName
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   42     0                     this  Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;
            0   42     1      declaringSimpleName  [C
            0   42     2   declaringQualification  [C
            0   42     3  parameterQualifications  [[C
            0   42     4     parameterSimpleNames  [[C
            0   42     5                  limitTo  I
            0   42     6                matchRule  I
           22   38     7                synthetic  Z
           23   38     8                   offset  I
           29   38     9                        i  I
    MethodParameters:
                         Name  Flags
      declaringSimpleName      
      declaringQualification   
      parameterQualifications  
      parameterSimpleNames     
      limitTo                  
      matchRule                

  public void <init>(char[], char[], char[][], char[][], java.lang.String[], org.eclipse.jdt.core.IMethod, int, int);
    descriptor: ([C[C[[C[[C[Ljava/lang/String;Lorg/eclipse/jdt/core/IMethod;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=12, args_size=9
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
        start local 1 // char[] declaringSimpleName
        start local 2 // char[] declaringQualification
        start local 3 // char[][] parameterQualifications
        start local 4 // char[][] parameterSimpleNames
        start local 5 // java.lang.String[] parameterSignatures
        start local 6 // org.eclipse.jdt.core.IMethod method
        start local 7 // int limitTo
        start local 8 // int matchRule
         0: .line 361
            aload 0 /* this */
            aload 1 /* declaringSimpleName */
         1: .line 362
            aload 2 /* declaringQualification */
         2: .line 363
            aload 3 /* parameterQualifications */
         3: .line 364
            aload 4 /* parameterSimpleNames */
         4: .line 365
            iload 7 /* limitTo */
         5: .line 366
            iload 8 /* matchRule */
            invokespecial org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.<init>:([C[C[[C[[CII)V
         6: .line 370
            aload 0 /* this */
            aload 6 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getFlags:()I
            sipush 128
            iand
            ifeq 7
            iconst_1
            goto 8
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern char[] char[] char[][] char[][] java.lang.String[] org.eclipse.jdt.core.IMethod int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern
         7: iconst_0
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern char[] char[] char[][] char[][] java.lang.String[] org.eclipse.jdt.core.IMethod int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern int
         8: putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.varargs:Z
         9: .line 371
            goto 11
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        10: pop
        11: .line 376
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* genericDeclaringTypeSignature */
        start local 9 // java.lang.String genericDeclaringTypeSignature
        12: .line 377
            aload 6 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.isResolved:()Z
            ifeq 21
        13: .line 378
            aload 6 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getKey:()Ljava/lang/String;
            astore 10 /* key */
        start local 10 // java.lang.String key
        14: .line 379
            new org.eclipse.jdt.core.BindingKey
            dup
            aload 10 /* key */
            invokespecial org.eclipse.jdt.core.BindingKey.<init>:(Ljava/lang/String;)V
            astore 11 /* bindingKey */
        start local 11 // org.eclipse.jdt.core.BindingKey bindingKey
        15: .line 380
            aload 11 /* bindingKey */
            invokevirtual org.eclipse.jdt.core.BindingKey.isParameterizedType:()Z
            ifeq 23
        16: .line 381
            aload 10 /* key */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getDeclaringTypeSignature:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* genericDeclaringTypeSignature */
        17: .line 383
            aload 9 /* genericDeclaringTypeSignature */
            ifnull 23
        18: .line 384
            aload 0 /* this */
            aload 9 /* genericDeclaringTypeSignature */
            invokestatic org.eclipse.jdt.internal.core.util.Util.splitTypeLevelsSignature:(Ljava/lang/String;)[[C
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.typeSignatures:[[C
        19: .line 385
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.typeSignatures:[[C
            invokestatic org.eclipse.jdt.internal.core.util.Util.getAllTypeArguments:([[C)[[[C
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.setTypeArguments:([[[C)V
        end local 11 // org.eclipse.jdt.core.BindingKey bindingKey
        end local 10 // java.lang.String key
        20: .line 388
            goto 23
        21: .line 389
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.constructorParameters:Z
        22: .line 390
            aload 0 /* this */
            aload 6 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.storeTypeSignaturesAndArguments:(Lorg/eclipse/jdt/core/IType;)V
        23: .line 394
      StackMap locals:
      StackMap stack:
            aload 5 /* parameterSignatures */
            ifnull 34
        24: .line 395
            aload 5 /* parameterSignatures */
            arraylength
            istore 10 /* length */
        start local 10 // int length
        25: .line 396
            iload 10 /* length */
            ifle 34
        26: .line 397
            aload 0 /* this */
            iload 10 /* length */
            anewarray char[][]
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parametersTypeSignatures:[[[C
        27: .line 398
            aload 0 /* this */
            iload 10 /* length */
            anewarray char[][][]
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parametersTypeArguments:[[[[C
        28: .line 399
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        29: goto 33
        30: .line 400
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parametersTypeSignatures:[[[C
            iload 11 /* i */
            aload 5 /* parameterSignatures */
            iload 11 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.core.util.Util.splitTypeLevelsSignature:(Ljava/lang/String;)[[C
            aastore
        31: .line 401
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parametersTypeArguments:[[[[C
            iload 11 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parametersTypeSignatures:[[[C
            iload 11 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.core.util.Util.getAllTypeArguments:([[C)[[[C
            aastore
        32: .line 399
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 11 /* i */
            iload 10 /* length */
            if_icmplt 30
        end local 11 // int i
        end local 10 // int length
        34: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 6 /* method */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.extractMethodArguments:(Lorg/eclipse/jdt/core/IMethod;)[[C
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.constructorArguments:[[C
        35: .line 408
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.hasConstructorArguments:()Z
            ifeq 36
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.mustResolve:Z
        36: .line 409
      StackMap locals:
      StackMap stack:
            return
        end local 9 // java.lang.String genericDeclaringTypeSignature
        end local 8 // int matchRule
        end local 7 // int limitTo
        end local 6 // org.eclipse.jdt.core.IMethod method
        end local 5 // java.lang.String[] parameterSignatures
        end local 4 // char[][] parameterSimpleNames
        end local 3 // char[][] parameterQualifications
        end local 2 // char[] declaringQualification
        end local 1 // char[] declaringSimpleName
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   37     0                           this  Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;
            0   37     1            declaringSimpleName  [C
            0   37     2         declaringQualification  [C
            0   37     3        parameterQualifications  [[C
            0   37     4           parameterSimpleNames  [[C
            0   37     5            parameterSignatures  [Ljava/lang/String;
            0   37     6                         method  Lorg/eclipse/jdt/core/IMethod;
            0   37     7                        limitTo  I
            0   37     8                      matchRule  I
           12   37     9  genericDeclaringTypeSignature  Ljava/lang/String;
           14   20    10                            key  Ljava/lang/String;
           15   20    11                     bindingKey  Lorg/eclipse/jdt/core/BindingKey;
           25   34    10                         length  I
           29   34    11                              i  I
      Exception table:
        from    to  target  type
           6     9      10  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                         Name  Flags
      declaringSimpleName      
      declaringQualification   
      parameterQualifications  
      parameterSimpleNames     
      parameterSignatures      
      method                   
      limitTo                  
      matchRule                

  public void <init>(char[], char[], java.lang.String, char[][], char[][], java.lang.String[], char[][], int, int);
    descriptor: ([C[CLjava/lang/String;[[C[[C[Ljava/lang/String;[[CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=12, args_size=10
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
        start local 1 // char[] declaringSimpleName
        start local 2 // char[] declaringQualification
        start local 3 // java.lang.String declaringSignature
        start local 4 // char[][] parameterQualifications
        start local 5 // char[][] parameterSimpleNames
        start local 6 // java.lang.String[] parameterSignatures
        start local 7 // char[][] arguments
        start local 8 // int limitTo
        start local 9 // int matchRule
         0: .line 424
            aload 0 /* this */
            aload 1 /* declaringSimpleName */
         1: .line 425
            aload 2 /* declaringQualification */
         2: .line 426
            aload 4 /* parameterQualifications */
         3: .line 427
            aload 5 /* parameterSimpleNames */
         4: .line 428
            iload 8 /* limitTo */
         5: .line 429
            iload 9 /* matchRule */
            invokespecial org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.<init>:([C[C[[C[[CII)V
         6: .line 432
            aload 3 /* declaringSignature */
            ifnull 9
         7: .line 433
            aload 0 /* this */
            aload 3 /* declaringSignature */
            invokestatic org.eclipse.jdt.internal.core.util.Util.splitTypeLevelsSignature:(Ljava/lang/String;)[[C
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.typeSignatures:[[C
         8: .line 434
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.typeSignatures:[[C
            invokestatic org.eclipse.jdt.internal.core.util.Util.getAllTypeArguments:([[C)[[[C
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.setTypeArguments:([[[C)V
         9: .line 438
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern char[] char[] java.lang.String char[][] char[][] java.lang.String[] char[][] int int
      StackMap stack:
            aload 6 /* parameterSignatures */
            ifnull 20
        10: .line 439
            aload 6 /* parameterSignatures */
            arraylength
            istore 10 /* length */
        start local 10 // int length
        11: .line 440
            iload 10 /* length */
            ifle 20
        12: .line 441
            aload 0 /* this */
            iload 10 /* length */
            anewarray char[][]
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parametersTypeSignatures:[[[C
        13: .line 442
            aload 0 /* this */
            iload 10 /* length */
            anewarray char[][][]
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parametersTypeArguments:[[[[C
        14: .line 443
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        15: goto 19
        16: .line 444
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parametersTypeSignatures:[[[C
            iload 11 /* i */
            aload 6 /* parameterSignatures */
            iload 11 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.core.util.Util.splitTypeLevelsSignature:(Ljava/lang/String;)[[C
            aastore
        17: .line 445
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parametersTypeArguments:[[[[C
            iload 11 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parametersTypeSignatures:[[[C
            iload 11 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.core.util.Util.getAllTypeArguments:([[C)[[[C
            aastore
        18: .line 443
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 11 /* i */
            iload 10 /* length */
            if_icmplt 16
        end local 11 // int i
        end local 10 // int length
        20: .line 451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* arguments */
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.constructorArguments:[[C
        21: .line 452
            aload 7 /* arguments */
            ifnull 22
            aload 7 /* arguments */
            arraylength
            ifne 24
        22: .line 453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.getTypeArguments:()[[[C
            ifnull 24
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.getTypeArguments:()[[[C
            arraylength
            ifle 24
        23: .line 454
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.getTypeArguments:()[[[C
            iconst_0
            aaload
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.constructorArguments:[[C
        24: .line 457
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.hasConstructorArguments:()Z
            ifeq 25
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.mustResolve:Z
        25: .line 458
      StackMap locals:
      StackMap stack:
            return
        end local 9 // int matchRule
        end local 8 // int limitTo
        end local 7 // char[][] arguments
        end local 6 // java.lang.String[] parameterSignatures
        end local 5 // char[][] parameterSimpleNames
        end local 4 // char[][] parameterQualifications
        end local 3 // java.lang.String declaringSignature
        end local 2 // char[] declaringQualification
        end local 1 // char[] declaringSimpleName
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   26     0                     this  Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;
            0   26     1      declaringSimpleName  [C
            0   26     2   declaringQualification  [C
            0   26     3       declaringSignature  Ljava/lang/String;
            0   26     4  parameterQualifications  [[C
            0   26     5     parameterSimpleNames  [[C
            0   26     6      parameterSignatures  [Ljava/lang/String;
            0   26     7                arguments  [[C
            0   26     8                  limitTo  I
            0   26     9                matchRule  I
           11   20    10                   length  I
           15   20    11                        i  I
    MethodParameters:
                         Name  Flags
      declaringSimpleName      
      declaringQualification   
      declaringSignature       
      parameterQualifications  
      parameterSimpleNames     
      parameterSignatures      
      arguments                
      limitTo                  
      matchRule                

  public void decodeIndexKey(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
        start local 1 // char[] key
         0: .line 462
            aload 1 /* key */
            arraylength
            iconst_1
            isub
            istore 2 /* last */
        start local 2 // int last
         1: .line 463
            bipush 47
            aload 1 /* key */
            iconst_0
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[CI)I
            istore 3 /* slash */
        start local 3 // int slash
         2: .line 464
            aload 0 /* this */
            aload 1 /* key */
            iconst_0
            iload 3 /* slash */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
         3: .line 466
            iload 3 /* slash */
            iconst_1
            iadd
            istore 4 /* start */
        start local 4 // int start
         4: .line 467
            bipush 47
            aload 1 /* key */
            iload 4 /* start */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[CI)I
            istore 3 /* slash */
         5: .line 468
            iload 3 /* slash */
            iconst_m1
            if_icmpeq 7
         6: .line 469
            iload 3 /* slash */
            iconst_1
            isub
            istore 2 /* last */
         7: .line 472
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* key */
            iload 2 /* last */
            caload
            bipush 35
            if_icmpne 8
            iconst_1
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 5 /* isDefaultConstructor */
        start local 5 // boolean isDefaultConstructor
        10: .line 473
            iload 5 /* isDefaultConstructor */
            ifeq 13
        11: .line 474
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
        12: .line 475
            goto 24
        13: .line 476
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
        14: .line 477
            iconst_1
            istore 6 /* power */
        start local 6 // int power
        15: .line 478
            iload 2 /* last */
            istore 7 /* i */
        start local 7 // int i
        16: goto 23
        17: .line 479
      StackMap locals: int int
      StackMap stack:
            iload 7 /* i */
            iload 2 /* last */
            if_icmpne 20
        18: .line 480
            aload 0 /* this */
            aload 1 /* key */
            iload 7 /* i */
            caload
            bipush 48
            isub
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
        19: .line 481
            goto 22
        20: .line 482
      StackMap locals:
      StackMap stack:
            iload 6 /* power */
            bipush 10
            imul
            istore 6 /* power */
        21: .line 483
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
            iload 6 /* power */
            aload 1 /* key */
            iload 7 /* i */
            caload
            bipush 48
            isub
            imul
            iadd
            putfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
        22: .line 478
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        23: iload 7 /* i */
            iload 4 /* start */
            if_icmpge 17
        end local 7 // int i
        end local 6 // int power
        24: .line 487
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean isDefaultConstructor
        end local 4 // int start
        end local 3 // int slash
        end local 2 // int last
        end local 1 // char[] key
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   25     0                  this  Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;
            0   25     1                   key  [C
            1   25     2                  last  I
            2   25     3                 slash  I
            4   25     4                 start  I
           10   25     5  isDefaultConstructor  Z
           15   24     6                 power  I
           16   24     7                     i  I
    MethodParameters:
      Name  Flags
      key   

  public org.eclipse.jdt.core.search.SearchPattern getBlankPattern();
    descriptor: ()Lorg/eclipse/jdt/core/search/SearchPattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
         0: .line 490
            new org.eclipse.jdt.internal.core.search.matching.ConstructorPattern
            dup
            bipush 8
            invokespecial org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.<init>:(I)V
            areturn
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;

  public char[][] getIndexCategories();
    descriptor: ()[[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
         0: .line 494
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.findReferences:Z
            ifeq 4
         1: .line 495
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.findDeclarations:Z
            ifeq 2
            getstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.REF_AND_DECL_CATEGORIES:[[C
            goto 3
      StackMap locals:
      StackMap stack:
         2: getstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.REF_CATEGORIES:[[C
      StackMap locals:
      StackMap stack: char[][]
         3: areturn
         4: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.findDeclarations:Z
            ifeq 6
         5: .line 497
            getstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.DECL_CATEGORIES:[[C
            areturn
         6: .line 498
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_CHAR_CHAR:[[C
            areturn
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;

  boolean hasConstructorArguments();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
         0: .line 501
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.constructorArguments:[[C
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.constructorArguments:[[C
            arraylength
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;

  boolean hasConstructorParameters();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
         0: .line 504
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.constructorParameters:Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;

  public boolean matchesDecodedKey(org.eclipse.jdt.core.search.SearchPattern);
    descriptor: (Lorg/eclipse/jdt/core/search/SearchPattern;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
        start local 1 // org.eclipse.jdt.core.search.SearchPattern decodedPattern
         0: .line 508
            aload 1 /* decodedPattern */
            checkcast org.eclipse.jdt.internal.core.search.matching.ConstructorPattern
            astore 2 /* pattern */
        start local 2 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern pattern
         1: .line 510
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
            iconst_m1
            if_icmpeq 5
         2: .line 511
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
            if_icmpeq 3
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
            iconst_m1
            if_icmpeq 3
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.varargs:Z
            ifeq 5
         3: .line 512
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.matchesName:([C[C)Z
            ifeq 5
         4: .line 510
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern pattern
        end local 1 // org.eclipse.jdt.core.search.SearchPattern decodedPattern
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;
            0    6     1  decodedPattern  Lorg/eclipse/jdt/core/search/SearchPattern;
            1    6     2         pattern  Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;
    MethodParameters:
                Name  Flags
      decodedPattern  

  protected boolean mustResolve();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
         0: .line 515
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringQualification:[C
            ifnull 1
            iconst_1
            ireturn
         1: .line 518
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterSimpleNames:[[C
            ifnull 8
         2: .line 519
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterSimpleNames:[[C
            arraylength
            istore 2 /* max */
        start local 2 // int max
         4: goto 7
         5: .line 520
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterQualifications:[[C
            iload 1 /* i */
            aaload
            ifnull 6
            iconst_1
            ireturn
         6: .line 519
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 1 /* i */
            iload 2 /* max */
            if_icmplt 5
        end local 2 // int max
        end local 1 // int i
         8: .line 521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.findReferences:Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;
            3    8     1     i  I
            4    8     2   max  I

  public org.eclipse.jdt.internal.core.index.EntryResult[] queryIn(org.eclipse.jdt.internal.core.index.Index);
    descriptor: (Lorg/eclipse/jdt/internal/core/index/Index;)[Lorg/eclipse/jdt/internal/core/index/EntryResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
        start local 1 // org.eclipse.jdt.internal.core.index.Index index
         0: .line 525
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
            astore 2 /* key */
        start local 2 // char[] key
         1: .line 526
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.getMatchRule:()I
            istore 3 /* matchRule */
        start local 3 // int matchRule
         2: .line 528
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.getMatchMode:()I
            lookupswitch { // 6
                    0: 3
                    1: 8
                    2: 9
                    4: 20
                  128: 21
                  256: 21
              default: 21
          }
         3: .line 530
      StackMap locals: char[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
            ifnull 5
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
            iflt 5
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.varargs:Z
            ifne 5
         4: .line 531
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
            invokestatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.createIndexKey:([CI)[C
            astore 2 /* key */
         5: .line 533
      StackMap locals:
      StackMap stack:
            iload 3 /* matchRule */
            iconst_m1
            iand
            istore 3 /* matchRule */
         6: .line 534
            iload 3 /* matchRule */
            iconst_1
            ior
            istore 3 /* matchRule */
         7: .line 535
            goto 21
         8: .line 538
      StackMap locals:
      StackMap stack:
            goto 21
         9: .line 540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
            iflt 14
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.varargs:Z
            ifne 14
        10: .line 541
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
            ifnonnull 11
            getstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.ONE_STAR:[C
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
      StackMap locals:
      StackMap stack: char[]
        12: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterCount:I
            invokestatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.createIndexKey:([CI)[C
            getstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.ONE_STAR:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([C[C)[C
            astore 2 /* key */
        13: .line 542
            goto 21
      StackMap locals:
      StackMap stack:
        14: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
            ifnull 17
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
            arraylength
            iconst_1
            isub
            caload
            bipush 42
            if_icmpeq 17
        15: .line 543
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
            getstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.ONE_STAR:[C
            bipush 47
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([C[CC)[C
            astore 2 /* key */
        16: .line 544
            goto 21
      StackMap locals:
      StackMap stack:
        17: aload 2 /* key */
            ifnull 21
        18: .line 545
            aload 2 /* key */
            getstatic org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.ONE_STAR:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([C[C)[C
            astore 2 /* key */
        19: .line 548
            goto 21
        20: .line 551
      StackMap locals:
      StackMap stack:
            goto 21
        21: .line 558
      StackMap locals:
      StackMap stack:
            aload 1 /* index */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.getIndexCategories:()[[C
            aload 2 /* key */
            iload 3 /* matchRule */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.query:([[C[CI)[Lorg/eclipse/jdt/internal/core/index/EntryResult;
            areturn
        end local 3 // int matchRule
        end local 2 // char[] key
        end local 1 // org.eclipse.jdt.internal.core.index.Index index
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;
            0   22     1      index  Lorg/eclipse/jdt/internal/core/index/Index;
            1   22     2        key  [C
            2   22     3  matchRule  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      index  

  protected java.lang.StringBuffer print(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
        start local 1 // java.lang.StringBuffer output
         0: .line 562
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.findDeclarations:Z
            ifeq 6
         1: .line 563
            aload 1 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.findReferences:Z
            ifeq 3
         2: .line 564
            ldc "ConstructorCombinedPattern: "
            goto 4
         3: .line 565
      StackMap locals:
      StackMap stack: java.lang.StringBuffer
            ldc "ConstructorDeclarationPattern: "
         4: .line 563
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ConstructorPattern java.lang.StringBuffer
      StackMap stack: java.lang.StringBuffer java.lang.String
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 566
            goto 7
         6: .line 567
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc "ConstructorReferencePattern: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringQualification:[C
            ifnull 9
         8: .line 570
            aload 1 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringQualification:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 571
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
            ifnull 11
        10: .line 572
            aload 1 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
            goto 13
        11: .line 573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringQualification:[C
            ifnull 13
        12: .line 574
            aload 1 /* output */
            ldc "*"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 576
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            bipush 40
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        14: .line 577
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterSimpleNames:[[C
            ifnonnull 17
        15: .line 578
            aload 1 /* output */
            ldc "..."
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        16: .line 579
            goto 26
        17: .line 580
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        18: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterSimpleNames:[[C
            arraylength
            istore 3 /* max */
        start local 3 // int max
        19: goto 25
        20: .line 581
      StackMap locals: int int
      StackMap stack:
            iload 2 /* i */
            ifle 21
            aload 1 /* output */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        21: .line 582
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterQualifications:[[C
            iload 2 /* i */
            aaload
            ifnull 22
            aload 1 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterQualifications:[[C
            iload 2 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        22: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterSimpleNames:[[C
            iload 2 /* i */
            aaload
            ifnonnull 23
            aload 1 /* output */
            bipush 42
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 1 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterSimpleNames:[[C
            iload 2 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        24: .line 580
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 2 /* i */
            iload 3 /* max */
            if_icmplt 20
        end local 3 // int max
        end local 2 // int i
        26: .line 586
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        27: .line 587
            aload 0 /* this */
            aload 1 /* output */
            invokespecial org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern.print:(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            areturn
        end local 1 // java.lang.StringBuffer output
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   28     0    this  Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;
            0   28     1  output  Ljava/lang/StringBuffer;
           18   26     2       i  I
           19   26     3     max  I
    MethodParameters:
        Name  Flags
      output  
}
SourceFile: "ConstructorPattern.java"