public abstract class org.eclipse.jdt.internal.core.search.matching.IntersectingPattern extends org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.eclipse.jdt.internal.core.search.matching.IntersectingPattern
  super_class: org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern
{
  public void <init>(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.matching.IntersectingPattern this
        start local 1 // int patternKind
        start local 2 // int matchRule
         0: .line 31
            aload 0 /* this */
            iload 1 /* patternKind */
            iload 2 /* matchRule */
            invokespecial org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern.<init>:(II)V
         1: .line 32
            return
        end local 2 // int matchRule
        end local 1 // int patternKind
        end local 0 // org.eclipse.jdt.internal.core.search.matching.IntersectingPattern this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/eclipse/jdt/internal/core/search/matching/IntersectingPattern;
            0    2     1  patternKind  I
            0    2     2    matchRule  I
    MethodParameters:
             Name  Flags
      patternKind  
      matchRule    

  public void findIndexMatches(org.eclipse.jdt.internal.core.index.Index, org.eclipse.jdt.internal.core.search.IndexQueryRequestor, org.eclipse.jdt.core.search.SearchParticipant, org.eclipse.jdt.core.search.IJavaSearchScope, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/internal/core/index/Index;Lorg/eclipse/jdt/internal/core/search/IndexQueryRequestor;Lorg/eclipse/jdt/core/search/SearchParticipant;Lorg/eclipse/jdt/core/search/IJavaSearchScope;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=18, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.search.matching.IntersectingPattern this
        start local 1 // org.eclipse.jdt.internal.core.index.Index index
        start local 2 // org.eclipse.jdt.internal.core.search.IndexQueryRequestor requestor
        start local 3 // org.eclipse.jdt.core.search.SearchParticipant participant
        start local 4 // org.eclipse.jdt.core.search.IJavaSearchScope scope
        start local 5 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
         0: .line 35
            aload 5 /* progressMonitor */
            ifnull 1
            aload 5 /* progressMonitor */
            invokeinterface org.eclipse.core.runtime.IProgressMonitor.isCanceled:()Z
            ifeq 1
            new org.eclipse.core.runtime.OperationCanceledException
            dup
            invokespecial org.eclipse.core.runtime.OperationCanceledException.<init>:()V
            athrow
         1: .line 37
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.IntersectingPattern.resetQuery:()V
         2: .line 38
            aconst_null
            astore 6 /* intersectedNames */
        start local 6 // org.eclipse.jdt.internal.compiler.util.SimpleSet intersectedNames
         3: .line 40
            aload 1 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.startQuery:()V
         4: .line 42
      StackMap locals: org.eclipse.jdt.internal.compiler.util.SimpleSet
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.IntersectingPattern.currentPattern:()Lorg/eclipse/jdt/core/search/SearchPattern;
            astore 7 /* pattern */
        start local 7 // org.eclipse.jdt.core.search.SearchPattern pattern
         5: .line 43
            aload 7 /* pattern */
            aload 1 /* index */
            invokevirtual org.eclipse.jdt.core.search.SearchPattern.queryIn:(Lorg/eclipse/jdt/internal/core/index/Index;)[Lorg/eclipse/jdt/internal/core/index/EntryResult;
            astore 8 /* entries */
        start local 8 // org.eclipse.jdt.internal.core.index.EntryResult[] entries
         6: .line 44
            aload 8 /* entries */
            ifnonnull 9
         7: .line 70
            aload 1 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.stopQuery:()V
         8: .line 44
            return
         9: .line 46
      StackMap locals: org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.index.EntryResult[]
      StackMap stack:
            aload 7 /* pattern */
            invokevirtual org.eclipse.jdt.core.search.SearchPattern.getBlankPattern:()Lorg/eclipse/jdt/core/search/SearchPattern;
            astore 9 /* decodedResult */
        start local 9 // org.eclipse.jdt.core.search.SearchPattern decodedResult
        10: .line 47
            new org.eclipse.jdt.internal.compiler.util.SimpleSet
            dup
            iconst_3
            invokespecial org.eclipse.jdt.internal.compiler.util.SimpleSet.<init>:(I)V
            astore 10 /* newIntersectedNames */
        start local 10 // org.eclipse.jdt.internal.compiler.util.SimpleSet newIntersectedNames
        11: .line 48
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        12: aload 8 /* entries */
            arraylength
            istore 12 /* l */
        start local 12 // int l
        13: goto 35
        14: .line 49
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.IntersectingPattern org.eclipse.jdt.internal.core.index.Index org.eclipse.jdt.internal.core.search.IndexQueryRequestor org.eclipse.jdt.core.search.SearchParticipant org.eclipse.jdt.core.search.IJavaSearchScope org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.compiler.util.SimpleSet org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.index.EntryResult[] org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.compiler.util.SimpleSet int int
      StackMap stack:
            aload 5 /* progressMonitor */
            ifnull 15
            aload 5 /* progressMonitor */
            invokeinterface org.eclipse.core.runtime.IProgressMonitor.isCanceled:()Z
            ifeq 15
            new org.eclipse.core.runtime.OperationCanceledException
            dup
            invokespecial org.eclipse.core.runtime.OperationCanceledException.<init>:()V
            athrow
        15: .line 51
      StackMap locals:
      StackMap stack:
            aload 8 /* entries */
            iload 11 /* i */
            aaload
            astore 13 /* entry */
        start local 13 // org.eclipse.jdt.internal.core.index.EntryResult entry
        16: .line 52
            aload 9 /* decodedResult */
            aload 13 /* entry */
            invokevirtual org.eclipse.jdt.internal.core.index.EntryResult.getWord:()[C
            invokevirtual org.eclipse.jdt.core.search.SearchPattern.decodeIndexKey:([C)V
        17: .line 53
            aload 7 /* pattern */
            aload 9 /* decodedResult */
            invokevirtual org.eclipse.jdt.core.search.SearchPattern.matchesDecodedKey:(Lorg/eclipse/jdt/core/search/SearchPattern;)Z
            ifeq 34
        18: .line 54
            aload 13 /* entry */
            aload 1 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.EntryResult.getDocumentNames:(Lorg/eclipse/jdt/internal/core/index/Index;)[Ljava/lang/String;
            astore 14 /* names */
        start local 14 // java.lang.String[] names
        19: .line 55
            aload 6 /* intersectedNames */
            ifnull 28
        20: .line 56
            iconst_0
            istore 15 /* j */
        start local 15 // int j
        21: aload 14 /* names */
            arraylength
            istore 16 /* n */
        start local 16 // int n
        22: goto 26
        23: .line 57
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.IntersectingPattern org.eclipse.jdt.internal.core.index.Index org.eclipse.jdt.internal.core.search.IndexQueryRequestor org.eclipse.jdt.core.search.SearchParticipant org.eclipse.jdt.core.search.IJavaSearchScope org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.compiler.util.SimpleSet org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.index.EntryResult[] org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.compiler.util.SimpleSet int int org.eclipse.jdt.internal.core.index.EntryResult java.lang.String[] int int
      StackMap stack:
            aload 6 /* intersectedNames */
            aload 14 /* names */
            iload 15 /* j */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleSet.includes:(Ljava/lang/Object;)Z
            ifeq 25
        24: .line 58
            aload 10 /* newIntersectedNames */
            aload 14 /* names */
            iload 15 /* j */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleSet.add:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 56
      StackMap locals:
      StackMap stack:
            iinc 15 /* j */ 1
      StackMap locals:
      StackMap stack:
        26: iload 15 /* j */
            iload 16 /* n */
            if_icmplt 23
        end local 16 // int n
        end local 15 // int j
        27: .line 59
            goto 34
        28: .line 60
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* j */
        start local 15 // int j
        29: aload 14 /* names */
            arraylength
            istore 16 /* n */
        start local 16 // int n
        30: goto 33
        31: .line 61
      StackMap locals: int int
      StackMap stack:
            aload 10 /* newIntersectedNames */
            aload 14 /* names */
            iload 15 /* j */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleSet.add:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 60
            iinc 15 /* j */ 1
      StackMap locals:
      StackMap stack:
        33: iload 15 /* j */
            iload 16 /* n */
            if_icmplt 31
        end local 16 // int n
        end local 15 // int j
        end local 14 // java.lang.String[] names
        end local 13 // org.eclipse.jdt.internal.core.index.EntryResult entry
        34: .line 48
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.IntersectingPattern org.eclipse.jdt.internal.core.index.Index org.eclipse.jdt.internal.core.search.IndexQueryRequestor org.eclipse.jdt.core.search.SearchParticipant org.eclipse.jdt.core.search.IJavaSearchScope org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.compiler.util.SimpleSet org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.core.index.EntryResult[] org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.internal.compiler.util.SimpleSet int int
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 11 /* i */
            iload 12 /* l */
            if_icmplt 14
        end local 12 // int l
        end local 11 // int i
        36: .line 66
            aload 10 /* newIntersectedNames */
            getfield org.eclipse.jdt.internal.compiler.util.SimpleSet.elementSize:I
            ifne 39
        37: .line 70
            aload 1 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.stopQuery:()V
        38: .line 66
            return
        39: .line 67
      StackMap locals:
      StackMap stack:
            aload 10 /* newIntersectedNames */
            astore 6 /* intersectedNames */
        end local 10 // org.eclipse.jdt.internal.compiler.util.SimpleSet newIntersectedNames
        end local 9 // org.eclipse.jdt.core.search.SearchPattern decodedResult
        end local 8 // org.eclipse.jdt.internal.core.index.EntryResult[] entries
        end local 7 // org.eclipse.jdt.core.search.SearchPattern pattern
        40: .line 68
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.IntersectingPattern.hasNextQuery:()Z
            ifne 4
        41: .line 69
            goto 45
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.IntersectingPattern org.eclipse.jdt.internal.core.index.Index org.eclipse.jdt.internal.core.search.IndexQueryRequestor org.eclipse.jdt.core.search.SearchParticipant org.eclipse.jdt.core.search.IJavaSearchScope org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.compiler.util.SimpleSet
      StackMap stack: java.lang.Throwable
        42: astore 17
        43: .line 70
            aload 1 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.stopQuery:()V
        44: .line 71
            aload 17
            athrow
        45: .line 70
      StackMap locals:
      StackMap stack:
            aload 1 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.stopQuery:()V
        46: .line 73
            aload 1 /* index */
            getfield org.eclipse.jdt.internal.core.index.Index.containerPath:Ljava/lang/String;
            astore 7 /* containerPath */
        start local 7 // java.lang.String containerPath
        47: .line 74
            aload 1 /* index */
            getfield org.eclipse.jdt.internal.core.index.Index.separator:C
            istore 8 /* separator */
        start local 8 // char separator
        48: .line 75
            aload 6 /* intersectedNames */
            getfield org.eclipse.jdt.internal.compiler.util.SimpleSet.values:[Ljava/lang/Object;
            astore 9 /* names */
        start local 9 // java.lang.Object[] names
        49: .line 76
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        50: aload 9 /* names */
            arraylength
            istore 11 /* l */
        start local 11 // int l
        51: goto 55
        52: .line 77
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.IntersectingPattern org.eclipse.jdt.internal.core.index.Index org.eclipse.jdt.internal.core.search.IndexQueryRequestor org.eclipse.jdt.core.search.SearchParticipant org.eclipse.jdt.core.search.IJavaSearchScope org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.compiler.util.SimpleSet java.lang.String int java.lang.Object[] int int
      StackMap stack:
            aload 9 /* names */
            iload 10 /* i */
            aaload
            ifnull 54
        53: .line 78
            aload 0 /* this */
            aload 9 /* names */
            iload 10 /* i */
            aaload
            checkcast java.lang.String
            aload 7 /* containerPath */
            iload 8 /* separator */
            aconst_null
            aload 2 /* requestor */
            aload 3 /* participant */
            aload 4 /* scope */
            aload 5 /* progressMonitor */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.IntersectingPattern.acceptMatch:(Ljava/lang/String;Ljava/lang/String;CLorg/eclipse/jdt/core/search/SearchPattern;Lorg/eclipse/jdt/internal/core/search/IndexQueryRequestor;Lorg/eclipse/jdt/core/search/SearchParticipant;Lorg/eclipse/jdt/core/search/IJavaSearchScope;Lorg/eclipse/core/runtime/IProgressMonitor;)V
        54: .line 76
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 10 /* i */
            iload 11 /* l */
            if_icmplt 52
        end local 11 // int l
        end local 10 // int i
        56: .line 79
            return
        end local 9 // java.lang.Object[] names
        end local 8 // char separator
        end local 7 // java.lang.String containerPath
        end local 6 // org.eclipse.jdt.internal.compiler.util.SimpleSet intersectedNames
        end local 5 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
        end local 4 // org.eclipse.jdt.core.search.IJavaSearchScope scope
        end local 3 // org.eclipse.jdt.core.search.SearchParticipant participant
        end local 2 // org.eclipse.jdt.internal.core.search.IndexQueryRequestor requestor
        end local 1 // org.eclipse.jdt.internal.core.index.Index index
        end local 0 // org.eclipse.jdt.internal.core.search.matching.IntersectingPattern this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   57     0                 this  Lorg/eclipse/jdt/internal/core/search/matching/IntersectingPattern;
            0   57     1                index  Lorg/eclipse/jdt/internal/core/index/Index;
            0   57     2            requestor  Lorg/eclipse/jdt/internal/core/search/IndexQueryRequestor;
            0   57     3          participant  Lorg/eclipse/jdt/core/search/SearchParticipant;
            0   57     4                scope  Lorg/eclipse/jdt/core/search/IJavaSearchScope;
            0   57     5      progressMonitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            3   57     6     intersectedNames  Lorg/eclipse/jdt/internal/compiler/util/SimpleSet;
            5   40     7              pattern  Lorg/eclipse/jdt/core/search/SearchPattern;
            6   40     8              entries  [Lorg/eclipse/jdt/internal/core/index/EntryResult;
           10   40     9        decodedResult  Lorg/eclipse/jdt/core/search/SearchPattern;
           11   40    10  newIntersectedNames  Lorg/eclipse/jdt/internal/compiler/util/SimpleSet;
           12   36    11                    i  I
           13   36    12                    l  I
           16   34    13                entry  Lorg/eclipse/jdt/internal/core/index/EntryResult;
           19   34    14                names  [Ljava/lang/String;
           21   27    15                    j  I
           22   27    16                    n  I
           29   34    15                    j  I
           30   34    16                    n  I
           47   57     7        containerPath  Ljava/lang/String;
           48   57     8            separator  C
           49   57     9                names  [Ljava/lang/Object;
           50   56    10                    i  I
           51   56    11                    l  I
      Exception table:
        from    to  target  type
           3     7      42  any
           9    37      42  any
          39    42      42  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      index            
      requestor        
      participant      
      scope            
      progressMonitor  

  protected abstract boolean hasNextQuery();
    descriptor: ()Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract void resetQuery();
    descriptor: ()V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
}
SourceFile: "IntersectingPattern.java"