class org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2 extends org.eclipse.jdt.internal.core.search.IndexQueryRequestor
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2
  super_class: org.eclipse.jdt.internal.core.search.IndexQueryRequestor
{
  private final org.eclipse.jdt.internal.core.IPathRequestor val$pathRequestor;
    descriptor: Lorg/eclipse/jdt/internal/core/IPathRequestor;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.util.Map val$binariesFromIndexMatches;
    descriptor: Ljava/util/Map;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final org.eclipse.jdt.internal.compiler.util.HashtableOfObject val$foundSuperNames;
    descriptor: Lorg/eclipse/jdt/internal/compiler/util/HashtableOfObject;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$Queue val$queue;
    descriptor: Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder$Queue;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.eclipse.jdt.internal.core.IPathRequestor, java.util.Map, org.eclipse.jdt.internal.compiler.util.HashtableOfObject, org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$Queue);
    descriptor: (Lorg/eclipse/jdt/internal/core/IPathRequestor;Ljava/util/Map;Lorg/eclipse/jdt/internal/compiler/util/HashtableOfObject;Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder$Queue;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2 this
         0: .line 610
            aload 0 /* this */
            aload 1
            putfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2.val$pathRequestor:Lorg/eclipse/jdt/internal/core/IPathRequestor;
            aload 0 /* this */
            aload 2
            putfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2.val$binariesFromIndexMatches:Ljava/util/Map;
            aload 0 /* this */
            aload 3
            putfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2.val$foundSuperNames:Lorg/eclipse/jdt/internal/compiler/util/HashtableOfObject;
            aload 0 /* this */
            aload 4
            putfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2.val$queue:Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder$Queue;
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.IndexQueryRequestor.<init>:()V
            return
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder$2;
    MethodParameters:
                              Name  Flags
      val$pathRequestor             final
      val$binariesFromIndexMatches  final
      val$foundSuperNames           final
      val$queue                     final

  public boolean acceptIndexMatch(java.lang.String, org.eclipse.jdt.core.search.SearchPattern, org.eclipse.jdt.core.search.SearchParticipant, org.eclipse.jdt.internal.compiler.env.AccessRuleSet);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/search/SearchPattern;Lorg/eclipse/jdt/core/search/SearchParticipant;Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=13, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2 this
        start local 1 // java.lang.String documentPath
        start local 2 // org.eclipse.jdt.core.search.SearchPattern indexRecord
        start local 3 // org.eclipse.jdt.core.search.SearchParticipant participant
        start local 4 // org.eclipse.jdt.internal.compiler.env.AccessRuleSet access
         0: .line 613
            aload 2 /* indexRecord */
            checkcast org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern
            astore 5 /* record */
        start local 5 // org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern record
         1: .line 614
            aload 5 /* record */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.enclosingTypeName:[C
            getstatic org.eclipse.jdt.internal.core.search.indexing.IIndexConstants.ONE_ZERO:[C
            if_acmpne 2
            iconst_1
            goto 3
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 6 /* isLocalOrAnonymous */
        start local 6 // boolean isLocalOrAnonymous
         4: .line 615
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2.val$pathRequestor:Lorg/eclipse/jdt/internal/core/IPathRequestor;
            aload 1 /* documentPath */
            iload 6 /* isLocalOrAnonymous */
            invokeinterface org.eclipse.jdt.internal.core.IPathRequestor.acceptPath:(Ljava/lang/String;Z)V
         5: .line 616
            aload 5 /* record */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.simpleName:[C
            astore 7 /* typeName */
        start local 7 // char[] typeName
         6: .line 617
            aload 1 /* documentPath */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            ldc ".class"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 23
         7: .line 618
            aload 1 /* documentPath */
            invokevirtual java.lang.String.length:()I
            ldc ".class"
            invokevirtual java.lang.String.length:()I
            isub
            istore 8 /* suffix */
        start local 8 // int suffix
         8: .line 619
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2.val$binariesFromIndexMatches:Ljava/util/Map;
            aload 1 /* documentPath */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType
            astore 9 /* binaryType */
        start local 9 // org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType binaryType
         9: .line 620
            aload 9 /* binaryType */
            ifnonnull 22
        10: .line 621
            aload 5 /* record */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.enclosingTypeName:[C
            astore 10 /* enclosingTypeName */
        start local 10 // char[] enclosingTypeName
        11: .line 622
            iload 6 /* isLocalOrAnonymous */
            ifeq 20
        12: .line 623
            aload 1 /* documentPath */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 11 /* lastSlash */
        start local 11 // int lastSlash
        13: .line 624
            aload 1 /* documentPath */
            bipush 36
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 12 /* lastDollar */
        start local 12 // int lastDollar
        14: .line 625
            iload 12 /* lastDollar */
            iconst_m1
            if_icmpne 18
        15: .line 628
            aconst_null
            astore 10 /* enclosingTypeName */
        16: .line 629
            aload 1 /* documentPath */
            iload 11 /* lastSlash */
            iconst_1
            iadd
            iload 8 /* suffix */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            astore 7 /* typeName */
        17: .line 630
            goto 20
        18: .line 631
      StackMap locals: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2 java.lang.String org.eclipse.jdt.core.search.SearchPattern org.eclipse.jdt.core.search.SearchParticipant org.eclipse.jdt.internal.compiler.env.AccessRuleSet org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern int char[] int org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType char[] int int
      StackMap stack:
            aload 1 /* documentPath */
            iload 11 /* lastSlash */
            iconst_1
            iadd
            iload 12 /* lastDollar */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            astore 10 /* enclosingTypeName */
        19: .line 632
            aload 1 /* documentPath */
            iload 12 /* lastDollar */
            iconst_1
            iadd
            iload 8 /* suffix */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            astore 7 /* typeName */
        end local 12 // int lastDollar
        end local 11 // int lastSlash
        20: .line 635
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType
            dup
            aload 5 /* record */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.modifiers:I
            aload 5 /* record */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.pkgName:[C
            aload 7 /* typeName */
            aload 10 /* enclosingTypeName */
            aload 5 /* record */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.typeParameterSignatures:[[C
            aload 5 /* record */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.classOrInterface:C
            invokespecial org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType.<init>:(I[C[C[C[[CC)V
            astore 9 /* binaryType */
        21: .line 636
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2.val$binariesFromIndexMatches:Ljava/util/Map;
            aload 1 /* documentPath */
            aload 9 /* binaryType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // char[] enclosingTypeName
        22: .line 638
      StackMap locals:
      StackMap stack:
            aload 9 /* binaryType */
            aload 5 /* record */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.superSimpleName:[C
            aload 5 /* record */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.superQualification:[C
            aload 5 /* record */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.superClassOrInterface:C
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType.recordSuperType:([C[CC)V
        end local 9 // org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType binaryType
        end local 8 // int suffix
        23: .line 640
      StackMap locals:
      StackMap stack:
            iload 6 /* isLocalOrAnonymous */
            ifne 27
        24: .line 641
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2.val$foundSuperNames:Lorg/eclipse/jdt/internal/compiler/util/HashtableOfObject;
            aload 7 /* typeName */
            invokevirtual org.eclipse.jdt.internal.compiler.util.HashtableOfObject.containsKey:([C)Z
            ifne 27
        25: .line 642
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2.val$foundSuperNames:Lorg/eclipse/jdt/internal/compiler/util/HashtableOfObject;
            aload 7 /* typeName */
            aload 7 /* typeName */
            invokevirtual org.eclipse.jdt.internal.compiler.util.HashtableOfObject.put:([CLjava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 643
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2.val$queue:Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder$Queue;
            aload 7 /* typeName */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$Queue.add:([C)V
        27: .line 645
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 7 // char[] typeName
        end local 6 // boolean isLocalOrAnonymous
        end local 5 // org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern record
        end local 4 // org.eclipse.jdt.internal.compiler.env.AccessRuleSet access
        end local 3 // org.eclipse.jdt.core.search.SearchParticipant participant
        end local 2 // org.eclipse.jdt.core.search.SearchPattern indexRecord
        end local 1 // java.lang.String documentPath
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2 this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   28     0                this  Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder$2;
            0   28     1        documentPath  Ljava/lang/String;
            0   28     2         indexRecord  Lorg/eclipse/jdt/core/search/SearchPattern;
            0   28     3         participant  Lorg/eclipse/jdt/core/search/SearchParticipant;
            0   28     4              access  Lorg/eclipse/jdt/internal/compiler/env/AccessRuleSet;
            1   28     5              record  Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeReferencePattern;
            4   28     6  isLocalOrAnonymous  Z
            6   28     7            typeName  [C
            8   23     8              suffix  I
            9   23     9          binaryType  Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBinaryType;
           11   22    10   enclosingTypeName  [C
           13   20    11           lastSlash  I
           14   20    12          lastDollar  I
    MethodParameters:
              Name  Flags
      documentPath  
      indexRecord   
      participant   
      access        
}
SourceFile: "IndexBasedHierarchyBuilder.java"
EnclosingMethod: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.legacySearchAllPossibleSubTypes:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/search/IJavaSearchScope;Ljava/util/Map;Lorg/eclipse/jdt/internal/core/IPathRequestor;ILorg/eclipse/core/runtime/IProgressMonitor;)V
NestHost: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder
InnerClasses:
  org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2
  Queue = org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$Queue of org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder