class org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor extends org.eclipse.jdt.internal.compiler.ASTVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor
  super_class: org.eclipse.jdt.internal.compiler.ASTVisitor
{
  final org.eclipse.jdt.internal.core.search.BasicSearchEngine this$0;
    descriptor: Lorg/eclipse/jdt/internal/core/search/BasicSearchEngine;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final char[] val$packageDeclaration;
    descriptor: [C
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final int val$matchRule;
    descriptor: I
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final org.eclipse.jdt.internal.core.search.matching.MultiTypeDeclarationPattern val$pattern;
    descriptor: Lorg/eclipse/jdt/internal/core/search/matching/MultiTypeDeclarationPattern;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final org.eclipse.jdt.internal.core.search.IRestrictedAccessTypeRequestor val$nameRequestor;
    descriptor: Lorg/eclipse/jdt/internal/core/search/IRestrictedAccessTypeRequestor;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.lang.String val$path;
    descriptor: Ljava/lang/String;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.eclipse.jdt.internal.core.search.BasicSearchEngine, char[], int, org.eclipse.jdt.internal.core.search.matching.MultiTypeDeclarationPattern, org.eclipse.jdt.internal.core.search.IRestrictedAccessTypeRequestor, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/internal/core/search/BasicSearchEngine;[CILorg/eclipse/jdt/internal/core/search/matching/MultiTypeDeclarationPattern;Lorg/eclipse/jdt/internal/core/search/IRestrictedAccessTypeRequestor;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=7, args_size=7
        start local 0 // org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor this
         0: .line 2155
            aload 0 /* this */
            aload 1
            putfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.this$0:Lorg/eclipse/jdt/internal/core/search/BasicSearchEngine;
            aload 0 /* this */
            aload 2
            putfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$packageDeclaration:[C
            aload 0 /* this */
            iload 3
            putfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$matchRule:I
            aload 0 /* this */
            aload 4
            putfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$pattern:Lorg/eclipse/jdt/internal/core/search/matching/MultiTypeDeclarationPattern;
            aload 0 /* this */
            aload 5
            putfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$nameRequestor:Lorg/eclipse/jdt/internal/core/search/IRestrictedAccessTypeRequestor;
            aload 0 /* this */
            aload 6
            putfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$path:Ljava/lang/String;
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.ASTVisitor.<init>:()V
            return
        end local 0 // org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/search/BasicSearchEngine$2AllTypeDeclarationsVisitor;
    MethodParameters:
                        Name  Flags
      this$0                  final
      val$packageDeclaration  final
      val$matchRule           final
      val$pattern             final
      val$nameRequestor       final
      val$path                final

  public boolean visit(org.eclipse.jdt.internal.compiler.ast.TypeDeclaration, org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration typeDeclaration
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
         0: .line 2158
            iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
        end local 1 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration typeDeclaration
        end local 0 // org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/eclipse/jdt/internal/core/search/BasicSearchEngine$2AllTypeDeclarationsVisitor;
            0    1     1  typeDeclaration  Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            0    1     2       blockScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
    MethodParameters:
                 Name  Flags
      typeDeclaration  
      blockScope       

  public boolean visit(org.eclipse.jdt.internal.compiler.ast.TypeDeclaration, org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;Lorg/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration typeDeclaration
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope compilationUnitScope
         0: .line 2163
            new org.eclipse.jdt.internal.core.search.matching.QualifiedTypeDeclarationPattern
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$packageDeclaration:[C
            aload 1 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.name:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.this$0:Lorg/eclipse/jdt/internal/core/search/BasicSearchEngine;
            aload 1 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.modifiers:I
            invokestatic org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.kind:(I)I
            invokevirtual org.eclipse.jdt.internal.core.search.BasicSearchEngine.convertTypeKind:(I)C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$matchRule:I
            invokespecial org.eclipse.jdt.internal.core.search.matching.QualifiedTypeDeclarationPattern.<init>:([C[CCI)V
         1: .line 2162
            astore 3 /* decodedPattern */
        start local 3 // org.eclipse.jdt.core.search.SearchPattern decodedPattern
         2: .line 2164
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$pattern:Lorg/eclipse/jdt/internal/core/search/matching/MultiTypeDeclarationPattern;
            aload 3 /* decodedPattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MultiTypeDeclarationPattern.matchesDecodedKey:(Lorg/eclipse/jdt/core/search/SearchPattern;)Z
            ifeq 4
         3: .line 2165
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$nameRequestor:Lorg/eclipse/jdt/internal/core/search/IRestrictedAccessTypeRequestor;
            aload 1 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.modifiers:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$packageDeclaration:[C
            aload 1 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.name:[C
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_CHAR_CHAR:[[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$path:Ljava/lang/String;
            aconst_null
            invokeinterface org.eclipse.jdt.internal.core.search.IRestrictedAccessTypeRequestor.acceptType:(I[C[C[[CLjava/lang/String;Lorg/eclipse/jdt/internal/compiler/env/AccessRestriction;)V
         4: .line 2167
      StackMap locals: org.eclipse.jdt.core.search.SearchPattern
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // org.eclipse.jdt.core.search.SearchPattern decodedPattern
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope compilationUnitScope
        end local 1 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration typeDeclaration
        end local 0 // org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0                  this  Lorg/eclipse/jdt/internal/core/search/BasicSearchEngine$2AllTypeDeclarationsVisitor;
            0    5     1       typeDeclaration  Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            0    5     2  compilationUnitScope  Lorg/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope;
            2    5     3        decodedPattern  Lorg/eclipse/jdt/core/search/SearchPattern;
    MethodParameters:
                      Name  Flags
      typeDeclaration       
      compilationUnitScope  

  public boolean visit(org.eclipse.jdt.internal.compiler.ast.TypeDeclaration, org.eclipse.jdt.internal.compiler.lookup.ClassScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;Lorg/eclipse/jdt/internal/compiler/lookup/ClassScope;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration memberTypeDeclaration
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.ClassScope classScope
         0: .line 2172
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$packageDeclaration:[C
            astore 3 /* qualification */
        start local 3 // char[] qualification
         1: .line 2173
            aload 1 /* memberTypeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.enclosingType:Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            astore 4 /* enclosing */
        start local 4 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration enclosing
         2: .line 2174
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_CHAR_CHAR:[[C
            astore 5 /* enclosingTypeNames */
        start local 5 // char[][] enclosingTypeNames
         3: .line 2175
            goto 10
         4: .line 2176
      StackMap locals: char[] org.eclipse.jdt.internal.compiler.ast.TypeDeclaration char[][]
      StackMap stack:
            aload 3 /* qualification */
            aload 4 /* enclosing */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.name:[C
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([C[CC)[C
            astore 3 /* qualification */
         5: .line 2177
            iconst_1
            anewarray char[]
            dup
            iconst_0
            aload 4 /* enclosing */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.name:[C
            aastore
            aload 5 /* enclosingTypeNames */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.arrayConcat:([[C[[C)[[C
            astore 5 /* enclosingTypeNames */
         6: .line 2178
            aload 4 /* enclosing */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.bits:I
            sipush 1024
            iand
            ifeq 9
         7: .line 2179
            aload 4 /* enclosing */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.enclosingType:Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            astore 4 /* enclosing */
         8: .line 2180
            goto 10
         9: .line 2181
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* enclosing */
        10: .line 2175
      StackMap locals:
      StackMap stack:
            aload 4 /* enclosing */
            ifnonnull 4
        11: .line 2185
            new org.eclipse.jdt.internal.core.search.matching.QualifiedTypeDeclarationPattern
            dup
            aload 3 /* qualification */
            aload 1 /* memberTypeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.name:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.this$0:Lorg/eclipse/jdt/internal/core/search/BasicSearchEngine;
            aload 1 /* memberTypeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.modifiers:I
            invokestatic org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.kind:(I)I
            invokevirtual org.eclipse.jdt.internal.core.search.BasicSearchEngine.convertTypeKind:(I)C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$matchRule:I
            invokespecial org.eclipse.jdt.internal.core.search.matching.QualifiedTypeDeclarationPattern.<init>:([C[CCI)V
        12: .line 2184
            astore 6 /* decodedPattern */
        start local 6 // org.eclipse.jdt.core.search.SearchPattern decodedPattern
        13: .line 2186
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$pattern:Lorg/eclipse/jdt/internal/core/search/matching/MultiTypeDeclarationPattern;
            aload 6 /* decodedPattern */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MultiTypeDeclarationPattern.matchesDecodedKey:(Lorg/eclipse/jdt/core/search/SearchPattern;)Z
            ifeq 15
        14: .line 2187
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$nameRequestor:Lorg/eclipse/jdt/internal/core/search/IRestrictedAccessTypeRequestor;
            aload 1 /* memberTypeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.modifiers:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$packageDeclaration:[C
            aload 1 /* memberTypeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.name:[C
            aload 5 /* enclosingTypeNames */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor.val$path:Ljava/lang/String;
            aconst_null
            invokeinterface org.eclipse.jdt.internal.core.search.IRestrictedAccessTypeRequestor.acceptType:(I[C[C[[CLjava/lang/String;Lorg/eclipse/jdt/internal/compiler/env/AccessRestriction;)V
        15: .line 2189
      StackMap locals: org.eclipse.jdt.core.search.SearchPattern
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // org.eclipse.jdt.core.search.SearchPattern decodedPattern
        end local 5 // char[][] enclosingTypeNames
        end local 4 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration enclosing
        end local 3 // char[] qualification
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.ClassScope classScope
        end local 1 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration memberTypeDeclaration
        end local 0 // org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   16     0                   this  Lorg/eclipse/jdt/internal/core/search/BasicSearchEngine$2AllTypeDeclarationsVisitor;
            0   16     1  memberTypeDeclaration  Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            0   16     2             classScope  Lorg/eclipse/jdt/internal/compiler/lookup/ClassScope;
            1   16     3          qualification  [C
            2   16     4              enclosing  Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            3   16     5     enclosingTypeNames  [[C
           13   16     6         decodedPattern  Lorg/eclipse/jdt/core/search/SearchPattern;
    MethodParameters:
                       Name  Flags
      memberTypeDeclaration  
      classScope             
}
SourceFile: "BasicSearchEngine.java"
EnclosingMethod: org.eclipse.jdt.internal.core.search.BasicSearchEngine.searchAllTypeNames:([[C[[CIILorg/eclipse/jdt/core/search/IJavaSearchScope;Lorg/eclipse/jdt/internal/core/search/IRestrictedAccessTypeRequestor;ILorg/eclipse/core/runtime/IProgressMonitor;)V
NestHost: org.eclipse.jdt.internal.core.search.BasicSearchEngine
InnerClasses:
  AllTypeDeclarationsVisitor = org.eclipse.jdt.internal.core.search.BasicSearchEngine$2AllTypeDeclarationsVisitor