public class org.eclipse.jdt.internal.core.search.matching.MethodPattern 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.MethodPattern
  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[] selector;
    descriptor: [C
    flags: (0x0001) ACC_PUBLIC

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

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

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

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

  public char[] returnSimpleName;
    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

  protected org.eclipse.jdt.core.IType declaringType;
    descriptor: Lorg/eclipse/jdt/core/IType;
    flags: (0x0004) ACC_PROTECTED

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

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

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

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

  char[][] methodArguments;
    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 54
            iconst_1
            anewarray char[]
            dup
            iconst_0
            getstatic org.eclipse.jdt.internal.core.search.matching.MethodPattern.METHOD_REF:[C
            aastore
            putstatic org.eclipse.jdt.internal.core.search.matching.MethodPattern.REF_CATEGORIES:[[C
         1: .line 55
            iconst_2
            anewarray char[]
            dup
            iconst_0
            getstatic org.eclipse.jdt.internal.core.search.matching.MethodPattern.METHOD_REF:[C
            aastore
            dup
            iconst_1
            getstatic org.eclipse.jdt.internal.core.search.matching.MethodPattern.METHOD_DECL:[C
            aastore
            putstatic org.eclipse.jdt.internal.core.search.matching.MethodPattern.REF_AND_DECL_CATEGORIES:[[C
         2: .line 56
            iconst_1
            anewarray char[]
            dup
            iconst_0
            getstatic org.eclipse.jdt.internal.core.search.matching.MethodPattern.METHOD_DECL:[C
            aastore
            putstatic org.eclipse.jdt.internal.core.search.matching.MethodPattern.DECL_CATEGORIES:[[C
         3: .line 63
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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[] selector
        start local 1 // int argCount
         0: .line 70
            iload 1 /* argCount */
            bipush 10
            if_icmpge 2
         1: .line 71
            getstatic org.eclipse.jdt.internal.core.search.matching.MethodPattern.COUNTS:[[C
            iload 1 /* argCount */
            aaload
            goto 3
         2: .line 72
      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 70
      StackMap locals:
      StackMap stack: char[]
            astore 2 /* countChars */
        start local 2 // char[] countChars
         4: .line 73
            aload 0 /* selector */
            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[] selector
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0    selector  [C
            0    5     1    argCount  I
            4    5     2  countChars  [C
    MethodParameters:
          Name  Flags
      selector  
      argCount  

  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.MethodPattern this
        start local 1 // int matchRule
         0: .line 77
            aload 0 /* this */
            sipush 128
            iload 1 /* matchRule */
            invokespecial org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern.<init>:(II)V
         1: .line 27
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.findDeclarations:Z
         2: .line 28
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.findReferences:Z
         3: .line 42
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.varargs:Z
         4: .line 51
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.methodParameters:Z
         5: .line 77
            return
        end local 1 // int matchRule
        end local 0 // org.eclipse.jdt.internal.core.search.matching.MethodPattern this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;
            0    6     1  matchRule  I
    MethodParameters:
           Name  Flags
      matchRule  

  public void <init>(char[], char[], char[], char[], char[], char[][], char[][], org.eclipse.jdt.core.IType, int, int);
    descriptor: ([C[C[C[C[C[[C[[CLorg/eclipse/jdt/core/IType;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=12, args_size=11
        start local 0 // org.eclipse.jdt.internal.core.search.matching.MethodPattern this
        start local 1 // char[] selector
        start local 2 // char[] declaringQualification
        start local 3 // char[] declaringSimpleName
        start local 4 // char[] returnQualification
        start local 5 // char[] returnSimpleName
        start local 6 // char[][] parameterQualifications
        start local 7 // char[][] parameterSimpleNames
        start local 8 // org.eclipse.jdt.core.IType declaringType
        start local 9 // int limitTo
        start local 10 // int matchRule
         0: .line 91
            aload 0 /* this */
            iload 10 /* matchRule */
            invokespecial org.eclipse.jdt.internal.core.search.matching.MethodPattern.<init>:(I)V
         1: .line 93
            aload 0 /* this */
            iload 9 /* limitTo */
            ldc 520093696
            iand
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.fineGrain:I
         2: .line 94
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.fineGrain:I
            ifne 9
         3: .line 95
            iload 9 /* limitTo */
            bipush 15
            iand
            tableswitch { // 0 - 3
                    0: 4
                    1: 8
                    2: 6
                    3: 8
              default: 8
          }
         4: .line 97
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[] char[] char[] char[] char[] char[][] char[][] org.eclipse.jdt.core.IType int int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.findReferences:Z
         5: .line 98
            goto 10
         6: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.findDeclarations:Z
         7: .line 101
            goto 10
         8: .line 105
      StackMap locals:
      StackMap stack:
            goto 10
         9: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.findDeclarations:Z
        10: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.isCaseSensitive:Z
            ifne 11
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.isCamelCase:Z
            ifeq 12
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.MethodPattern
        11: aload 1 /* selector */
            goto 13
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.MethodPattern
        12: aload 1 /* selector */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toLowerCase:([C)[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[] char[] char[] char[] char[] char[][] char[][] org.eclipse.jdt.core.IType int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[]
        13: putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
        14: .line 110
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.isCaseSensitive:Z
            ifeq 15
            aload 2 /* declaringQualification */
            goto 16
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.MethodPattern
        15: aload 2 /* declaringQualification */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toLowerCase:([C)[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[] char[] char[] char[] char[] char[][] char[][] org.eclipse.jdt.core.IType int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[]
        16: putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringQualification:[C
        17: .line 111
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.isCaseSensitive:Z
            ifeq 18
            aload 3 /* declaringSimpleName */
            goto 19
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.MethodPattern
        18: aload 3 /* declaringSimpleName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toLowerCase:([C)[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[] char[] char[] char[] char[] char[][] char[][] org.eclipse.jdt.core.IType int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[]
        19: putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringSimpleName:[C
        20: .line 112
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.isCaseSensitive:Z
            ifeq 21
            aload 4 /* returnQualification */
            goto 22
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.MethodPattern
        21: aload 4 /* returnQualification */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toLowerCase:([C)[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[] char[] char[] char[] char[] char[][] char[][] org.eclipse.jdt.core.IType int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[]
        22: putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnQualification:[C
        23: .line 113
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.isCaseSensitive:Z
            ifeq 24
            aload 5 /* returnSimpleName */
            goto 25
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.MethodPattern
        24: aload 5 /* returnSimpleName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toLowerCase:([C)[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[] char[] char[] char[] char[] char[][] char[][] org.eclipse.jdt.core.IType int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[]
        25: putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnSimpleName:[C
        26: .line 114
            aload 7 /* parameterSimpleNames */
            ifnull 41
        27: .line 115
            aload 0 /* this */
            aload 7 /* parameterSimpleNames */
            arraylength
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
        28: .line 116
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
            anewarray char[]
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterQualifications:[[C
        29: .line 117
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
            anewarray char[]
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterSimpleNames:[[C
        30: .line 118
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        31: goto 39
        32: .line 119
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterQualifications:[[C
            iload 11 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.isCaseSensitive:Z
            ifeq 33
            aload 6 /* parameterQualifications */
            iload 11 /* i */
            aaload
            goto 34
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[] char[] char[] char[] char[] char[][] char[][] org.eclipse.jdt.core.IType int int int
      StackMap stack: char[][] int
        33: aload 6 /* parameterQualifications */
            iload 11 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toLowerCase:([C)[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[] char[] char[] char[] char[] char[][] char[][] org.eclipse.jdt.core.IType int int int
      StackMap stack: char[][] int char[]
        34: aastore
        35: .line 120
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterSimpleNames:[[C
            iload 11 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.isCaseSensitive:Z
            ifeq 36
            aload 7 /* parameterSimpleNames */
            iload 11 /* i */
            aaload
            goto 37
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[] char[] char[] char[] char[] char[][] char[][] org.eclipse.jdt.core.IType int int int
      StackMap stack: char[][] int
        36: aload 7 /* parameterSimpleNames */
            iload 11 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toLowerCase:([C)[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[] char[] char[] char[] char[] char[][] char[][] org.eclipse.jdt.core.IType int int int
      StackMap stack: char[][] int char[]
        37: aastore
        38: .line 118
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 11 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
            if_icmplt 32
        end local 11 // int i
        40: .line 122
            goto 42
        41: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
        42: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* declaringType */
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringType:Lorg/eclipse/jdt/core/IType;
        43: .line 126
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringType:Lorg/eclipse/jdt/core/IType;
            ifnull 45
        44: .line 127
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringType:Lorg/eclipse/jdt/core/IType;
            invokeinterface org.eclipse.jdt.core.IType.getPackageFragment:()Lorg/eclipse/jdt/core/IPackageFragment;
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringPackageName:[C
        45: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.mustResolve:()Z
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.mustResolve:Z
        46: .line 130
            return
        end local 10 // int matchRule
        end local 9 // int limitTo
        end local 8 // org.eclipse.jdt.core.IType declaringType
        end local 7 // char[][] parameterSimpleNames
        end local 6 // char[][] parameterQualifications
        end local 5 // char[] returnSimpleName
        end local 4 // char[] returnQualification
        end local 3 // char[] declaringSimpleName
        end local 2 // char[] declaringQualification
        end local 1 // char[] selector
        end local 0 // org.eclipse.jdt.internal.core.search.matching.MethodPattern this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   47     0                     this  Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;
            0   47     1                 selector  [C
            0   47     2   declaringQualification  [C
            0   47     3      declaringSimpleName  [C
            0   47     4      returnQualification  [C
            0   47     5         returnSimpleName  [C
            0   47     6  parameterQualifications  [[C
            0   47     7     parameterSimpleNames  [[C
            0   47     8            declaringType  Lorg/eclipse/jdt/core/IType;
            0   47     9                  limitTo  I
            0   47    10                matchRule  I
           31   40    11                        i  I
    MethodParameters:
                         Name  Flags
      selector                 
      declaringQualification   
      declaringSimpleName      
      returnQualification      
      returnSimpleName         
      parameterQualifications  
      parameterSimpleNames     
      declaringType            
      limitTo                  
      matchRule                

  public void <init>(char[], char[], char[], char[], char[], java.lang.String, char[][], char[][], java.lang.String[], org.eclipse.jdt.core.IMethod, int, int);
    descriptor: ([C[C[C[C[CLjava/lang/String;[[C[[C[Ljava/lang/String;Lorg/eclipse/jdt/core/IMethod;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=16, args_size=13
        start local 0 // org.eclipse.jdt.internal.core.search.matching.MethodPattern this
        start local 1 // char[] selector
        start local 2 // char[] declaringQualification
        start local 3 // char[] declaringSimpleName
        start local 4 // char[] returnQualification
        start local 5 // char[] returnSimpleName
        start local 6 // java.lang.String returnSignature
        start local 7 // char[][] parameterQualifications
        start local 8 // char[][] parameterSimpleNames
        start local 9 // java.lang.String[] parameterSignatures
        start local 10 // org.eclipse.jdt.core.IMethod method
        start local 11 // int limitTo
        start local 12 // int matchRule
         0: .line 148
            aload 0 /* this */
            aload 1 /* selector */
         1: .line 149
            aload 2 /* declaringQualification */
         2: .line 150
            aload 3 /* declaringSimpleName */
         3: .line 151
            aload 4 /* returnQualification */
         4: .line 152
            aload 5 /* returnSimpleName */
         5: .line 153
            aload 7 /* parameterQualifications */
         6: .line 154
            aload 8 /* parameterSimpleNames */
         7: .line 155
            aload 10 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
         8: .line 156
            iload 11 /* limitTo */
         9: .line 157
            iload 12 /* matchRule */
            invokespecial org.eclipse.jdt.internal.core.search.matching.MethodPattern.<init>:([C[C[C[C[C[[C[[CLorg/eclipse/jdt/core/IType;II)V
        10: .line 161
            aload 0 /* this */
            aload 10 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getFlags:()I
            sipush 128
            iand
            ifeq 11
            iconst_1
            goto 12
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[] char[] char[] char[] char[] java.lang.String char[][] char[][] java.lang.String[] org.eclipse.jdt.core.IMethod int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.MethodPattern
        11: iconst_0
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[] char[] char[] char[] char[] java.lang.String char[][] char[][] java.lang.String[] org.eclipse.jdt.core.IMethod int int
      StackMap stack: org.eclipse.jdt.internal.core.search.matching.MethodPattern int
        12: putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.varargs:Z
        13: .line 162
            goto 15
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        14: pop
        15: .line 167
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 13 /* genericDeclaringTypeSignature */
        start local 13 // java.lang.String genericDeclaringTypeSignature
        16: .line 168
            aload 10 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.isResolved:()Z
            ifeq 25
        17: .line 169
            aload 10 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getKey:()Ljava/lang/String;
            astore 14 /* key */
        start local 14 // java.lang.String key
        18: .line 170
            new org.eclipse.jdt.core.BindingKey
            dup
            aload 14 /* key */
            invokespecial org.eclipse.jdt.core.BindingKey.<init>:(Ljava/lang/String;)V
            astore 15 /* bindingKey */
        start local 15 // org.eclipse.jdt.core.BindingKey bindingKey
        19: .line 171
            aload 15 /* bindingKey */
            invokevirtual org.eclipse.jdt.core.BindingKey.isParameterizedType:()Z
            ifeq 27
        20: .line 172
            aload 14 /* key */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getDeclaringTypeSignature:(Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* genericDeclaringTypeSignature */
        21: .line 174
            aload 13 /* genericDeclaringTypeSignature */
            ifnull 27
        22: .line 175
            aload 0 /* this */
            aload 13 /* genericDeclaringTypeSignature */
            invokestatic org.eclipse.jdt.internal.core.util.Util.splitTypeLevelsSignature:(Ljava/lang/String;)[[C
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.typeSignatures:[[C
        23: .line 176
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.typeSignatures:[[C
            invokestatic org.eclipse.jdt.internal.core.util.Util.getAllTypeArguments:([[C)[[[C
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.setTypeArguments:([[[C)V
        end local 15 // org.eclipse.jdt.core.BindingKey bindingKey
        end local 14 // java.lang.String key
        24: .line 179
            goto 27
        25: .line 180
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.methodParameters:Z
        26: .line 181
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringType:Lorg/eclipse/jdt/core/IType;
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.storeTypeSignaturesAndArguments:(Lorg/eclipse/jdt/core/IType;)V
        27: .line 185
      StackMap locals:
      StackMap stack:
            aload 6 /* returnSignature */
            ifnull 29
        28: .line 186
            aload 0 /* this */
            aload 6 /* returnSignature */
            invokestatic org.eclipse.jdt.internal.core.util.Util.splitTypeLevelsSignature:(Ljava/lang/String;)[[C
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnTypeSignatures:[[C
        29: .line 190
      StackMap locals:
      StackMap stack:
            aload 9 /* parameterSignatures */
            ifnull 40
        30: .line 191
            aload 9 /* parameterSignatures */
            arraylength
            istore 14 /* length */
        start local 14 // int length
        31: .line 192
            iload 14 /* length */
            ifle 40
        32: .line 193
            aload 0 /* this */
            iload 14 /* length */
            anewarray char[][]
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parametersTypeSignatures:[[[C
        33: .line 194
            aload 0 /* this */
            iload 14 /* length */
            anewarray char[][][]
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parametersTypeArguments:[[[[C
        34: .line 195
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        35: goto 39
        36: .line 196
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parametersTypeSignatures:[[[C
            iload 15 /* i */
            aload 9 /* parameterSignatures */
            iload 15 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.core.util.Util.splitTypeLevelsSignature:(Ljava/lang/String;)[[C
            aastore
        37: .line 197
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parametersTypeArguments:[[[[C
            iload 15 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parametersTypeSignatures:[[[C
            iload 15 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.core.util.Util.getAllTypeArguments:([[C)[[[C
            aastore
        38: .line 195
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 15 /* i */
            iload 14 /* length */
            if_icmplt 36
        end local 15 // int i
        end local 14 // int length
        40: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 10 /* method */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.extractMethodArguments:(Lorg/eclipse/jdt/core/IMethod;)[[C
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.methodArguments:[[C
        41: .line 204
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.hasMethodArguments:()Z
            ifeq 42
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.mustResolve:Z
        42: .line 205
      StackMap locals:
      StackMap stack:
            return
        end local 13 // java.lang.String genericDeclaringTypeSignature
        end local 12 // int matchRule
        end local 11 // int limitTo
        end local 10 // org.eclipse.jdt.core.IMethod method
        end local 9 // java.lang.String[] parameterSignatures
        end local 8 // char[][] parameterSimpleNames
        end local 7 // char[][] parameterQualifications
        end local 6 // java.lang.String returnSignature
        end local 5 // char[] returnSimpleName
        end local 4 // char[] returnQualification
        end local 3 // char[] declaringSimpleName
        end local 2 // char[] declaringQualification
        end local 1 // char[] selector
        end local 0 // org.eclipse.jdt.internal.core.search.matching.MethodPattern this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   43     0                           this  Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;
            0   43     1                       selector  [C
            0   43     2         declaringQualification  [C
            0   43     3            declaringSimpleName  [C
            0   43     4            returnQualification  [C
            0   43     5               returnSimpleName  [C
            0   43     6                returnSignature  Ljava/lang/String;
            0   43     7        parameterQualifications  [[C
            0   43     8           parameterSimpleNames  [[C
            0   43     9            parameterSignatures  [Ljava/lang/String;
            0   43    10                         method  Lorg/eclipse/jdt/core/IMethod;
            0   43    11                        limitTo  I
            0   43    12                      matchRule  I
           16   43    13  genericDeclaringTypeSignature  Ljava/lang/String;
           18   24    14                            key  Ljava/lang/String;
           19   24    15                     bindingKey  Lorg/eclipse/jdt/core/BindingKey;
           31   40    14                         length  I
           35   40    15                              i  I
      Exception table:
        from    to  target  type
          10    13      14  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                         Name  Flags
      selector                 
      declaringQualification   
      declaringSimpleName      
      returnQualification      
      returnSimpleName         
      returnSignature          
      parameterQualifications  
      parameterSimpleNames     
      parameterSignatures      
      method                   
      limitTo                  
      matchRule                

  public void <init>(char[], char[], char[], java.lang.String, char[], char[], java.lang.String, char[][], char[][], java.lang.String[], char[][], int, int);
    descriptor: ([C[C[CLjava/lang/String;[C[CLjava/lang/String;[[C[[C[Ljava/lang/String;[[CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=16, args_size=14
        start local 0 // org.eclipse.jdt.internal.core.search.matching.MethodPattern this
        start local 1 // char[] selector
        start local 2 // char[] declaringQualification
        start local 3 // char[] declaringSimpleName
        start local 4 // java.lang.String declaringSignature
        start local 5 // char[] returnQualification
        start local 6 // char[] returnSimpleName
        start local 7 // java.lang.String returnSignature
        start local 8 // char[][] parameterQualifications
        start local 9 // char[][] parameterSimpleNames
        start local 10 // java.lang.String[] parameterSignatures
        start local 11 // char[][] arguments
        start local 12 // int limitTo
        start local 13 // int matchRule
         0: .line 224
            aload 0 /* this */
            aload 1 /* selector */
         1: .line 225
            aload 2 /* declaringQualification */
         2: .line 226
            aload 3 /* declaringSimpleName */
         3: .line 227
            aload 5 /* returnQualification */
         4: .line 228
            aload 6 /* returnSimpleName */
         5: .line 229
            aload 8 /* parameterQualifications */
         6: .line 230
            aload 9 /* parameterSimpleNames */
         7: .line 231
            aconst_null
         8: .line 232
            iload 12 /* limitTo */
         9: .line 233
            iload 13 /* matchRule */
            invokespecial org.eclipse.jdt.internal.core.search.matching.MethodPattern.<init>:([C[C[C[C[C[[C[[CLorg/eclipse/jdt/core/IType;II)V
        10: .line 236
            aload 4 /* declaringSignature */
            ifnull 13
        11: .line 237
            aload 0 /* this */
            aload 4 /* declaringSignature */
            invokestatic org.eclipse.jdt.internal.core.util.Util.splitTypeLevelsSignature:(Ljava/lang/String;)[[C
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.typeSignatures:[[C
        12: .line 238
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.typeSignatures:[[C
            invokestatic org.eclipse.jdt.internal.core.util.Util.getAllTypeArguments:([[C)[[[C
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.setTypeArguments:([[[C)V
        13: .line 242
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.MethodPattern char[] char[] char[] java.lang.String char[] char[] java.lang.String char[][] char[][] java.lang.String[] char[][] int int
      StackMap stack:
            aload 7 /* returnSignature */
            ifnull 15
        14: .line 243
            aload 0 /* this */
            aload 7 /* returnSignature */
            invokestatic org.eclipse.jdt.internal.core.util.Util.splitTypeLevelsSignature:(Ljava/lang/String;)[[C
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnTypeSignatures:[[C
        15: .line 247
      StackMap locals:
      StackMap stack:
            aload 10 /* parameterSignatures */
            ifnull 26
        16: .line 248
            aload 10 /* parameterSignatures */
            arraylength
            istore 14 /* length */
        start local 14 // int length
        17: .line 249
            iload 14 /* length */
            ifle 26
        18: .line 250
            aload 0 /* this */
            iload 14 /* length */
            anewarray char[][]
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parametersTypeSignatures:[[[C
        19: .line 251
            aload 0 /* this */
            iload 14 /* length */
            anewarray char[][][]
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parametersTypeArguments:[[[[C
        20: .line 252
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        21: goto 25
        22: .line 253
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parametersTypeSignatures:[[[C
            iload 15 /* i */
            aload 10 /* parameterSignatures */
            iload 15 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.core.util.Util.splitTypeLevelsSignature:(Ljava/lang/String;)[[C
            aastore
        23: .line 254
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parametersTypeArguments:[[[[C
            iload 15 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parametersTypeSignatures:[[[C
            iload 15 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.core.util.Util.getAllTypeArguments:([[C)[[[C
            aastore
        24: .line 252
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 15 /* i */
            iload 14 /* length */
            if_icmplt 22
        end local 15 // int i
        end local 14 // int length
        26: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* arguments */
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.methodArguments:[[C
        27: .line 261
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.hasMethodArguments:()Z
            ifeq 28
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.mustResolve:Z
        28: .line 262
      StackMap locals:
      StackMap stack:
            return
        end local 13 // int matchRule
        end local 12 // int limitTo
        end local 11 // char[][] arguments
        end local 10 // java.lang.String[] parameterSignatures
        end local 9 // char[][] parameterSimpleNames
        end local 8 // char[][] parameterQualifications
        end local 7 // java.lang.String returnSignature
        end local 6 // char[] returnSimpleName
        end local 5 // char[] returnQualification
        end local 4 // java.lang.String declaringSignature
        end local 3 // char[] declaringSimpleName
        end local 2 // char[] declaringQualification
        end local 1 // char[] selector
        end local 0 // org.eclipse.jdt.internal.core.search.matching.MethodPattern this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   29     0                     this  Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;
            0   29     1                 selector  [C
            0   29     2   declaringQualification  [C
            0   29     3      declaringSimpleName  [C
            0   29     4       declaringSignature  Ljava/lang/String;
            0   29     5      returnQualification  [C
            0   29     6         returnSimpleName  [C
            0   29     7          returnSignature  Ljava/lang/String;
            0   29     8  parameterQualifications  [[C
            0   29     9     parameterSimpleNames  [[C
            0   29    10      parameterSignatures  [Ljava/lang/String;
            0   29    11                arguments  [[C
            0   29    12                  limitTo  I
            0   29    13                matchRule  I
           17   26    14                   length  I
           21   26    15                        i  I
    MethodParameters:
                         Name  Flags
      selector                 
      declaringQualification   
      declaringSimpleName      
      declaringSignature       
      returnQualification      
      returnSimpleName         
      returnSignature          
      parameterQualifications  
      parameterSimpleNames     
      parameterSignatures      
      arguments                
      limitTo                  
      matchRule                

  public void decodeIndexKey(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.matching.MethodPattern this
        start local 1 // char[] key
         0: .line 265
            aload 1 /* key */
            arraylength
            iconst_1
            isub
            istore 2 /* last */
        start local 2 // int last
         1: .line 266
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
         2: .line 267
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
         3: .line 268
            iconst_1
            istore 3 /* power */
        start local 3 // int power
         4: .line 269
            iload 2 /* last */
            istore 4 /* i */
        start local 4 // int i
         5: goto 15
         6: .line 270
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* key */
            iload 4 /* i */
            caload
            bipush 47
            if_icmpne 9
         7: .line 271
            aload 1 /* key */
            iconst_0
            aload 0 /* this */
            iload 4 /* i */
            newarray 5
            dup_x1
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
            iconst_0
            iload 4 /* i */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 272
            goto 16
         9: .line 274
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 2 /* last */
            if_icmpne 12
        10: .line 275
            aload 0 /* this */
            aload 1 /* key */
            iload 4 /* i */
            caload
            bipush 48
            isub
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
        11: .line 276
            goto 14
        12: .line 277
      StackMap locals:
      StackMap stack:
            iload 3 /* power */
            bipush 10
            imul
            istore 3 /* power */
        13: .line 278
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
            iload 3 /* power */
            aload 1 /* key */
            iload 4 /* i */
            caload
            bipush 48
            isub
            imul
            iadd
            putfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
        14: .line 269
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            ifge 6
        end local 4 // int i
        16: .line 281
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int power
        end local 2 // int last
        end local 1 // char[] key
        end local 0 // org.eclipse.jdt.internal.core.search.matching.MethodPattern this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0   this  Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;
            0   17     1    key  [C
            1   17     2   last  I
            4   17     3  power  I
            5   16     4      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.MethodPattern this
         0: .line 284
            new org.eclipse.jdt.internal.core.search.matching.MethodPattern
            dup
            bipush 8
            invokespecial org.eclipse.jdt.internal.core.search.matching.MethodPattern.<init>:(I)V
            areturn
        end local 0 // org.eclipse.jdt.internal.core.search.matching.MethodPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;

  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.MethodPattern this
         0: .line 288
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.findReferences:Z
            ifeq 4
         1: .line 289
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.findDeclarations:Z
            ifeq 2
            getstatic org.eclipse.jdt.internal.core.search.matching.MethodPattern.REF_AND_DECL_CATEGORIES:[[C
            goto 3
      StackMap locals:
      StackMap stack:
         2: getstatic org.eclipse.jdt.internal.core.search.matching.MethodPattern.REF_CATEGORIES:[[C
      StackMap locals:
      StackMap stack: char[][]
         3: areturn
         4: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.findDeclarations:Z
            ifeq 6
         5: .line 291
            getstatic org.eclipse.jdt.internal.core.search.matching.MethodPattern.DECL_CATEGORIES:[[C
            areturn
         6: .line 292
      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.MethodPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;

  boolean hasMethodArguments();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.matching.MethodPattern this
         0: .line 295
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.methodArguments:[[C
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.methodArguments:[[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.MethodPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;

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

  public boolean isPolymorphicSearch();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.matching.MethodPattern this
         0: .line 302
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.findReferences:Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.search.matching.MethodPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;

  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.MethodPattern this
        start local 1 // org.eclipse.jdt.core.search.SearchPattern decodedPattern
         0: .line 306
            aload 1 /* decodedPattern */
            checkcast org.eclipse.jdt.internal.core.search.matching.MethodPattern
            astore 2 /* pattern */
        start local 2 // org.eclipse.jdt.internal.core.search.matching.MethodPattern pattern
         1: .line 308
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
            if_icmpeq 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
            iconst_m1
            if_icmpeq 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.varargs:Z
            ifeq 4
         2: .line 309
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.MethodPattern
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.matchesName:([C[C)Z
            ifeq 4
         3: .line 308
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.core.search.matching.MethodPattern pattern
        end local 1 // org.eclipse.jdt.core.search.SearchPattern decodedPattern
        end local 0 // org.eclipse.jdt.internal.core.search.matching.MethodPattern this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;
            0    5     1  decodedPattern  Lorg/eclipse/jdt/core/search/SearchPattern;
            1    5     2         pattern  Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;
    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.MethodPattern this
         0: .line 318
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringSimpleName:[C
            ifnonnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringQualification:[C
            ifnull 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
         2: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnSimpleName:[C
            ifnonnull 3
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnQualification:[C
            ifnull 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
         4: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterSimpleNames:[[C
            ifnull 11
         5: .line 326
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         6: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterSimpleNames:[[C
            arraylength
            istore 2 /* max */
        start local 2 // int max
         7: goto 10
         8: .line 327
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterQualifications:[[C
            iload 1 /* i */
            aaload
            ifnull 9
            iconst_1
            ireturn
         9: .line 326
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 1 /* i */
            iload 2 /* max */
            if_icmplt 8
        end local 2 // int max
        end local 1 // int i
        11: .line 328
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.search.matching.MethodPattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;
            6   11     1     i  I
            7   11     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.MethodPattern this
        start local 1 // org.eclipse.jdt.internal.core.index.Index index
         0: .line 332
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
            astore 2 /* key */
        start local 2 // char[] key
         1: .line 333
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.getMatchRule:()I
            istore 3 /* matchRule */
        start local 3 // int matchRule
         2: .line 335
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.getMatchMode:()I
            lookupswitch { // 6
                    0: 3
                    1: 8
                    2: 9
                    4: 16
                  128: 17
                  256: 17
              default: 17
          }
         3: .line 337
      StackMap locals: char[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
            ifnull 5
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
            iflt 5
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.varargs:Z
            ifne 5
         4: .line 338
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
            invokestatic org.eclipse.jdt.internal.core.search.matching.MethodPattern.createIndexKey:([CI)[C
            astore 2 /* key */
            goto 17
         5: .line 340
      StackMap locals:
      StackMap stack:
            iload 3 /* matchRule */
            iconst_m1
            iand
            istore 3 /* matchRule */
         6: .line 341
            iload 3 /* matchRule */
            iconst_1
            ior
            istore 3 /* matchRule */
         7: .line 343
            goto 17
         8: .line 346
      StackMap locals:
      StackMap stack:
            goto 17
         9: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
            iflt 13
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.varargs:Z
            ifne 13
        10: .line 349
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
            ifnonnull 11
            getstatic org.eclipse.jdt.internal.core.search.matching.MethodPattern.ONE_STAR:[C
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
      StackMap locals:
      StackMap stack: char[]
        12: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterCount:I
            invokestatic org.eclipse.jdt.internal.core.search.matching.MethodPattern.createIndexKey:([CI)[C
            astore 2 /* key */
            goto 17
        13: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
            ifnull 17
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
            arraylength
            iconst_1
            isub
            caload
            bipush 42
            if_icmpeq 17
        14: .line 351
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
            getstatic org.eclipse.jdt.internal.core.search.matching.MethodPattern.ONE_STAR:[C
            bipush 47
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([C[CC)[C
            astore 2 /* key */
        15: .line 353
            goto 17
        16: .line 356
      StackMap locals:
      StackMap stack:
            goto 17
        17: .line 363
      StackMap locals:
      StackMap stack:
            aload 1 /* index */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.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.MethodPattern this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;
            0   18     1      index  Lorg/eclipse/jdt/internal/core/index/Index;
            1   18     2        key  [C
            2   18     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.MethodPattern this
        start local 1 // java.lang.StringBuffer output
         0: .line 367
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.findDeclarations:Z
            ifeq 6
         1: .line 368
            aload 1 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.findReferences:Z
            ifeq 3
         2: .line 369
            ldc "MethodCombinedPattern: "
            goto 4
         3: .line 370
      StackMap locals:
      StackMap stack: java.lang.StringBuffer
            ldc "MethodDeclarationPattern: "
         4: .line 368
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.MethodPattern 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 371
            goto 7
         6: .line 372
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc "MethodReferencePattern: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 374
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringQualification:[C
            ifnull 9
         8: .line 375
            aload 1 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.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 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringSimpleName:[C
            ifnull 11
        10: .line 377
            aload 1 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringSimpleName:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
            goto 13
        11: .line 378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringQualification:[C
            ifnull 13
        12: .line 379
            aload 1 /* output */
            ldc "*."
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
            ifnull 15
        14: .line 382
            aload 1 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
            goto 16
        15: .line 384
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            ldc "*"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        16: .line 385
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            bipush 40
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        17: .line 386
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterSimpleNames:[[C
            ifnonnull 20
        18: .line 387
            aload 1 /* output */
            ldc "..."
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        19: .line 388
            goto 29
        20: .line 389
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        21: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterSimpleNames:[[C
            arraylength
            istore 3 /* max */
        start local 3 // int max
        22: goto 28
        23: .line 390
      StackMap locals: int int
      StackMap stack:
            iload 2 /* i */
            ifle 24
            aload 1 /* output */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        24: .line 391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterQualifications:[[C
            iload 2 /* i */
            aaload
            ifnull 25
            aload 1 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.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
        25: .line 392
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterSimpleNames:[[C
            iload 2 /* i */
            aaload
            ifnonnull 26
            aload 1 /* output */
            bipush 42
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 1 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterSimpleNames:[[C
            iload 2 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        27: .line 389
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 2 /* i */
            iload 3 /* max */
            if_icmplt 23
        end local 3 // int max
        end local 2 // int i
        29: .line 395
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        30: .line 396
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnQualification:[C
            ifnull 32
        31: .line 397
            aload 1 /* output */
            ldc " --> "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnQualification:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
            goto 34
        32: .line 398
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnSimpleName:[C
            ifnull 34
        33: .line 399
            aload 1 /* output */
            ldc " --> "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        34: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnSimpleName:[C
            ifnull 36
        35: .line 401
            aload 1 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnSimpleName:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
            goto 38
        36: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnQualification:[C
            ifnull 38
        37: .line 403
            aload 1 /* output */
            ldc "*"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        38: .line 404
      StackMap locals:
      StackMap stack:
            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.MethodPattern this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   39     0    this  Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;
            0   39     1  output  Ljava/lang/StringBuffer;
           21   29     2       i  I
           22   29     3     max  I
    MethodParameters:
        Name  Flags
      output  
}
SourceFile: "MethodPattern.java"