public class org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator implements org.eclipse.jdt.internal.core.search.indexing.IIndexConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator
  super_class: java.lang.Object
{
  private static final long TARGET_ANNOTATION_BITS;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2305860532680261632

  private static final char[] JAVA_LANG_ANNOTATION_ELEMENTTYPE;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 39
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_ANNOTATION_ELEMENTTYPE:[[C
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            putstatic org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.JAVA_LANG_ANNOTATION_ELEMENTTYPE:[C
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  public static char[] convertClassFileFormat(char[]);
    descriptor: ([C)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // char[] name
         0: .line 41
            aload 0 /* name */
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replaceOnCopy:([CCC)[C
            areturn
        end local 0 // char[] name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  [C
    MethodParameters:
      Name  Flags
      name  

  private boolean checkAnnotation(org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation, org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Lorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation annotation
        start local 2 // org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern pattern
         0: .line 45
            aload 0 /* this */
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern.simpleName:[C
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern.qualification:[C
            aload 1 /* annotation */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation.getTypeName:()[C
            invokestatic org.eclipse.jdt.core.Signature.toCharArray:([C)[C
            invokestatic org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.convertClassFileFormat:([C)[C
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern.isCaseSensitive:Z
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern.isCamelCase:Z
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkTypeName:([C[C[CZZ)Z
            ifeq 2
         1: .line 46
            iconst_1
            ireturn
         2: .line 48
      StackMap locals:
      StackMap stack:
            aload 1 /* annotation */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation.getElementValuePairs:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryElementValuePair;
            astore 3 /* valuePairs */
        start local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryElementValuePair[] valuePairs
         3: .line 49
            aload 3 /* valuePairs */
            ifnull 14
         4: .line 50
            iconst_0
            istore 4 /* j */
        start local 4 // int j
         5: aload 3 /* valuePairs */
            arraylength
            istore 5 /* vpLength */
        start local 5 // int vpLength
         6: goto 13
         7: .line 51
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryElementValuePair[] int int
      StackMap stack:
            aload 3 /* valuePairs */
            iload 4 /* j */
            aaload
            astore 6 /* valuePair */
        start local 6 // org.eclipse.jdt.internal.compiler.env.IBinaryElementValuePair valuePair
         8: .line 52
            aload 6 /* valuePair */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryElementValuePair.getValue:()Ljava/lang/Object;
            astore 7 /* pairValue */
        start local 7 // java.lang.Object pairValue
         9: .line 53
            aload 7 /* pairValue */
            instanceof org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation
            ifeq 12
        10: .line 54
            aload 0 /* this */
            aload 7 /* pairValue */
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation
            aload 2 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotation:(Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Lorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
            ifeq 12
        11: .line 55
            iconst_1
            ireturn
        end local 7 // java.lang.Object pairValue
        end local 6 // org.eclipse.jdt.internal.compiler.env.IBinaryElementValuePair valuePair
        12: .line 50
      StackMap locals:
      StackMap stack:
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* j */
            iload 5 /* vpLength */
            if_icmplt 7
        end local 5 // int vpLength
        end local 4 // int j
        14: .line 60
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryElementValuePair[] valuePairs
        end local 2 // org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern pattern
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation annotation
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lorg/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator;
            0   15     1  annotation  Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            0   15     2     pattern  Lorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;
            3   15     3  valuePairs  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryElementValuePair;
            5   14     4           j  I
            6   14     5    vpLength  I
            8   12     6   valuePair  Lorg/eclipse/jdt/internal/compiler/env/IBinaryElementValuePair;
            9   12     7   pairValue  Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      annotation  
      pattern     

  private boolean checkAnnotations(org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern, org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[], long);
    descriptor: (Lorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;J)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
        start local 1 // org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern pattern
        start local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] annotations
        start local 3 // long tagBits
         0: .line 63
            aload 2 /* annotations */
            ifnull 9
         1: .line 64
            iconst_0
            istore 5 /* a */
        start local 5 // int a
         2: aload 2 /* annotations */
            arraylength
            istore 6 /* length */
        start local 6 // int length
         3: goto 8
         4: .line 65
      StackMap locals: int int
      StackMap stack:
            aload 2 /* annotations */
            iload 5 /* a */
            aaload
            astore 7 /* annotation */
        start local 7 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation annotation
         5: .line 66
            aload 0 /* this */
            aload 7 /* annotation */
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotation:(Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Lorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
            ifeq 7
         6: .line 67
            iconst_1
            ireturn
        end local 7 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation annotation
         7: .line 64
      StackMap locals:
      StackMap stack:
            iinc 5 /* a */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* a */
            iload 6 /* length */
            if_icmplt 4
        end local 6 // int length
        end local 5 // int a
         9: .line 71
      StackMap locals:
      StackMap stack:
            lload 3 /* tagBits */
            ldc 8646911250191613952
            land
            lconst_0
            lcmp
            ifeq 11
            aload 0 /* this */
            lload 3 /* tagBits */
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkStandardAnnotations:(JLorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
            ifeq 11
        10: .line 72
            iconst_1
            ireturn
        11: .line 74
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // long tagBits
        end local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] annotations
        end local 1 // org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern pattern
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator;
            0   12     1      pattern  Lorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;
            0   12     2  annotations  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            0   12     3      tagBits  J
            2    9     5            a  I
            3    9     6       length  I
            5    7     7   annotation  Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
    MethodParameters:
             Name  Flags
      pattern      
      annotations  
      tagBits      

  private boolean checkAnnotationTypeReference(char[], org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern);
    descriptor: ([CLorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
        start local 1 // char[] fullyQualifiedName
        start local 2 // org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern pattern
         0: .line 77
            aload 0 /* this */
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern.simpleName:[C
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern.qualification:[C
            aload 1 /* fullyQualifiedName */
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern.isCaseSensitive:Z
            aload 2 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern.isCamelCase:Z
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkTypeName:([C[C[CZZ)Z
            ireturn
        end local 2 // org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern pattern
        end local 1 // char[] fullyQualifiedName
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lorg/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator;
            0    1     1  fullyQualifiedName  [C
            0    1     2             pattern  Lorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;
    MethodParameters:
                    Name  Flags
      fullyQualifiedName  
      pattern             

  private boolean checkDeclaringType(org.eclipse.jdt.internal.compiler.env.IBinaryType, char[], char[], boolean, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;[C[CZZ)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType enclosingBinaryType
        start local 2 // char[] simpleName
        start local 3 // char[] qualification
        start local 4 // boolean isCaseSensitive
        start local 5 // boolean isCamelCase
         0: .line 80
            aload 2 /* simpleName */
            ifnonnull 1
            aload 3 /* qualification */
            ifnonnull 1
            iconst_1
            ireturn
         1: .line 81
      StackMap locals:
      StackMap stack:
            aload 1 /* enclosingBinaryType */
            ifnonnull 2
            iconst_1
            ireturn
         2: .line 83
      StackMap locals:
      StackMap stack:
            aload 1 /* enclosingBinaryType */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getName:()[C
            invokestatic org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.convertClassFileFormat:([C)[C
            astore 6 /* declaringTypeName */
        start local 6 // char[] declaringTypeName
         3: .line 84
            aload 0 /* this */
            aload 2 /* simpleName */
            aload 3 /* qualification */
            aload 6 /* declaringTypeName */
            iload 4 /* isCaseSensitive */
            iload 5 /* isCamelCase */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkTypeName:([C[C[CZZ)Z
            ireturn
        end local 6 // char[] declaringTypeName
        end local 5 // boolean isCamelCase
        end local 4 // boolean isCaseSensitive
        end local 3 // char[] qualification
        end local 2 // char[] simpleName
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType enclosingBinaryType
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lorg/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator;
            0    4     1  enclosingBinaryType  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            0    4     2           simpleName  [C
            0    4     3        qualification  [C
            0    4     4      isCaseSensitive  Z
            0    4     5          isCamelCase  Z
            3    4     6    declaringTypeName  [C
    MethodParameters:
                     Name  Flags
      enclosingBinaryType  
      simpleName           
      qualification        
      isCaseSensitive      
      isCamelCase          

  private boolean checkParameters(char[], char[][], char[][], boolean, boolean);
    descriptor: ([C[[C[[CZZ)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
        start local 1 // char[] methodDescriptor
        start local 2 // char[][] parameterSimpleNames
        start local 3 // char[][] parameterQualifications
        start local 4 // boolean isCaseSensitive
        start local 5 // boolean isCamelCase
         0: .line 87
            aload 1 /* methodDescriptor */
            invokestatic org.eclipse.jdt.core.Signature.getParameterTypes:([C)[[C
            astore 6 /* arguments */
        start local 6 // char[][] arguments
         1: .line 88
            aload 2 /* parameterSimpleNames */
            arraylength
            istore 7 /* parameterCount */
        start local 7 // int parameterCount
         2: .line 89
            iload 7 /* parameterCount */
            aload 6 /* arguments */
            arraylength
            if_icmpeq 3
            iconst_0
            ireturn
         3: .line 90
      StackMap locals: char[][] int
      StackMap stack:
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         4: goto 8
         5: .line 91
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* parameterSimpleNames */
            iload 8 /* i */
            aaload
            aload 3 /* parameterQualifications */
            iload 8 /* i */
            aaload
            aload 6 /* arguments */
            iload 8 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.Signature.toCharArray:([C)[C
            iload 4 /* isCaseSensitive */
            iload 5 /* isCamelCase */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkTypeName:([C[C[CZZ)Z
            ifne 7
         6: .line 92
            iconst_0
            ireturn
         7: .line 90
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 8 /* i */
            iload 7 /* parameterCount */
            if_icmplt 5
        end local 8 // int i
         9: .line 93
            iconst_1
            ireturn
        end local 7 // int parameterCount
        end local 6 // char[][] arguments
        end local 5 // boolean isCamelCase
        end local 4 // boolean isCaseSensitive
        end local 3 // char[][] parameterQualifications
        end local 2 // char[][] parameterSimpleNames
        end local 1 // char[] methodDescriptor
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   10     0                     this  Lorg/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator;
            0   10     1         methodDescriptor  [C
            0   10     2     parameterSimpleNames  [[C
            0   10     3  parameterQualifications  [[C
            0   10     4          isCaseSensitive  Z
            0   10     5              isCamelCase  Z
            1   10     6                arguments  [[C
            2   10     7           parameterCount  I
            4    9     8                        i  I
    MethodParameters:
                         Name  Flags
      methodDescriptor         
      parameterSimpleNames     
      parameterQualifications  
      isCaseSensitive          
      isCamelCase              

  private boolean checkStandardAnnotations(long, org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern);
    descriptor: (JLorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
        start local 1 // long annotationTagBits
        start local 3 // org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern pattern
         0: .line 96
            lload 1 /* annotationTagBits */
            ldc 8646911250191613952
            land
            lconst_0
            lcmp
            ifne 2
         1: .line 97
            iconst_0
            ireturn
         2: .line 99
      StackMap locals:
      StackMap stack:
            lload 1 /* annotationTagBits */
            ldc 2332882164804222976
            land
            lconst_0
            lcmp
            ifeq 7
         3: .line 100
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_ANNOTATION_TARGET:[[C
            astore 4 /* compoundName */
        start local 4 // char[][] compoundName
         4: .line 101
            aload 0 /* this */
            aload 4 /* compoundName */
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            aload 3 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotationTypeReference:([CLorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
            ifne 6
         5: .line 102
            lload 1 /* annotationTagBits */
            ldc 2305860532680261632
            land
            lconst_0
            lcmp
            ifeq 7
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.JAVA_LANG_ANNOTATION_ELEMENTTYPE:[C
            aload 3 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotationTypeReference:([CLorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
            ifeq 7
         6: .line 103
      StackMap locals: char[][]
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // char[][] compoundName
         7: .line 106
      StackMap locals:
      StackMap stack:
            lload 1 /* annotationTagBits */
            ldc 52776558133248
            land
            lconst_0
            lcmp
            ifeq 12
         8: .line 107
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_ANNOTATION_RETENTION:[[C
            astore 4 /* compoundName */
        start local 4 // char[][] compoundName
         9: .line 108
            aload 0 /* this */
            aload 4 /* compoundName */
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            aload 3 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotationTypeReference:([CLorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
            ifne 11
        10: .line 109
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_ANNOTATION_RETENTIONPOLICY:[[C
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            aload 3 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotationTypeReference:([CLorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
            ifeq 12
        11: .line 110
      StackMap locals: char[][]
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // char[][] compoundName
        12: .line 113
      StackMap locals:
      StackMap stack:
            lload 1 /* annotationTagBits */
            ldc 70368744177664
            land
            lconst_0
            lcmp
            ifeq 16
        13: .line 114
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_DEPRECATED:[[C
            astore 4 /* compoundName */
        start local 4 // char[][] compoundName
        14: .line 115
            aload 0 /* this */
            aload 4 /* compoundName */
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            aload 3 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotationTypeReference:([CLorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
            ifeq 16
        15: .line 116
            iconst_1
            ireturn
        end local 4 // char[][] compoundName
        16: .line 119
      StackMap locals:
      StackMap stack:
            lload 1 /* annotationTagBits */
            ldc 140737488355328
            land
            lconst_0
            lcmp
            ifeq 20
        17: .line 120
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_ANNOTATION_DOCUMENTED:[[C
            astore 4 /* compoundName */
        start local 4 // char[][] compoundName
        18: .line 121
            aload 0 /* this */
            aload 4 /* compoundName */
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            aload 3 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotationTypeReference:([CLorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
            ifeq 20
        19: .line 122
            iconst_1
            ireturn
        end local 4 // char[][] compoundName
        20: .line 125
      StackMap locals:
      StackMap stack:
            lload 1 /* annotationTagBits */
            ldc 281474976710656
            land
            lconst_0
            lcmp
            ifeq 24
        21: .line 126
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_ANNOTATION_INHERITED:[[C
            astore 4 /* compoundName */
        start local 4 // char[][] compoundName
        22: .line 127
            aload 0 /* this */
            aload 4 /* compoundName */
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            aload 3 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotationTypeReference:([CLorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
            ifeq 24
        23: .line 128
            iconst_1
            ireturn
        end local 4 // char[][] compoundName
        24: .line 131
      StackMap locals:
      StackMap stack:
            lload 1 /* annotationTagBits */
            ldc 562949953421312
            land
            lconst_0
            lcmp
            ifeq 28
        25: .line 132
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_OVERRIDE:[[C
            astore 4 /* compoundName */
        start local 4 // char[][] compoundName
        26: .line 133
            aload 0 /* this */
            aload 4 /* compoundName */
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            aload 3 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotationTypeReference:([CLorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
            ifeq 28
        27: .line 134
            iconst_1
            ireturn
        end local 4 // char[][] compoundName
        28: .line 137
      StackMap locals:
      StackMap stack:
            lload 1 /* annotationTagBits */
            ldc 1125899906842624
            land
            lconst_0
            lcmp
            ifeq 32
        29: .line 138
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_SUPPRESSWARNINGS:[[C
            astore 4 /* compoundName */
        start local 4 // char[][] compoundName
        30: .line 139
            aload 0 /* this */
            aload 4 /* compoundName */
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            aload 3 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotationTypeReference:([CLorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
            ifeq 32
        31: .line 140
            iconst_1
            ireturn
        end local 4 // char[][] compoundName
        32: .line 143
      StackMap locals:
      StackMap stack:
            lload 1 /* annotationTagBits */
            ldc 2251799813685248
            land
            lconst_0
            lcmp
            ifeq 36
        33: .line 144
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_SAFEVARARGS:[[C
            astore 4 /* compoundName */
        start local 4 // char[][] compoundName
        34: .line 145
            aload 0 /* this */
            aload 4 /* compoundName */
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            aload 3 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotationTypeReference:([CLorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
            ifeq 36
        35: .line 146
            iconst_1
            ireturn
        end local 4 // char[][] compoundName
        36: .line 149
      StackMap locals:
      StackMap stack:
            lload 1 /* annotationTagBits */
            ldc 4503599627370496
            land
            lconst_0
            lcmp
            ifeq 40
        37: .line 150
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE:[[C
            astore 4 /* compoundName */
        start local 4 // char[][] compoundName
        38: .line 151
            aload 0 /* this */
            aload 4 /* compoundName */
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            aload 3 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotationTypeReference:([CLorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;)Z
            ifeq 40
        39: .line 152
            iconst_1
            ireturn
        end local 4 // char[][] compoundName
        40: .line 155
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern pattern
        end local 1 // long annotationTagBits
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   41     0               this  Lorg/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator;
            0   41     1  annotationTagBits  J
            0   41     3            pattern  Lorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;
            4    7     4       compoundName  [[C
            9   12     4       compoundName  [[C
           14   16     4       compoundName  [[C
           18   20     4       compoundName  [[C
           22   24     4       compoundName  [[C
           26   28     4       compoundName  [[C
           30   32     4       compoundName  [[C
           34   36     4       compoundName  [[C
           38   40     4       compoundName  [[C
    MethodParameters:
                   Name  Flags
      annotationTagBits  
      pattern            

  private boolean checkTypeName(char[], char[], char[], boolean, boolean);
    descriptor: ([C[C[CZZ)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
        start local 1 // char[] simpleName
        start local 2 // char[] qualification
        start local 3 // char[] fullyQualifiedTypeName
        start local 4 // boolean isCaseSensitive
        start local 5 // boolean isCamelCase
         0: .line 159
            aload 1 /* simpleName */
            aload 2 /* qualification */
            invokestatic org.eclipse.jdt.internal.core.search.matching.PatternLocator.qualifiedPattern:([C[C)[C
            astore 6 /* wildcardPattern */
        start local 6 // char[] wildcardPattern
         1: .line 160
            aload 6 /* wildcardPattern */
            ifnonnull 2
            iconst_1
            ireturn
         2: .line 161
      StackMap locals: char[]
      StackMap stack:
            aload 6 /* wildcardPattern */
            aload 3 /* fullyQualifiedTypeName */
            iload 4 /* isCaseSensitive */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.match:([C[CZ)Z
            ireturn
        end local 6 // char[] wildcardPattern
        end local 5 // boolean isCamelCase
        end local 4 // boolean isCaseSensitive
        end local 3 // char[] fullyQualifiedTypeName
        end local 2 // char[] qualification
        end local 1 // char[] simpleName
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    3     0                    this  Lorg/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator;
            0    3     1              simpleName  [C
            0    3     2           qualification  [C
            0    3     3  fullyQualifiedTypeName  [C
            0    3     4         isCaseSensitive  Z
            0    3     5             isCamelCase  Z
            1    3     6         wildcardPattern  [C
    MethodParameters:
                        Name  Flags
      simpleName              
      qualification           
      fullyQualifiedTypeName  
      isCaseSensitive         
      isCamelCase             

  public void locateMatches(org.eclipse.jdt.internal.core.search.matching.MatchLocator, org.eclipse.jdt.internal.core.ClassFile, org.eclipse.jdt.internal.compiler.env.IBinaryType);
    descriptor: (Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;Lorg/eclipse/jdt/internal/core/ClassFile;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=27, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
        start local 1 // org.eclipse.jdt.internal.core.search.matching.MatchLocator locator
        start local 2 // org.eclipse.jdt.internal.core.ClassFile classFile
        start local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         0: .line 167
            aload 1 /* locator */
            getfield org.eclipse.jdt.internal.core.search.matching.MatchLocator.pattern:Lorg/eclipse/jdt/core/search/SearchPattern;
            astore 4 /* pattern */
        start local 4 // org.eclipse.jdt.core.search.SearchPattern pattern
         1: .line 170
            aload 0 /* this */
            aload 4 /* pattern */
            aload 1 /* locator */
            aload 2 /* classFile */
            aload 3 /* info */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.matchAnnotations:(Lorg/eclipse/jdt/core/search/SearchPattern;Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;Lorg/eclipse/jdt/internal/core/ClassFile;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)V
         2: .line 173
            aload 2 /* classFile */
            invokevirtual org.eclipse.jdt.internal.core.ClassFile.getType:()Lorg/eclipse/jdt/core/IType;
            checkcast org.eclipse.jdt.internal.core.BinaryType
            astore 5 /* binaryType */
        start local 5 // org.eclipse.jdt.internal.core.BinaryType binaryType
         3: .line 174
            aload 0 /* this */
            aload 4 /* pattern */
            aload 3 /* info */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.matchBinary:(Lorg/eclipse/jdt/core/search/SearchPattern;Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Z
            ifeq 7
         4: .line 175
            new org.eclipse.jdt.internal.core.ResolvedBinaryType
            dup
            aload 5 /* binaryType */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 5 /* binaryType */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementName:()Ljava/lang/String;
            aload 5 /* binaryType */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getKey:()Ljava/lang/String;
            invokespecial org.eclipse.jdt.internal.core.ResolvedBinaryType.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* binaryType */
         5: .line 176
            aload 1 /* locator */
            aconst_null
            aload 5 /* binaryType */
            aconst_null
            aload 3 /* info */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.reportBinaryMemberDeclaration:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/core/IMember;Lorg/eclipse/jdt/internal/compiler/lookup/Binding;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;I)V
         6: .line 177
            return
         7: .line 181
      StackMap locals: org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.BinaryType
      StackMap stack:
            aload 3 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getMethods:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
            astore 6 /* binaryMethods */
        start local 6 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] binaryMethods
         8: .line 182
            aload 6 /* binaryMethods */
            ifnonnull 9
            iconst_0
            goto 10
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryMethod[]
      StackMap stack:
         9: aload 6 /* binaryMethods */
            arraylength
      StackMap locals:
      StackMap stack: int
        10: istore 7 /* bMethodsLength */
        start local 7 // int bMethodsLength
        11: .line 183
            aconst_null
            astore 8 /* unresolvedMethods */
        start local 8 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] unresolvedMethods
        12: .line 184
            aconst_null
            astore 9 /* binaryMethodSignatures */
        start local 9 // char[][] binaryMethodSignatures
        13: .line 185
            iconst_0
            istore 10 /* hasUnresolvedMethods */
        start local 10 // boolean hasUnresolvedMethods
        14: .line 188
            aload 3 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getFields:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryField;
            astore 11 /* binaryFields */
        start local 11 // org.eclipse.jdt.internal.compiler.env.IBinaryField[] binaryFields
        15: .line 189
            aload 11 /* binaryFields */
            ifnonnull 16
            iconst_0
            goto 17
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator org.eclipse.jdt.internal.core.search.matching.MatchLocator org.eclipse.jdt.internal.core.ClassFile org.eclipse.jdt.internal.compiler.env.IBinaryType org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] int org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] char[][] int org.eclipse.jdt.internal.compiler.env.IBinaryField[]
      StackMap stack:
        16: aload 11 /* binaryFields */
            arraylength
      StackMap locals:
      StackMap stack: int
        17: istore 12 /* bFieldsLength */
        start local 12 // int bFieldsLength
        18: .line 190
            aconst_null
            astore 13 /* unresolvedFields */
        start local 13 // org.eclipse.jdt.internal.compiler.env.IBinaryField[] unresolvedFields
        19: .line 191
            iconst_0
            istore 14 /* hasUnresolvedFields */
        start local 14 // boolean hasUnresolvedFields
        20: .line 194
            iconst_0
            istore 15 /* accuracy */
        start local 15 // int accuracy
        21: .line 195
            aload 4 /* pattern */
            getfield org.eclipse.jdt.core.search.SearchPattern.mustResolve:Z
            istore 16 /* mustResolve */
        start local 16 // boolean mustResolve
        22: .line 196
            iload 16 /* mustResolve */
            ifeq 104
        23: .line 197
            aload 1 /* locator */
            aload 5 /* binaryType */
            aload 3 /* info */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.cacheBinaryType:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Lorg/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding;
            astore 17 /* binding */
        start local 17 // org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding binding
        24: .line 198
            aload 17 /* binding */
            ifnull 103
        25: .line 200
            aload 1 /* locator */
            aload 17 /* binding */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.typeInHierarchy:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ifne 26
            return
        26: .line 203
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator org.eclipse.jdt.internal.core.search.matching.MatchLocator org.eclipse.jdt.internal.core.ClassFile org.eclipse.jdt.internal.compiler.env.IBinaryType org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] int org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] char[][] int org.eclipse.jdt.internal.compiler.env.IBinaryField[] int org.eclipse.jdt.internal.compiler.env.IBinaryField[] int int int org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding
      StackMap stack:
            aload 17 /* binding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.availableMethods:()[Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 18 /* availableMethods */
        start local 18 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] availableMethods
        27: .line 204
            aload 18 /* availableMethods */
            ifnonnull 28
            iconst_0
            goto 29
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding[]
      StackMap stack:
        28: aload 18 /* availableMethods */
            arraylength
      StackMap locals:
      StackMap stack: int
        29: istore 19 /* aMethodsLength */
        start local 19 // int aMethodsLength
        30: .line 205
            iload 7 /* bMethodsLength */
            iload 19 /* aMethodsLength */
            if_icmpeq 31
            iconst_1
            goto 32
      StackMap locals: int
      StackMap stack:
        31: iconst_0
      StackMap locals:
      StackMap stack: int
        32: istore 10 /* hasUnresolvedMethods */
        33: .line 206
            iconst_0
            istore 20 /* i */
        start local 20 // int i
        34: goto 71
        35: .line 207
      StackMap locals: int
      StackMap stack:
            aload 18 /* availableMethods */
            iload 20 /* i */
            aaload
            astore 21 /* method */
        start local 21 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        36: .line 208
            aload 21 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.genericSignature:()[C
            astore 22 /* methodSignature */
        start local 22 // char[] methodSignature
        37: .line 209
            aload 22 /* methodSignature */
            ifnonnull 38
            aload 21 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.signature:()[C
            astore 22 /* methodSignature */
        38: .line 212
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding char[]
      StackMap stack:
            aload 1 /* locator */
            getfield org.eclipse.jdt.internal.core.search.matching.MatchLocator.patternLocator:Lorg/eclipse/jdt/internal/core/search/matching/PatternLocator;
            aload 21 /* method */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.PatternLocator.resolveLevel:(Lorg/eclipse/jdt/internal/compiler/lookup/Binding;)I
            istore 23 /* level */
        start local 23 // int level
        39: .line 213
            iload 23 /* level */
            ifeq 50
        40: .line 214
            aload 5 /* binaryType */
        41: .line 215
            new java.lang.String
            dup
            aload 21 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isConstructor:()Z
            ifeq 42
            aload 17 /* binding */
            getfield org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.compoundName:[[C
            aload 17 /* binding */
            getfield org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.compoundName:[[C
            arraylength
            iconst_1
            isub
            aaload
            goto 43
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator org.eclipse.jdt.internal.core.search.matching.MatchLocator org.eclipse.jdt.internal.core.ClassFile org.eclipse.jdt.internal.compiler.env.IBinaryType org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] int org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] char[][] int org.eclipse.jdt.internal.compiler.env.IBinaryField[] int org.eclipse.jdt.internal.compiler.env.IBinaryField[] int int int org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] int int org.eclipse.jdt.internal.compiler.lookup.MethodBinding char[] int
      StackMap stack: org.eclipse.jdt.internal.core.BinaryType new 41 new 41
        42: aload 21 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.selector:[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator org.eclipse.jdt.internal.core.search.matching.MatchLocator org.eclipse.jdt.internal.core.ClassFile org.eclipse.jdt.internal.compiler.env.IBinaryType org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] int org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] char[][] int org.eclipse.jdt.internal.compiler.env.IBinaryField[] int org.eclipse.jdt.internal.compiler.env.IBinaryField[] int int int org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] int int org.eclipse.jdt.internal.compiler.lookup.MethodBinding char[] int
      StackMap stack: org.eclipse.jdt.internal.core.BinaryType new 41 new 41 char[]
        43: invokespecial java.lang.String.<init>:([C)V
        44: .line 216
            aload 22 /* methodSignature */
            invokestatic org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.convertClassFileFormat:([C)[C
            invokestatic org.eclipse.jdt.core.Signature.getParameterTypes:([C)[[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toStrings:([[C)[Ljava/lang/String;
        45: .line 214
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getMethod:(Ljava/lang/String;[Ljava/lang/String;)Lorg/eclipse/jdt/core/IMethod;
            astore 24 /* methodHandle */
        start local 24 // org.eclipse.jdt.core.IMethod methodHandle
        46: .line 217
            iload 23 /* level */
            iconst_3
            if_icmpne 47
            iconst_0
            goto 48
      StackMap locals: org.eclipse.jdt.core.IMethod
      StackMap stack:
        47: iconst_1
      StackMap locals:
      StackMap stack: int
        48: istore 15 /* accuracy */
        49: .line 218
            aload 1 /* locator */
            aconst_null
            aload 24 /* methodHandle */
            aload 21 /* method */
            aload 3 /* info */
            iload 15 /* accuracy */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.reportBinaryMemberDeclaration:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/core/IMember;Lorg/eclipse/jdt/internal/compiler/lookup/Binding;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;I)V
        end local 24 // org.eclipse.jdt.core.IMethod methodHandle
        50: .line 222
      StackMap locals:
      StackMap stack:
            iload 10 /* hasUnresolvedMethods */
            ifeq 70
        51: .line 223
            aload 9 /* binaryMethodSignatures */
            ifnonnull 61
        52: .line 224
            iload 7 /* bMethodsLength */
            anewarray char[]
            astore 9 /* binaryMethodSignatures */
        53: .line 225
            iconst_0
            istore 24 /* j */
        start local 24 // int j
        54: goto 60
        55: .line 226
      StackMap locals: int
      StackMap stack:
            aload 6 /* binaryMethods */
            iload 24 /* j */
            aaload
            astore 25 /* binaryMethod */
        start local 25 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod binaryMethod
        56: .line 227
            aload 25 /* binaryMethod */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getGenericSignature:()[C
            astore 26 /* signature */
        start local 26 // char[] signature
        57: .line 228
            aload 26 /* signature */
            ifnonnull 58
            aload 25 /* binaryMethod */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getMethodDescriptor:()[C
            astore 26 /* signature */
        58: .line 229
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryMethod char[]
      StackMap stack:
            aload 9 /* binaryMethodSignatures */
            iload 24 /* j */
            aload 26 /* signature */
            aastore
        end local 26 // char[] signature
        end local 25 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod binaryMethod
        59: .line 225
            iinc 24 /* j */ 1
      StackMap locals:
      StackMap stack:
        60: iload 24 /* j */
            iload 7 /* bMethodsLength */
            if_icmplt 55
        end local 24 // int j
        61: .line 232
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 24 /* j */
        start local 24 // int j
        62: goto 69
        63: .line 233
      StackMap locals: int
      StackMap stack:
            aload 6 /* binaryMethods */
            iload 24 /* j */
            aaload
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getSelector:()[C
            aload 21 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 68
            aload 9 /* binaryMethodSignatures */
            iload 24 /* j */
            aaload
            aload 22 /* methodSignature */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 68
        64: .line 234
            aload 8 /* unresolvedMethods */
            ifnonnull 66
        65: .line 235
            aload 6 /* binaryMethods */
            iconst_0
            iload 7 /* bMethodsLength */
            anewarray org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            dup
            astore 8 /* unresolvedMethods */
            iconst_0
            iload 7 /* bMethodsLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        66: .line 237
      StackMap locals:
      StackMap stack:
            aload 8 /* unresolvedMethods */
            iload 24 /* j */
            aconst_null
            aastore
        67: .line 238
            goto 70
        68: .line 232
      StackMap locals:
      StackMap stack:
            iinc 24 /* j */ 1
      StackMap locals:
      StackMap stack:
        69: iload 24 /* j */
            iload 7 /* bMethodsLength */
            if_icmplt 63
        end local 24 // int j
        end local 23 // int level
        end local 22 // char[] methodSignature
        end local 21 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        70: .line 206
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator org.eclipse.jdt.internal.core.search.matching.MatchLocator org.eclipse.jdt.internal.core.ClassFile org.eclipse.jdt.internal.compiler.env.IBinaryType org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] int org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] char[][] int org.eclipse.jdt.internal.compiler.env.IBinaryField[] int org.eclipse.jdt.internal.compiler.env.IBinaryField[] int int int org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] int int
      StackMap stack:
            iinc 20 /* i */ 1
      StackMap locals:
      StackMap stack:
        71: iload 20 /* i */
            iload 19 /* aMethodsLength */
            if_icmplt 35
        end local 20 // int i
        72: .line 245
            aload 17 /* binding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.availableFields:()[Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
            astore 20 /* availableFields */
        start local 20 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding[] availableFields
        73: .line 246
            aload 20 /* availableFields */
            ifnonnull 74
            iconst_0
            goto 75
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator org.eclipse.jdt.internal.core.search.matching.MatchLocator org.eclipse.jdt.internal.core.ClassFile org.eclipse.jdt.internal.compiler.env.IBinaryType org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] int org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] char[][] int org.eclipse.jdt.internal.compiler.env.IBinaryField[] int org.eclipse.jdt.internal.compiler.env.IBinaryField[] int int int org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] int org.eclipse.jdt.internal.compiler.lookup.FieldBinding[]
      StackMap stack:
        74: aload 20 /* availableFields */
            arraylength
      StackMap locals:
      StackMap stack: int
        75: istore 21 /* aFieldsLength */
        start local 21 // int aFieldsLength
        76: .line 247
            iload 12 /* bFieldsLength */
            iload 21 /* aFieldsLength */
            if_icmpeq 77
            iconst_1
            goto 78
      StackMap locals: int
      StackMap stack:
        77: iconst_0
      StackMap locals:
      StackMap stack: int
        78: istore 14 /* hasUnresolvedFields */
        79: .line 248
            iconst_0
            istore 22 /* i */
        start local 22 // int i
        80: goto 100
        81: .line 249
      StackMap locals: int
      StackMap stack:
            aload 20 /* availableFields */
            iload 22 /* i */
            aaload
            astore 23 /* field */
        start local 23 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding field
        82: .line 252
            aload 1 /* locator */
            getfield org.eclipse.jdt.internal.core.search.matching.MatchLocator.patternLocator:Lorg/eclipse/jdt/internal/core/search/matching/PatternLocator;
            aload 23 /* field */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.PatternLocator.resolveLevel:(Lorg/eclipse/jdt/internal/compiler/lookup/Binding;)I
            istore 24 /* level */
        start local 24 // int level
        83: .line 253
            iload 24 /* level */
            ifeq 89
        84: .line 254
            aload 5 /* binaryType */
            new java.lang.String
            dup
            aload 23 /* field */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.name:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getField:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IField;
            astore 25 /* fieldHandle */
        start local 25 // org.eclipse.jdt.core.IField fieldHandle
        85: .line 255
            iload 24 /* level */
            iconst_3
            if_icmpne 86
            iconst_0
            goto 87
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.FieldBinding int org.eclipse.jdt.core.IField
      StackMap stack:
        86: iconst_1
      StackMap locals:
      StackMap stack: int
        87: istore 15 /* accuracy */
        88: .line 256
            aload 1 /* locator */
            aconst_null
            aload 25 /* fieldHandle */
            aload 23 /* field */
            aload 3 /* info */
            iload 15 /* accuracy */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.reportBinaryMemberDeclaration:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/core/IMember;Lorg/eclipse/jdt/internal/compiler/lookup/Binding;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;I)V
        end local 25 // org.eclipse.jdt.core.IField fieldHandle
        89: .line 260
      StackMap locals:
      StackMap stack:
            iload 14 /* hasUnresolvedFields */
            ifeq 99
        90: .line 261
            iconst_0
            istore 25 /* j */
        start local 25 // int j
        91: goto 98
        92: .line 262
      StackMap locals: int
      StackMap stack:
            aload 11 /* binaryFields */
            iload 25 /* j */
            aaload
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryField.getName:()[C
            aload 23 /* field */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.name:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 97
        93: .line 263
            aload 13 /* unresolvedFields */
            ifnonnull 95
        94: .line 264
            aload 11 /* binaryFields */
            iconst_0
            iload 12 /* bFieldsLength */
            anewarray org.eclipse.jdt.internal.compiler.env.IBinaryField
            dup
            astore 13 /* unresolvedFields */
            iconst_0
            iload 12 /* bFieldsLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        95: .line 266
      StackMap locals:
      StackMap stack:
            aload 13 /* unresolvedFields */
            iload 25 /* j */
            aconst_null
            aastore
        96: .line 267
            goto 99
        97: .line 261
      StackMap locals:
      StackMap stack:
            iinc 25 /* j */ 1
      StackMap locals:
      StackMap stack:
        98: iload 25 /* j */
            iload 12 /* bFieldsLength */
            if_icmplt 92
        end local 25 // int j
        end local 24 // int level
        end local 23 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding field
        99: .line 248
      StackMap locals:
      StackMap stack:
            iinc 22 /* i */ 1
      StackMap locals:
      StackMap stack:
       100: iload 22 /* i */
            iload 21 /* aFieldsLength */
            if_icmplt 81
        end local 22 // int i
       101: .line 274
            iload 10 /* hasUnresolvedMethods */
            ifne 103
            iload 14 /* hasUnresolvedFields */
            ifne 103
       102: .line 275
            return
        end local 21 // int aFieldsLength
        end local 20 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding[] availableFields
        end local 19 // int aMethodsLength
        end local 18 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] availableMethods
       103: .line 278
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator org.eclipse.jdt.internal.core.search.matching.MatchLocator org.eclipse.jdt.internal.core.ClassFile org.eclipse.jdt.internal.compiler.env.IBinaryType org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] int org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] char[][] int org.eclipse.jdt.internal.compiler.env.IBinaryField[] int org.eclipse.jdt.internal.compiler.env.IBinaryField[] int int int org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding
      StackMap stack:
            iconst_1
            istore 15 /* accuracy */
        end local 17 // org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding binding
       104: .line 282
      StackMap locals:
      StackMap stack:
            iload 16 /* mustResolve */
            ifeq 105
            aload 8 /* unresolvedMethods */
            astore 6 /* binaryMethods */
       105: .line 283
      StackMap locals:
      StackMap stack:
            aload 6 /* binaryMethods */
            ifnonnull 106
            iconst_0
            goto 107
      StackMap locals:
      StackMap stack:
       106: aload 6 /* binaryMethods */
            arraylength
      StackMap locals:
      StackMap stack: int
       107: istore 7 /* bMethodsLength */
       108: .line 284
            iconst_0
            istore 17 /* i */
        start local 17 // int i
       109: goto 129
       110: .line 285
      StackMap locals: int
      StackMap stack:
            aload 6 /* binaryMethods */
            iload 17 /* i */
            aaload
            astore 18 /* method */
        start local 18 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod method
       111: .line 286
            aload 18 /* method */
            ifnonnull 112
            goto 128
       112: .line 287
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryMethod
      StackMap stack:
            aload 0 /* this */
            aload 4 /* pattern */
            aload 18 /* method */
            aload 3 /* info */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.matchBinary:(Lorg/eclipse/jdt/core/search/SearchPattern;Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Z
            ifeq 128
       113: .line 289
            aload 18 /* method */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.isConstructor:()Z
            ifeq 116
       114: .line 292
            aload 3 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getSourceName:()[C
            astore 19 /* name */
        start local 19 // char[] name
       115: .line 293
            goto 117
        end local 19 // char[] name
       116: .line 294
      StackMap locals:
      StackMap stack:
            aload 18 /* method */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getSelector:()[C
            astore 19 /* name */
        start local 19 // char[] name
       117: .line 296
      StackMap locals: char[]
      StackMap stack:
            new java.lang.String
            dup
            aload 19 /* name */
            invokespecial java.lang.String.<init>:([C)V
            astore 20 /* selector */
        start local 20 // java.lang.String selector
       118: .line 297
            aload 9 /* binaryMethodSignatures */
            ifnonnull 119
            aconst_null
            goto 120
      StackMap locals: java.lang.String
      StackMap stack:
       119: aload 9 /* binaryMethodSignatures */
            iload 17 /* i */
            aaload
      StackMap locals:
      StackMap stack: char[]
       120: astore 21 /* methodSignature */
        start local 21 // char[] methodSignature
       121: .line 298
            aload 21 /* methodSignature */
            ifnonnull 124
       122: .line 299
            aload 18 /* method */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getGenericSignature:()[C
            astore 21 /* methodSignature */
       123: .line 300
            aload 21 /* methodSignature */
            ifnonnull 124
            aload 18 /* method */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getMethodDescriptor:()[C
            astore 21 /* methodSignature */
       124: .line 302
      StackMap locals: char[]
      StackMap stack:
            aload 21 /* methodSignature */
            invokestatic org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.convertClassFileFormat:([C)[C
            invokestatic org.eclipse.jdt.core.Signature.getParameterTypes:([C)[[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toStrings:([[C)[Ljava/lang/String;
            astore 22 /* parameterTypes */
        start local 22 // java.lang.String[] parameterTypes
       125: .line 303
            aload 5 /* binaryType */
            aload 20 /* selector */
            aload 22 /* parameterTypes */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getMethod:(Ljava/lang/String;[Ljava/lang/String;)Lorg/eclipse/jdt/core/IMethod;
            astore 23 /* methodHandle */
        start local 23 // org.eclipse.jdt.core.IMethod methodHandle
       126: .line 304
            new org.eclipse.jdt.internal.core.ResolvedBinaryMethod
            dup
            aload 5 /* binaryType */
            aload 20 /* selector */
            aload 22 /* parameterTypes */
            aload 23 /* methodHandle */
            invokeinterface org.eclipse.jdt.core.IMethod.getKey:()Ljava/lang/String;
            invokespecial org.eclipse.jdt.internal.core.ResolvedBinaryMethod.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
            astore 23 /* methodHandle */
       127: .line 305
            aload 1 /* locator */
            aconst_null
            aload 23 /* methodHandle */
            aconst_null
            aload 3 /* info */
            iload 15 /* accuracy */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.reportBinaryMemberDeclaration:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/core/IMember;Lorg/eclipse/jdt/internal/compiler/lookup/Binding;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;I)V
        end local 23 // org.eclipse.jdt.core.IMethod methodHandle
        end local 22 // java.lang.String[] parameterTypes
        end local 21 // char[] methodSignature
        end local 20 // java.lang.String selector
        end local 19 // char[] name
        end local 18 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod method
       128: .line 284
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator org.eclipse.jdt.internal.core.search.matching.MatchLocator org.eclipse.jdt.internal.core.ClassFile org.eclipse.jdt.internal.compiler.env.IBinaryType org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] int org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] char[][] int org.eclipse.jdt.internal.compiler.env.IBinaryField[] int org.eclipse.jdt.internal.compiler.env.IBinaryField[] int int int int
      StackMap stack:
            iinc 17 /* i */ 1
      StackMap locals:
      StackMap stack:
       129: iload 17 /* i */
            iload 7 /* bMethodsLength */
            if_icmplt 110
        end local 17 // int i
       130: .line 310
            iload 16 /* mustResolve */
            ifeq 131
            aload 13 /* unresolvedFields */
            astore 11 /* binaryFields */
       131: .line 311
      StackMap locals:
      StackMap stack:
            aload 11 /* binaryFields */
            ifnonnull 132
            iconst_0
            goto 133
      StackMap locals:
      StackMap stack:
       132: aload 11 /* binaryFields */
            arraylength
      StackMap locals:
      StackMap stack: int
       133: istore 12 /* bFieldsLength */
       134: .line 312
            iconst_0
            istore 17 /* i */
        start local 17 // int i
       135: goto 144
       136: .line 313
      StackMap locals: int
      StackMap stack:
            aload 11 /* binaryFields */
            iload 17 /* i */
            aaload
            astore 18 /* field */
        start local 18 // org.eclipse.jdt.internal.compiler.env.IBinaryField field
       137: .line 314
            aload 18 /* field */
            ifnonnull 138
            goto 143
       138: .line 315
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryField
      StackMap stack:
            aload 0 /* this */
            aload 4 /* pattern */
            aload 18 /* field */
            aload 3 /* info */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.matchBinary:(Lorg/eclipse/jdt/core/search/SearchPattern;Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Z
            ifeq 143
       139: .line 316
            new java.lang.String
            dup
            aload 18 /* field */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryField.getName:()[C
            invokespecial java.lang.String.<init>:([C)V
            astore 19 /* fieldName */
        start local 19 // java.lang.String fieldName
       140: .line 317
            aload 5 /* binaryType */
            aload 19 /* fieldName */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getField:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IField;
            astore 20 /* fieldHandle */
        start local 20 // org.eclipse.jdt.core.IField fieldHandle
       141: .line 318
            new org.eclipse.jdt.internal.core.ResolvedBinaryField
            dup
            aload 5 /* binaryType */
            aload 19 /* fieldName */
            aload 20 /* fieldHandle */
            invokeinterface org.eclipse.jdt.core.IField.getKey:()Ljava/lang/String;
            invokespecial org.eclipse.jdt.internal.core.ResolvedBinaryField.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;)V
            astore 20 /* fieldHandle */
       142: .line 319
            aload 1 /* locator */
            aconst_null
            aload 20 /* fieldHandle */
            aconst_null
            aload 3 /* info */
            iload 15 /* accuracy */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.reportBinaryMemberDeclaration:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/core/IMember;Lorg/eclipse/jdt/internal/compiler/lookup/Binding;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;I)V
        end local 20 // org.eclipse.jdt.core.IField fieldHandle
        end local 19 // java.lang.String fieldName
        end local 18 // org.eclipse.jdt.internal.compiler.env.IBinaryField field
       143: .line 312
      StackMap locals:
      StackMap stack:
            iinc 17 /* i */ 1
      StackMap locals:
      StackMap stack:
       144: iload 17 /* i */
            iload 12 /* bFieldsLength */
            if_icmplt 136
        end local 17 // int i
       145: .line 322
            return
        end local 16 // boolean mustResolve
        end local 15 // int accuracy
        end local 14 // boolean hasUnresolvedFields
        end local 13 // org.eclipse.jdt.internal.compiler.env.IBinaryField[] unresolvedFields
        end local 12 // int bFieldsLength
        end local 11 // org.eclipse.jdt.internal.compiler.env.IBinaryField[] binaryFields
        end local 10 // boolean hasUnresolvedMethods
        end local 9 // char[][] binaryMethodSignatures
        end local 8 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] unresolvedMethods
        end local 7 // int bMethodsLength
        end local 6 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] binaryMethods
        end local 5 // org.eclipse.jdt.internal.core.BinaryType binaryType
        end local 4 // org.eclipse.jdt.core.search.SearchPattern pattern
        end local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 2 // org.eclipse.jdt.internal.core.ClassFile classFile
        end local 1 // org.eclipse.jdt.internal.core.search.matching.MatchLocator locator
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0  146     0                    this  Lorg/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator;
            0  146     1                 locator  Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;
            0  146     2               classFile  Lorg/eclipse/jdt/internal/core/ClassFile;
            0  146     3                    info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            1  146     4                 pattern  Lorg/eclipse/jdt/core/search/SearchPattern;
            3  146     5              binaryType  Lorg/eclipse/jdt/internal/core/BinaryType;
            8  146     6           binaryMethods  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
           11  146     7          bMethodsLength  I
           12  146     8       unresolvedMethods  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
           13  146     9  binaryMethodSignatures  [[C
           14  146    10    hasUnresolvedMethods  Z
           15  146    11            binaryFields  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryField;
           18  146    12           bFieldsLength  I
           19  146    13        unresolvedFields  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryField;
           20  146    14     hasUnresolvedFields  Z
           21  146    15                accuracy  I
           22  146    16             mustResolve  Z
           24  104    17                 binding  Lorg/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding;
           27  103    18        availableMethods  [Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           30  103    19          aMethodsLength  I
           34   72    20                       i  I
           36   70    21                  method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           37   70    22         methodSignature  [C
           39   70    23                   level  I
           46   50    24            methodHandle  Lorg/eclipse/jdt/core/IMethod;
           54   61    24                       j  I
           56   59    25            binaryMethod  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
           57   59    26               signature  [C
           62   70    24                       j  I
           73  103    20         availableFields  [Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
           76  103    21           aFieldsLength  I
           80  101    22                       i  I
           82   99    23                   field  Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
           83   99    24                   level  I
           85   89    25             fieldHandle  Lorg/eclipse/jdt/core/IField;
           91   99    25                       j  I
          109  130    17                       i  I
          111  128    18                  method  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
          115  116    19                    name  [C
          117  128    19                    name  [C
          118  128    20                selector  Ljava/lang/String;
          121  128    21         methodSignature  [C
          125  128    22          parameterTypes  [Ljava/lang/String;
          126  128    23            methodHandle  Lorg/eclipse/jdt/core/IMethod;
          135  145    17                       i  I
          137  143    18                   field  Lorg/eclipse/jdt/internal/compiler/env/IBinaryField;
          140  143    19               fieldName  Ljava/lang/String;
          141  143    20             fieldHandle  Lorg/eclipse/jdt/core/IField;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
           Name  Flags
      locator    
      classFile  
      info       

  private void matchAnnotations(org.eclipse.jdt.core.search.SearchPattern, org.eclipse.jdt.internal.core.search.matching.MatchLocator, org.eclipse.jdt.internal.core.ClassFile, org.eclipse.jdt.internal.compiler.env.IBinaryType);
    descriptor: (Lorg/eclipse/jdt/core/search/SearchPattern;Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;Lorg/eclipse/jdt/internal/core/ClassFile;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=16, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
        start local 1 // org.eclipse.jdt.core.search.SearchPattern pattern
        start local 2 // org.eclipse.jdt.internal.core.search.matching.MatchLocator locator
        start local 3 // org.eclipse.jdt.internal.core.ClassFile classFile
        start local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryType binaryType
         0: .line 328
            aload 1 /* pattern */
            getfield org.eclipse.jdt.core.search.SearchPattern.kind:I
            lookupswitch { // 2
                    4: 1
                  256: 2
              default: 9
          }
         1: .line 330
      StackMap locals:
      StackMap stack:
            goto 10
         2: .line 332
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            checkcast org.eclipse.jdt.internal.core.search.matching.OrPattern
            getfield org.eclipse.jdt.internal.core.search.matching.OrPattern.patterns:[Lorg/eclipse/jdt/core/search/SearchPattern;
            astore 5 /* patterns */
        start local 5 // org.eclipse.jdt.core.search.SearchPattern[] patterns
         3: .line 333
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: aload 5 /* patterns */
            arraylength
            istore 7 /* length */
        start local 7 // int length
         5: goto 8
         6: .line 334
      StackMap locals: org.eclipse.jdt.core.search.SearchPattern[] int int
      StackMap stack:
            aload 0 /* this */
            aload 5 /* patterns */
            iload 6 /* i */
            aaload
            aload 2 /* locator */
            aload 3 /* classFile */
            aload 4 /* binaryType */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.matchAnnotations:(Lorg/eclipse/jdt/core/search/SearchPattern;Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;Lorg/eclipse/jdt/internal/core/ClassFile;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)V
         7: .line 333
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            iload 7 /* length */
            if_icmplt 6
        end local 7 // int length
        end local 6 // int i
        end local 5 // org.eclipse.jdt.core.search.SearchPattern[] patterns
         9: .line 338
      StackMap locals:
      StackMap stack:
            return
        10: .line 340
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            checkcast org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern
            astore 5 /* typeReferencePattern */
        start local 5 // org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern typeReferencePattern
        11: .line 343
            aload 4 /* binaryType */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getAnnotations:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            astore 6 /* annotations */
        start local 6 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] annotations
        12: .line 344
            aload 3 /* classFile */
            invokevirtual org.eclipse.jdt.internal.core.ClassFile.getType:()Lorg/eclipse/jdt/core/IType;
            checkcast org.eclipse.jdt.internal.core.BinaryType
            astore 7 /* classFileBinaryType */
        start local 7 // org.eclipse.jdt.internal.core.BinaryType classFileBinaryType
        13: .line 345
            aconst_null
            astore 8 /* binaryTypeBinding */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding binaryTypeBinding
        14: .line 346
            aload 0 /* this */
            aload 5 /* typeReferencePattern */
            aload 6 /* annotations */
            aload 4 /* binaryType */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getTagBits:()J
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotations:(Lorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;J)Z
            ifeq 19
        15: .line 347
            new org.eclipse.jdt.internal.core.ResolvedBinaryType
            dup
            aload 7 /* classFileBinaryType */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 7 /* classFileBinaryType */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementName:()Ljava/lang/String;
            aload 7 /* classFileBinaryType */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getKey:()Ljava/lang/String;
            invokespecial org.eclipse.jdt.internal.core.ResolvedBinaryType.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;)V
            astore 7 /* classFileBinaryType */
        16: .line 348
            new org.eclipse.jdt.core.search.TypeReferenceMatch
            dup
            aload 7 /* classFileBinaryType */
            iconst_0
            iconst_m1
            iconst_0
            iconst_0
            aload 2 /* locator */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.getParticipant:()Lorg/eclipse/jdt/core/search/SearchParticipant;
            aload 2 /* locator */
            getfield org.eclipse.jdt.internal.core.search.matching.MatchLocator.currentPossibleMatch:Lorg/eclipse/jdt/internal/core/search/matching/PossibleMatch;
            getfield org.eclipse.jdt.internal.core.search.matching.PossibleMatch.resource:Lorg/eclipse/core/resources/IResource;
            invokespecial org.eclipse.jdt.core.search.TypeReferenceMatch.<init>:(Lorg/eclipse/jdt/core/IJavaElement;IIIZLorg/eclipse/jdt/core/search/SearchParticipant;Lorg/eclipse/core/resources/IResource;)V
            astore 9 /* match */
        start local 9 // org.eclipse.jdt.core.search.TypeReferenceMatch match
        17: .line 350
            aload 9 /* match */
            aconst_null
            invokevirtual org.eclipse.jdt.core.search.TypeReferenceMatch.setLocalElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        18: .line 351
            aload 2 /* locator */
            aload 9 /* match */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.report:(Lorg/eclipse/jdt/core/search/SearchMatch;)V
        end local 9 // org.eclipse.jdt.core.search.TypeReferenceMatch match
        19: .line 355
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.search.matching.MatchLocator org.eclipse.jdt.internal.core.ClassFile org.eclipse.jdt.internal.compiler.env.IBinaryType org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding
      StackMap stack:
            aload 4 /* binaryType */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getMethods:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
            astore 9 /* methods */
        start local 9 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] methods
        20: .line 356
            aload 9 /* methods */
            ifnull 38
        21: .line 357
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        22: aload 9 /* methods */
            arraylength
            istore 11 /* max */
        start local 11 // int max
        23: goto 37
        24: .line 358
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] int int
      StackMap stack:
            aload 9 /* methods */
            iload 10 /* i */
            aaload
            astore 12 /* method */
        start local 12 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod method
        25: .line 359
            aload 0 /* this */
            aload 5 /* typeReferencePattern */
            aload 12 /* method */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getAnnotations:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            aload 12 /* method */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getTagBits:()J
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotations:(Lorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;J)Z
            ifeq 36
        26: .line 360
            aload 2 /* locator */
            aload 7 /* classFileBinaryType */
            aload 4 /* binaryType */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.cacheBinaryType:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Lorg/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding;
            astore 8 /* binaryTypeBinding */
        27: .line 361
            aload 7 /* classFileBinaryType */
        28: .line 362
            new java.lang.String
            dup
            aload 12 /* method */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.isConstructor:()Z
            ifeq 29
            aload 8 /* binaryTypeBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.compoundName:[[C
            aload 8 /* binaryTypeBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.compoundName:[[C
            arraylength
            iconst_1
            isub
            aaload
            goto 30
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.search.matching.MatchLocator org.eclipse.jdt.internal.core.ClassFile org.eclipse.jdt.internal.compiler.env.IBinaryType org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] int int org.eclipse.jdt.internal.compiler.env.IBinaryMethod
      StackMap stack: org.eclipse.jdt.internal.core.BinaryType new 28 new 28
        29: aload 12 /* method */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getSelector:()[C
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.search.matching.MatchLocator org.eclipse.jdt.internal.core.ClassFile org.eclipse.jdt.internal.compiler.env.IBinaryType org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] int int org.eclipse.jdt.internal.compiler.env.IBinaryMethod
      StackMap stack: org.eclipse.jdt.internal.core.BinaryType new 28 new 28 char[]
        30: invokespecial java.lang.String.<init>:([C)V
        31: .line 363
            aload 12 /* method */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getMethodDescriptor:()[C
            invokestatic org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.convertClassFileFormat:([C)[C
            invokestatic org.eclipse.jdt.core.Signature.getParameterTypes:([C)[[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toStrings:([[C)[Ljava/lang/String;
        32: .line 361
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getMethod:(Ljava/lang/String;[Ljava/lang/String;)Lorg/eclipse/jdt/core/IMethod;
            astore 13 /* methodHandle */
        start local 13 // org.eclipse.jdt.core.IMethod methodHandle
        33: .line 364
            new org.eclipse.jdt.core.search.TypeReferenceMatch
            dup
            aload 13 /* methodHandle */
            iconst_0
            iconst_m1
            iconst_0
            iconst_0
            aload 2 /* locator */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.getParticipant:()Lorg/eclipse/jdt/core/search/SearchParticipant;
            aload 2 /* locator */
            getfield org.eclipse.jdt.internal.core.search.matching.MatchLocator.currentPossibleMatch:Lorg/eclipse/jdt/internal/core/search/matching/PossibleMatch;
            getfield org.eclipse.jdt.internal.core.search.matching.PossibleMatch.resource:Lorg/eclipse/core/resources/IResource;
            invokespecial org.eclipse.jdt.core.search.TypeReferenceMatch.<init>:(Lorg/eclipse/jdt/core/IJavaElement;IIIZLorg/eclipse/jdt/core/search/SearchParticipant;Lorg/eclipse/core/resources/IResource;)V
            astore 14 /* match */
        start local 14 // org.eclipse.jdt.core.search.TypeReferenceMatch match
        34: .line 366
            aload 14 /* match */
            aconst_null
            invokevirtual org.eclipse.jdt.core.search.TypeReferenceMatch.setLocalElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        35: .line 367
            aload 2 /* locator */
            aload 14 /* match */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.report:(Lorg/eclipse/jdt/core/search/SearchMatch;)V
        end local 14 // org.eclipse.jdt.core.search.TypeReferenceMatch match
        end local 13 // org.eclipse.jdt.core.IMethod methodHandle
        end local 12 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod method
        36: .line 357
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 10 /* i */
            iload 11 /* max */
            if_icmplt 24
        end local 11 // int max
        end local 10 // int i
        38: .line 373
      StackMap locals:
      StackMap stack:
            aload 4 /* binaryType */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getFields:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryField;
            astore 10 /* fields */
        start local 10 // org.eclipse.jdt.internal.compiler.env.IBinaryField[] fields
        39: .line 374
            aload 10 /* fields */
            ifnull 51
        40: .line 375
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        41: aload 10 /* fields */
            arraylength
            istore 12 /* max */
        start local 12 // int max
        42: goto 50
        43: .line 376
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryField[] int int
      StackMap stack:
            aload 10 /* fields */
            iload 11 /* i */
            aaload
            astore 13 /* field */
        start local 13 // org.eclipse.jdt.internal.compiler.env.IBinaryField field
        44: .line 377
            aload 0 /* this */
            aload 5 /* typeReferencePattern */
            aload 13 /* field */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryField.getAnnotations:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            aload 13 /* field */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryField.getTagBits:()J
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkAnnotations:(Lorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;J)Z
            ifeq 49
        45: .line 378
            aload 7 /* classFileBinaryType */
            new java.lang.String
            dup
            aload 13 /* field */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryField.getName:()[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getField:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IField;
            astore 14 /* fieldHandle */
        start local 14 // org.eclipse.jdt.core.IField fieldHandle
        46: .line 379
            new org.eclipse.jdt.core.search.TypeReferenceMatch
            dup
            aload 14 /* fieldHandle */
            iconst_0
            iconst_m1
            iconst_0
            iconst_0
            aload 2 /* locator */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.getParticipant:()Lorg/eclipse/jdt/core/search/SearchParticipant;
            aload 2 /* locator */
            getfield org.eclipse.jdt.internal.core.search.matching.MatchLocator.currentPossibleMatch:Lorg/eclipse/jdt/internal/core/search/matching/PossibleMatch;
            getfield org.eclipse.jdt.internal.core.search.matching.PossibleMatch.resource:Lorg/eclipse/core/resources/IResource;
            invokespecial org.eclipse.jdt.core.search.TypeReferenceMatch.<init>:(Lorg/eclipse/jdt/core/IJavaElement;IIIZLorg/eclipse/jdt/core/search/SearchParticipant;Lorg/eclipse/core/resources/IResource;)V
            astore 15 /* match */
        start local 15 // org.eclipse.jdt.core.search.TypeReferenceMatch match
        47: .line 381
            aload 15 /* match */
            aconst_null
            invokevirtual org.eclipse.jdt.core.search.TypeReferenceMatch.setLocalElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        48: .line 382
            aload 2 /* locator */
            aload 15 /* match */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.report:(Lorg/eclipse/jdt/core/search/SearchMatch;)V
        end local 15 // org.eclipse.jdt.core.search.TypeReferenceMatch match
        end local 14 // org.eclipse.jdt.core.IField fieldHandle
        end local 13 // org.eclipse.jdt.internal.compiler.env.IBinaryField field
        49: .line 375
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        50: iload 11 /* i */
            iload 12 /* max */
            if_icmplt 43
        end local 12 // int max
        end local 11 // int i
        51: .line 386
      StackMap locals:
      StackMap stack:
            return
        end local 10 // org.eclipse.jdt.internal.compiler.env.IBinaryField[] fields
        end local 9 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod[] methods
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding binaryTypeBinding
        end local 7 // org.eclipse.jdt.internal.core.BinaryType classFileBinaryType
        end local 6 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] annotations
        end local 5 // org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern typeReferencePattern
        end local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryType binaryType
        end local 3 // org.eclipse.jdt.internal.core.ClassFile classFile
        end local 2 // org.eclipse.jdt.internal.core.search.matching.MatchLocator locator
        end local 1 // org.eclipse.jdt.core.search.SearchPattern pattern
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   52     0                  this  Lorg/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator;
            0   52     1               pattern  Lorg/eclipse/jdt/core/search/SearchPattern;
            0   52     2               locator  Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;
            0   52     3             classFile  Lorg/eclipse/jdt/internal/core/ClassFile;
            0   52     4            binaryType  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            3    9     5              patterns  [Lorg/eclipse/jdt/core/search/SearchPattern;
            4    9     6                     i  I
            5    9     7                length  I
           11   52     5  typeReferencePattern  Lorg/eclipse/jdt/internal/core/search/matching/TypeReferencePattern;
           12   52     6           annotations  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
           13   52     7   classFileBinaryType  Lorg/eclipse/jdt/internal/core/BinaryType;
           14   52     8     binaryTypeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding;
           17   19     9                 match  Lorg/eclipse/jdt/core/search/TypeReferenceMatch;
           20   52     9               methods  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
           22   38    10                     i  I
           23   38    11                   max  I
           25   36    12                method  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
           33   36    13          methodHandle  Lorg/eclipse/jdt/core/IMethod;
           34   36    14                 match  Lorg/eclipse/jdt/core/search/TypeReferenceMatch;
           39   52    10                fields  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryField;
           41   51    11                     i  I
           42   51    12                   max  I
           44   49    13                 field  Lorg/eclipse/jdt/internal/compiler/env/IBinaryField;
           46   49    14           fieldHandle  Lorg/eclipse/jdt/core/IField;
           47   49    15                 match  Lorg/eclipse/jdt/core/search/TypeReferenceMatch;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
            Name  Flags
      pattern     
      locator     
      classFile   
      binaryType  

  boolean matchBinary(org.eclipse.jdt.core.search.SearchPattern, java.lang.Object, org.eclipse.jdt.internal.compiler.env.IBinaryType);
    descriptor: (Lorg/eclipse/jdt/core/search/SearchPattern;Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
        start local 1 // org.eclipse.jdt.core.search.SearchPattern pattern
        start local 2 // java.lang.Object binaryInfo
        start local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType enclosingBinaryType
         0: .line 392
            aload 1 /* pattern */
            getfield org.eclipse.jdt.core.search.SearchPattern.kind:I
            lookupswitch { // 6
                    8: 5
                   16: 4
                   32: 1
                   64: 2
                  128: 3
                  256: 6
              default: 13
          }
         1: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pattern */
            checkcast org.eclipse.jdt.internal.core.search.matching.ConstructorPattern
            aload 2 /* binaryInfo */
            aload 3 /* enclosingBinaryType */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.matchConstructor:(Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Z
            ireturn
         2: .line 396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pattern */
            checkcast org.eclipse.jdt.internal.core.search.matching.FieldPattern
            aload 2 /* binaryInfo */
            aload 3 /* enclosingBinaryType */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.matchField:(Lorg/eclipse/jdt/internal/core/search/matching/FieldPattern;Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Z
            ireturn
         3: .line 398
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pattern */
            checkcast org.eclipse.jdt.internal.core.search.matching.MethodPattern
            aload 2 /* binaryInfo */
            aload 3 /* enclosingBinaryType */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.matchMethod:(Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Z
            ireturn
         4: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pattern */
            checkcast org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern
            aload 2 /* binaryInfo */
            aload 3 /* enclosingBinaryType */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.matchSuperTypeReference:(Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeReferencePattern;Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Z
            ireturn
         5: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pattern */
            checkcast org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern
            aload 2 /* binaryInfo */
            aload 3 /* enclosingBinaryType */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.matchTypeDeclaration:(Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern;Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Z
            ireturn
         6: .line 404
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            checkcast org.eclipse.jdt.internal.core.search.matching.OrPattern
            getfield org.eclipse.jdt.internal.core.search.matching.OrPattern.patterns:[Lorg/eclipse/jdt/core/search/SearchPattern;
            astore 4 /* patterns */
        start local 4 // org.eclipse.jdt.core.search.SearchPattern[] patterns
         7: .line 405
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: aload 4 /* patterns */
            arraylength
            istore 6 /* length */
        start local 6 // int length
         9: goto 12
        10: .line 406
      StackMap locals: org.eclipse.jdt.core.search.SearchPattern[] int int
      StackMap stack:
            aload 0 /* this */
            aload 4 /* patterns */
            iload 5 /* i */
            aaload
            aload 2 /* binaryInfo */
            aload 3 /* enclosingBinaryType */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.matchBinary:(Lorg/eclipse/jdt/core/search/SearchPattern;Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Z
            ifeq 11
            iconst_1
            ireturn
        11: .line 405
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            iload 6 /* length */
            if_icmplt 10
        end local 6 // int length
        end local 5 // int i
        end local 4 // org.eclipse.jdt.core.search.SearchPattern[] patterns
        13: .line 408
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType enclosingBinaryType
        end local 2 // java.lang.Object binaryInfo
        end local 1 // org.eclipse.jdt.core.search.SearchPattern pattern
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   14     0                 this  Lorg/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator;
            0   14     1              pattern  Lorg/eclipse/jdt/core/search/SearchPattern;
            0   14     2           binaryInfo  Ljava/lang/Object;
            0   14     3  enclosingBinaryType  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            7   13     4             patterns  [Lorg/eclipse/jdt/core/search/SearchPattern;
            8   13     5                    i  I
            9   13     6               length  I
    MethodParameters:
                     Name  Flags
      pattern              
      binaryInfo           
      enclosingBinaryType  

  boolean matchConstructor(org.eclipse.jdt.internal.core.search.matching.ConstructorPattern, java.lang.Object, org.eclipse.jdt.internal.compiler.env.IBinaryType);
    descriptor: (Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Z
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
        start local 1 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern pattern
        start local 2 // java.lang.Object binaryInfo
        start local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType enclosingBinaryType
         0: .line 411
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.findDeclarations:Z
            ifne 1
            iconst_0
            ireturn
         1: .line 412
      StackMap locals:
      StackMap stack:
            aload 2 /* binaryInfo */
            instanceof org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            ifne 2
            iconst_0
            ireturn
         2: .line 414
      StackMap locals:
      StackMap stack:
            aload 2 /* binaryInfo */
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            astore 4 /* method */
        start local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod method
         3: .line 415
            aload 4 /* method */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.isConstructor:()Z
            ifne 4
            iconst_0
            ireturn
         4: .line 416
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryMethod
      StackMap stack:
            aload 0 /* this */
            aload 3 /* enclosingBinaryType */
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringSimpleName:[C
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.declaringQualification:[C
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.isCaseSensitive:()Z
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.isCamelCase:()Z
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkDeclaringType:(Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;[C[CZZ)Z
            ifne 6
         5: .line 417
            iconst_0
            ireturn
         6: .line 418
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterSimpleNames:[[C
            ifnull 10
         7: .line 419
            aload 4 /* method */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getMethodDescriptor:()[C
            invokestatic org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.convertClassFileFormat:([C)[C
            astore 5 /* methodDescriptor */
        start local 5 // char[] methodDescriptor
         8: .line 420
            aload 0 /* this */
            aload 5 /* methodDescriptor */
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterSimpleNames:[[C
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.parameterQualifications:[[C
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.isCaseSensitive:()Z
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ConstructorPattern.isCamelCase:()Z
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkParameters:([C[[C[[CZZ)Z
            ifne 10
         9: .line 421
            iconst_0
            ireturn
        end local 5 // char[] methodDescriptor
        10: .line 423
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod method
        end local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType enclosingBinaryType
        end local 2 // java.lang.Object binaryInfo
        end local 1 // org.eclipse.jdt.internal.core.search.matching.ConstructorPattern pattern
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   11     0                 this  Lorg/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator;
            0   11     1              pattern  Lorg/eclipse/jdt/internal/core/search/matching/ConstructorPattern;
            0   11     2           binaryInfo  Ljava/lang/Object;
            0   11     3  enclosingBinaryType  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            3   11     4               method  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
            8   10     5     methodDescriptor  [C
    MethodParameters:
                     Name  Flags
      pattern              
      binaryInfo           
      enclosingBinaryType  

  boolean matchField(org.eclipse.jdt.internal.core.search.matching.FieldPattern, java.lang.Object, org.eclipse.jdt.internal.compiler.env.IBinaryType);
    descriptor: (Lorg/eclipse/jdt/internal/core/search/matching/FieldPattern;Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Z
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
        start local 1 // org.eclipse.jdt.internal.core.search.matching.FieldPattern pattern
        start local 2 // java.lang.Object binaryInfo
        start local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType enclosingBinaryType
         0: .line 426
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.FieldPattern.findDeclarations:Z
            ifne 1
            iconst_0
            ireturn
         1: .line 427
      StackMap locals:
      StackMap stack:
            aload 2 /* binaryInfo */
            instanceof org.eclipse.jdt.internal.compiler.env.IBinaryField
            ifne 2
            iconst_0
            ireturn
         2: .line 429
      StackMap locals:
      StackMap stack:
            aload 2 /* binaryInfo */
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryField
            astore 4 /* field */
        start local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryField field
         3: .line 430
            aload 1 /* pattern */
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.FieldPattern.name:[C
            aload 4 /* field */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryField.getName:()[C
            invokevirtual org.eclipse.jdt.internal.core.search.matching.FieldPattern.matchesName:([C[C)Z
            ifne 4
            iconst_0
            ireturn
         4: .line 431
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryField
      StackMap stack:
            aload 0 /* this */
            aload 3 /* enclosingBinaryType */
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.FieldPattern.declaringSimpleName:[C
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.FieldPattern.declaringQualification:[C
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.FieldPattern.isCaseSensitive:()Z
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.FieldPattern.isCamelCase:()Z
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkDeclaringType:(Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;[C[CZZ)Z
            ifne 6
         5: .line 432
            iconst_0
            ireturn
         6: .line 434
      StackMap locals:
      StackMap stack:
            aload 4 /* field */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryField.getTypeName:()[C
            invokestatic org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.convertClassFileFormat:([C)[C
            invokestatic org.eclipse.jdt.core.Signature.toCharArray:([C)[C
            astore 5 /* fieldTypeSignature */
        start local 5 // char[] fieldTypeSignature
         7: .line 435
            aload 0 /* this */
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.FieldPattern.typeSimpleName:[C
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.FieldPattern.typeQualification:[C
            aload 5 /* fieldTypeSignature */
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.FieldPattern.isCaseSensitive:()Z
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.FieldPattern.isCamelCase:()Z
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkTypeName:([C[C[CZZ)Z
            ireturn
        end local 5 // char[] fieldTypeSignature
        end local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryField field
        end local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType enclosingBinaryType
        end local 2 // java.lang.Object binaryInfo
        end local 1 // org.eclipse.jdt.internal.core.search.matching.FieldPattern pattern
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    8     0                 this  Lorg/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator;
            0    8     1              pattern  Lorg/eclipse/jdt/internal/core/search/matching/FieldPattern;
            0    8     2           binaryInfo  Ljava/lang/Object;
            0    8     3  enclosingBinaryType  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            3    8     4                field  Lorg/eclipse/jdt/internal/compiler/env/IBinaryField;
            7    8     5   fieldTypeSignature  [C
    MethodParameters:
                     Name  Flags
      pattern              
      binaryInfo           
      enclosingBinaryType  

  boolean matchMethod(org.eclipse.jdt.internal.core.search.matching.MethodPattern, java.lang.Object, org.eclipse.jdt.internal.compiler.env.IBinaryType);
    descriptor: (Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Z
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
        start local 1 // org.eclipse.jdt.internal.core.search.matching.MethodPattern pattern
        start local 2 // java.lang.Object binaryInfo
        start local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType enclosingBinaryType
         0: .line 438
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.findDeclarations:Z
            ifne 1
            iconst_0
            ireturn
         1: .line 439
      StackMap locals:
      StackMap stack:
            aload 2 /* binaryInfo */
            instanceof org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            ifne 2
            iconst_0
            ireturn
         2: .line 441
      StackMap locals:
      StackMap stack:
            aload 2 /* binaryInfo */
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryMethod
            astore 4 /* method */
        start local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod method
         3: .line 442
            aload 1 /* pattern */
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.selector:[C
            aload 4 /* method */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getSelector:()[C
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.matchesName:([C[C)Z
            ifne 4
            iconst_0
            ireturn
         4: .line 443
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryMethod
      StackMap stack:
            aload 0 /* this */
            aload 3 /* enclosingBinaryType */
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringSimpleName:[C
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringQualification:[C
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.isCaseSensitive:()Z
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.isCamelCase:()Z
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkDeclaringType:(Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;[C[CZZ)Z
            ifne 6
         5: .line 444
            iconst_0
            ireturn
         6: .line 447
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.declaringSimpleName:[C
            ifnonnull 8
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnSimpleName:[C
            ifnonnull 7
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnQualification:[C
            ifnull 8
      StackMap locals:
      StackMap stack:
         7: iconst_1
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 5 /* checkReturnType */
        start local 5 // boolean checkReturnType
        10: .line 448
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterSimpleNames:[[C
            ifnull 11
            iconst_1
            goto 12
      StackMap locals: int
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 6 /* checkParameters */
        start local 6 // boolean checkParameters
        13: .line 449
            iload 5 /* checkReturnType */
            ifne 14
            iload 6 /* checkParameters */
            ifeq 21
        14: .line 450
      StackMap locals: int
      StackMap stack:
            aload 4 /* method */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryMethod.getMethodDescriptor:()[C
            invokestatic org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.convertClassFileFormat:([C)[C
            astore 7 /* methodDescriptor */
        start local 7 // char[] methodDescriptor
        15: .line 451
            iload 5 /* checkReturnType */
            ifeq 19
        16: .line 452
            aload 7 /* methodDescriptor */
            invokestatic org.eclipse.jdt.core.Signature.getReturnType:([C)[C
            invokestatic org.eclipse.jdt.core.Signature.toCharArray:([C)[C
            astore 8 /* returnTypeSignature */
        start local 8 // char[] returnTypeSignature
        17: .line 453
            aload 0 /* this */
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnSimpleName:[C
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.returnQualification:[C
            aload 8 /* returnTypeSignature */
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.isCaseSensitive:()Z
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.isCamelCase:()Z
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkTypeName:([C[C[CZZ)Z
            ifne 19
        18: .line 454
            iconst_0
            ireturn
        end local 8 // char[] returnTypeSignature
        19: .line 456
      StackMap locals: char[]
      StackMap stack:
            iload 6 /* checkParameters */
            ifeq 21
            aload 0 /* this */
            aload 7 /* methodDescriptor */
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterSimpleNames:[[C
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.MethodPattern.parameterQualifications:[[C
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.isCaseSensitive:()Z
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MethodPattern.isCamelCase:()Z
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkParameters:([C[[C[[CZZ)Z
            ifne 21
        20: .line 457
            iconst_0
            ireturn
        end local 7 // char[] methodDescriptor
        21: .line 459
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // boolean checkParameters
        end local 5 // boolean checkReturnType
        end local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryMethod method
        end local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType enclosingBinaryType
        end local 2 // java.lang.Object binaryInfo
        end local 1 // org.eclipse.jdt.internal.core.search.matching.MethodPattern pattern
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   22     0                 this  Lorg/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator;
            0   22     1              pattern  Lorg/eclipse/jdt/internal/core/search/matching/MethodPattern;
            0   22     2           binaryInfo  Ljava/lang/Object;
            0   22     3  enclosingBinaryType  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            3   22     4               method  Lorg/eclipse/jdt/internal/compiler/env/IBinaryMethod;
           10   22     5      checkReturnType  Z
           13   22     6      checkParameters  Z
           15   21     7     methodDescriptor  [C
           17   19     8  returnTypeSignature  [C
    MethodParameters:
                     Name  Flags
      pattern              
      binaryInfo           
      enclosingBinaryType  

  boolean matchSuperTypeReference(org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern, java.lang.Object, org.eclipse.jdt.internal.compiler.env.IBinaryType);
    descriptor: (Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeReferencePattern;Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Z
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
        start local 1 // org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern pattern
        start local 2 // java.lang.Object binaryInfo
        start local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType enclosingBinaryType
         0: .line 462
            aload 2 /* binaryInfo */
            instanceof org.eclipse.jdt.internal.compiler.env.IBinaryType
            ifne 1
            iconst_0
            ireturn
         1: .line 464
      StackMap locals:
      StackMap stack:
            aload 2 /* binaryInfo */
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 4 /* type */
        start local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryType type
         2: .line 465
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.superRefKind:I
            iconst_1
            if_icmpeq 8
         3: .line 466
            aload 4 /* type */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getSuperclassName:()[C
            astore 5 /* vmName */
        start local 5 // char[] vmName
         4: .line 467
            aload 5 /* vmName */
            ifnull 8
         5: .line 468
            aload 5 /* vmName */
            invokestatic org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.convertClassFileFormat:([C)[C
            astore 6 /* superclassName */
        start local 6 // char[] superclassName
         6: .line 469
            aload 0 /* this */
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.superSimpleName:[C
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.superQualification:[C
            aload 6 /* superclassName */
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.isCaseSensitive:()Z
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.isCamelCase:()Z
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkTypeName:([C[C[CZZ)Z
            ifeq 8
         7: .line 470
            iconst_1
            ireturn
        end local 6 // char[] superclassName
        end local 5 // char[] vmName
         8: .line 474
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryType
      StackMap stack:
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.superRefKind:I
            iconst_2
            if_icmpeq 19
         9: .line 475
            aload 4 /* type */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getInterfaceNames:()[[C
            astore 5 /* superInterfaces */
        start local 5 // char[][] superInterfaces
        10: .line 476
            aload 5 /* superInterfaces */
            ifnull 19
        11: .line 477
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        12: aload 5 /* superInterfaces */
            arraylength
            istore 7 /* max */
        start local 7 // int max
        13: goto 18
        14: .line 478
      StackMap locals: char[][] int int
      StackMap stack:
            aload 5 /* superInterfaces */
            iload 6 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.convertClassFileFormat:([C)[C
            astore 8 /* superInterfaceName */
        start local 8 // char[] superInterfaceName
        15: .line 479
            aload 0 /* this */
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.superSimpleName:[C
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.superQualification:[C
            aload 8 /* superInterfaceName */
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.isCaseSensitive:()Z
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.isCamelCase:()Z
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkTypeName:([C[C[CZZ)Z
            ifeq 17
        16: .line 480
            iconst_1
            ireturn
        end local 8 // char[] superInterfaceName
        17: .line 477
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            iload 7 /* max */
            if_icmplt 14
        end local 7 // int max
        end local 6 // int i
        end local 5 // char[][] superInterfaces
        19: .line 484
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryType type
        end local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType enclosingBinaryType
        end local 2 // java.lang.Object binaryInfo
        end local 1 // org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern pattern
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   20     0                 this  Lorg/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator;
            0   20     1              pattern  Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeReferencePattern;
            0   20     2           binaryInfo  Ljava/lang/Object;
            0   20     3  enclosingBinaryType  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            2   20     4                 type  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            4    8     5               vmName  [C
            6    8     6       superclassName  [C
           10   19     5      superInterfaces  [[C
           12   19     6                    i  I
           13   19     7                  max  I
           15   17     8   superInterfaceName  [C
    MethodParameters:
                     Name  Flags
      pattern              
      binaryInfo           
      enclosingBinaryType  

  boolean matchTypeDeclaration(org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern, java.lang.Object, org.eclipse.jdt.internal.compiler.env.IBinaryType);
    descriptor: (Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern;Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Z
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
        start local 1 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern pattern
        start local 2 // java.lang.Object binaryInfo
        start local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType enclosingBinaryType
         0: .line 487
            aload 2 /* binaryInfo */
            instanceof org.eclipse.jdt.internal.compiler.env.IBinaryType
            ifne 1
            iconst_0
            ireturn
         1: .line 489
      StackMap locals:
      StackMap stack:
            aload 2 /* binaryInfo */
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 4 /* type */
        start local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryType type
         2: .line 490
            aload 4 /* type */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getName:()[C
            invokestatic org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.convertClassFileFormat:([C)[C
            astore 5 /* fullyQualifiedTypeName */
        start local 5 // char[] fullyQualifiedTypeName
         3: .line 491
            aload 1 /* pattern */
            instanceof org.eclipse.jdt.internal.core.search.matching.QualifiedTypeDeclarationPattern
            istore 6 /* qualifiedPattern */
        start local 6 // boolean qualifiedPattern
         4: .line 492
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            ifnull 5
            iload 6 /* qualifiedPattern */
            ifeq 13
         5: .line 493
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryType char[] int
      StackMap stack:
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.getMatchMode:()I
            iconst_1
            if_icmpne 7
         6: .line 494
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
            getstatic org.eclipse.jdt.internal.core.search.indexing.IIndexConstants.ONE_STAR:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([C[C)[C
            goto 8
         7: .line 495
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
         8: .line 493
      StackMap locals:
      StackMap stack: char[]
            astore 7 /* simpleName */
        start local 7 // char[] simpleName
         9: .line 496
            iload 6 /* qualifiedPattern */
            ifeq 10
            aload 1 /* pattern */
            checkcast org.eclipse.jdt.internal.core.search.matching.QualifiedTypeDeclarationPattern
            getfield org.eclipse.jdt.internal.core.search.matching.QualifiedTypeDeclarationPattern.qualification:[C
            goto 11
      StackMap locals: char[]
      StackMap stack:
        10: aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
      StackMap locals:
      StackMap stack: char[]
        11: astore 8 /* pkg */
        start local 8 // char[] pkg
        12: .line 497
            aload 0 /* this */
            aload 7 /* simpleName */
            aload 8 /* pkg */
            aload 5 /* fullyQualifiedTypeName */
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.isCaseSensitive:()Z
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.isCamelCase:()Z
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkTypeName:([C[C[CZZ)Z
            ifne 19
            iconst_0
            ireturn
        end local 8 // char[] pkg
        end local 7 // char[] simpleName
        13: .line 499
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.enclosingTypeNames:[[C
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            astore 7 /* enclosingTypeName */
        start local 7 // char[] enclosingTypeName
        14: .line 500
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
            ifnonnull 16
        15: .line 501
            aload 7 /* enclosingTypeName */
            goto 17
        16: .line 502
      StackMap locals: char[]
      StackMap stack:
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.pkg:[C
            aload 7 /* enclosingTypeName */
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([C[CC)[C
        17: .line 500
      StackMap locals:
      StackMap stack: char[]
            astore 8 /* patternString */
        start local 8 // char[] patternString
        18: .line 503
            aload 0 /* this */
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.simpleName:[C
            aload 8 /* patternString */
            aload 5 /* fullyQualifiedTypeName */
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.isCaseSensitive:()Z
            aload 1 /* pattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.isCamelCase:()Z
            invokevirtual org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.checkTypeName:([C[C[CZZ)Z
            ifne 19
            iconst_0
            ireturn
        end local 8 // char[] patternString
        end local 7 // char[] enclosingTypeName
        19: .line 506
      StackMap locals:
      StackMap stack:
            aload 4 /* type */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getModifiers:()I
            invokestatic org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.kind:(I)I
            istore 7 /* kind */
        start local 7 // int kind
        20: .line 507
            aload 1 /* pattern */
            getfield org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.typeSuffix:C
            lookupswitch { // 8
                    0: 35
                    9: 31
                   10: 29
                   11: 33
                   65: 27
                   67: 21
                   69: 25
                   73: 23
              default: 35
          }
        21: .line 509
      StackMap locals: int
      StackMap stack:
            iload 7 /* kind */
            iconst_1
            if_icmpne 22
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        22: iconst_0
            ireturn
        23: .line 511
      StackMap locals:
      StackMap stack:
            iload 7 /* kind */
            iconst_2
            if_icmpne 24
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        24: iconst_0
            ireturn
        25: .line 513
      StackMap locals:
      StackMap stack:
            iload 7 /* kind */
            iconst_3
            if_icmpne 26
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        26: iconst_0
            ireturn
        27: .line 515
      StackMap locals:
      StackMap stack:
            iload 7 /* kind */
            iconst_4
            if_icmpne 28
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        28: iconst_0
            ireturn
        29: .line 517
      StackMap locals:
      StackMap stack:
            iload 7 /* kind */
            iconst_1
            if_icmpeq 30
            iload 7 /* kind */
            iconst_2
            if_icmpeq 30
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        30: iconst_1
            ireturn
        31: .line 519
      StackMap locals:
      StackMap stack:
            iload 7 /* kind */
            iconst_1
            if_icmpeq 32
            iload 7 /* kind */
            iconst_3
            if_icmpeq 32
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        32: iconst_1
            ireturn
        33: .line 521
      StackMap locals:
      StackMap stack:
            iload 7 /* kind */
            iconst_2
            if_icmpeq 34
            iload 7 /* kind */
            iconst_4
            if_icmpeq 34
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        34: iconst_1
            ireturn
        35: .line 524
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 7 // int kind
        end local 6 // boolean qualifiedPattern
        end local 5 // char[] fullyQualifiedTypeName
        end local 4 // org.eclipse.jdt.internal.compiler.env.IBinaryType type
        end local 3 // org.eclipse.jdt.internal.compiler.env.IBinaryType enclosingBinaryType
        end local 2 // java.lang.Object binaryInfo
        end local 1 // org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern pattern
        end local 0 // org.eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   36     0                    this  Lorg/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator;
            0   36     1                 pattern  Lorg/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern;
            0   36     2              binaryInfo  Ljava/lang/Object;
            0   36     3     enclosingBinaryType  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            2   36     4                    type  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            3   36     5  fullyQualifiedTypeName  [C
            4   36     6        qualifiedPattern  Z
            9   13     7              simpleName  [C
           12   13     8                     pkg  [C
           14   19     7       enclosingTypeName  [C
           18   19     8           patternString  [C
           20   36     7                    kind  I
    MethodParameters:
                     Name  Flags
      pattern              
      binaryInfo           
      enclosingBinaryType  
}
SourceFile: "ClassFileMatchLocator.java"