public class org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector
  super_class: java.lang.Object
{
  org.eclipse.jdt.core.search.SearchPattern pattern;
    descriptor: Lorg/eclipse/jdt/core/search/SearchPattern;
    flags: (0x0000) 

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

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

  org.eclipse.jdt.internal.core.search.matching.MatchLocator locator;
    descriptor: Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;
    flags: (0x0000) 

  org.eclipse.jdt.core.IType type;
    descriptor: Lorg/eclipse/jdt/core/IType;
    flags: (0x0000) 

  org.eclipse.core.runtime.IProgressMonitor progressMonitor;
    descriptor: Lorg/eclipse/core/runtime/IProgressMonitor;
    flags: (0x0000) 

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

  int resultIndex;
    descriptor: I
    flags: (0x0000) 

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

  int samePackageIndex;
    descriptor: I
    flags: (0x0000) 

  public void <init>(org.eclipse.jdt.core.search.SearchPattern, char[], char[], org.eclipse.jdt.internal.core.search.matching.MatchLocator, org.eclipse.jdt.core.IType, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/core/search/SearchPattern;[C[CLorg/eclipse/jdt/internal/core/search/matching/MatchLocator;Lorg/eclipse/jdt/core/IType;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=7
        start local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
        start local 1 // org.eclipse.jdt.core.search.SearchPattern pattern
        start local 2 // char[] typeSimpleName
        start local 3 // char[] typeQualification
        start local 4 // org.eclipse.jdt.internal.core.search.matching.MatchLocator locator
        start local 5 // org.eclipse.jdt.core.IType type
        start local 6 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
         0: .line 97
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 105
            aload 0 /* this */
            aload 1 /* pattern */
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.pattern:Lorg/eclipse/jdt/core/search/SearchPattern;
         2: .line 106
            aload 0 /* this */
            aload 2 /* typeSimpleName */
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.typeSimpleName:[C
         3: .line 107
            aload 0 /* this */
            aload 3 /* typeQualification */
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.typeQualification:[C
         4: .line 108
            aload 0 /* this */
            aload 4 /* locator */
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.locator:Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;
         5: .line 109
            aload 0 /* this */
            aload 5 /* type */
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.type:Lorg/eclipse/jdt/core/IType;
         6: .line 110
            aload 0 /* this */
            aload 6 /* progressMonitor */
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.progressMonitor:Lorg/eclipse/core/runtime/IProgressMonitor;
         7: .line 111
            return
        end local 6 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
        end local 5 // org.eclipse.jdt.core.IType type
        end local 4 // org.eclipse.jdt.internal.core.search.matching.MatchLocator locator
        end local 3 // char[] typeQualification
        end local 2 // char[] typeSimpleName
        end local 1 // org.eclipse.jdt.core.search.SearchPattern pattern
        end local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector;
            0    8     1            pattern  Lorg/eclipse/jdt/core/search/SearchPattern;
            0    8     2     typeSimpleName  [C
            0    8     3  typeQualification  [C
            0    8     4            locator  Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;
            0    8     5               type  Lorg/eclipse/jdt/core/IType;
            0    8     6    progressMonitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    MethodParameters:
                   Name  Flags
      pattern            
      typeSimpleName     
      typeQualification  
      locator            
      type               
      progressMonitor    

  private boolean addIfSamePackage(char[][], char[][]);
    descriptor: ([[C[[C)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
        start local 1 // char[][] compoundName
        start local 2 // char[][] path
         0: .line 114
            aload 1 /* compoundName */
            arraylength
            aload 2 /* path */
            arraylength
            if_icmpeq 1
            iconst_0
            ireturn
         1: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.samePackageSuperTypeName:[[[C
            arraylength
            istore 3 /* resultLength */
        start local 3 // int resultLength
         2: .line 116
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 117
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.samePackageSuperTypeName:[[[C
            iload 4 /* i */
            aaload
            aload 1 /* compoundName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([[C[[C)Z
            ifeq 5
            iconst_0
            ireturn
         5: .line 116
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            iload 3 /* resultLength */
            if_icmplt 4
        end local 4 // int i
         7: .line 119
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: aload 1 /* compoundName */
            arraylength
            iconst_1
            isub
            istore 5 /* length */
        start local 5 // int length
         9: goto 12
        10: .line 120
      StackMap locals: int
      StackMap stack:
            aload 1 /* compoundName */
            iload 4 /* i */
            aaload
            aload 2 /* path */
            iload 4 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifne 11
            iconst_0
            ireturn
        11: .line 119
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 10
        end local 5 // int length
        end local 4 // int i
        13: .line 122
            iload 3 /* resultLength */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.samePackageIndex:I
            if_icmpne 15
        14: .line 123
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.samePackageSuperTypeName:[[[C
            iconst_0
            aload 0 /* this */
            iload 3 /* resultLength */
            iconst_2
            imul
            anewarray char[][]
            dup_x1
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.samePackageSuperTypeName:[[[C
            iconst_0
            iload 3 /* resultLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        15: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.samePackageSuperTypeName:[[[C
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.samePackageIndex:I
            dup_x1
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.samePackageIndex:I
            aload 1 /* compoundName */
            aastore
        16: .line 125
            iconst_1
            ireturn
        end local 3 // int resultLength
        end local 2 // char[][] path
        end local 1 // char[][] compoundName
        end local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector;
            0   17     1  compoundName  [[C
            0   17     2          path  [[C
            2   17     3  resultLength  I
            3    7     4             i  I
            8   13     4             i  I
            9   13     5        length  I
    MethodParameters:
              Name  Flags
      compoundName  
      path          

  protected void addToResult(char[][]);
    descriptor: ([[C)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
        start local 1 // char[][] compoundName
         0: .line 129
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.result:[[[C
            arraylength
            istore 2 /* resultLength */
        start local 2 // int resultLength
         1: .line 130
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 131
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.result:[[[C
            iload 3 /* i */
            aaload
            aload 1 /* compoundName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([[C[[C)Z
            ifeq 4
            return
         4: .line 130
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 2 /* resultLength */
            if_icmplt 3
        end local 3 // int i
         6: .line 133
            iload 2 /* resultLength */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.resultIndex:I
            if_icmpne 8
         7: .line 134
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.result:[[[C
            iconst_0
            aload 0 /* this */
            iload 2 /* resultLength */
            iconst_2
            imul
            anewarray char[][]
            dup_x1
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.result:[[[C
            iconst_0
            iload 2 /* resultLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.result:[[[C
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.resultIndex:I
            dup_x1
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.resultIndex:I
            aload 1 /* compoundName */
            aastore
         9: .line 136
            return
        end local 2 // int resultLength
        end local 1 // char[][] compoundName
        end local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector;
            0   10     1  compoundName  [[C
            1   10     2  resultLength  I
            2    6     3             i  I
    MethodParameters:
              Name  Flags
      compoundName  

  protected org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration buildBindings(org.eclipse.jdt.core.ICompilationUnit, boolean);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Z)Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
        start local 1 // org.eclipse.jdt.core.ICompilationUnit compilationUnit
        start local 2 // boolean isTopLevelOrMember
         0: .line 143
            aload 1 /* compilationUnit */
            checkcast org.eclipse.jdt.internal.compiler.env.ICompilationUnit
            astore 3 /* sourceUnit */
        start local 3 // org.eclipse.jdt.internal.compiler.env.ICompilationUnit sourceUnit
         1: .line 145
            new org.eclipse.jdt.internal.compiler.CompilationResult
            dup
            aload 3 /* sourceUnit */
            iconst_1
            iconst_1
            iconst_0
            invokespecial org.eclipse.jdt.internal.compiler.CompilationResult.<init>:(Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;III)V
            astore 4 /* compilationResult */
        start local 4 // org.eclipse.jdt.internal.compiler.CompilationResult compilationResult
         2: .line 147
            iload 2 /* isTopLevelOrMember */
            ifeq 4
         3: .line 148
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.locator:Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.basicParser:()Lorg/eclipse/jdt/internal/compiler/parser/Parser;
            aload 3 /* sourceUnit */
            aload 4 /* compilationResult */
            invokevirtual org.eclipse.jdt.internal.compiler.parser.Parser.dietParse:(Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;Lorg/eclipse/jdt/internal/compiler/CompilationResult;)Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
            goto 5
         4: .line 149
      StackMap locals: org.eclipse.jdt.internal.compiler.env.ICompilationUnit org.eclipse.jdt.internal.compiler.CompilationResult
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.locator:Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.basicParser:()Lorg/eclipse/jdt/internal/compiler/parser/Parser;
            aload 3 /* sourceUnit */
            aload 4 /* compilationResult */
            invokevirtual org.eclipse.jdt.internal.compiler.parser.Parser.parse:(Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;Lorg/eclipse/jdt/internal/compiler/CompilationResult;)Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
         5: .line 146
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration
            astore 5 /* unit */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration unit
         6: .line 150
            aload 5 /* unit */
            ifnull 15
         7: .line 151
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.locator:Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;
            getfield org.eclipse.jdt.internal.core.search.matching.MatchLocator.lookupEnvironment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 5 /* unit */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings:(Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;Lorg/eclipse/jdt/internal/compiler/env/AccessRestriction;)V
         8: .line 152
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.locator:Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;
            getfield org.eclipse.jdt.internal.core.search.matching.MatchLocator.lookupEnvironment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 5 /* unit */
            iload 2 /* isTopLevelOrMember */
            ifeq 9
            iconst_0
            goto 10
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector org.eclipse.jdt.core.ICompilationUnit int org.eclipse.jdt.internal.compiler.env.ICompilationUnit org.eclipse.jdt.internal.compiler.CompilationResult org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration
         9: iconst_1
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector org.eclipse.jdt.core.ICompilationUnit int org.eclipse.jdt.internal.compiler.env.ICompilationUnit org.eclipse.jdt.internal.compiler.CompilationResult org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration int
        10: invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings:(Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;Z)V
        11: .line 153
            iload 2 /* isTopLevelOrMember */
            ifne 15
        12: .line 154
            aload 5 /* unit */
            getfield org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.scope:Lorg/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope;
            ifnull 14
        13: .line 155
            aload 5 /* unit */
            getfield org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.scope:Lorg/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes:()V
        14: .line 156
      StackMap locals:
      StackMap stack:
            aload 5 /* unit */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve:()V
        15: .line 159
      StackMap locals:
      StackMap stack:
            aload 5 /* unit */
            areturn
        end local 5 // org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration unit
        end local 4 // org.eclipse.jdt.internal.compiler.CompilationResult compilationResult
        end local 3 // org.eclipse.jdt.internal.compiler.env.ICompilationUnit sourceUnit
        end local 2 // boolean isTopLevelOrMember
        end local 1 // org.eclipse.jdt.core.ICompilationUnit compilationUnit
        end local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector;
            0   16     1     compilationUnit  Lorg/eclipse/jdt/core/ICompilationUnit;
            0   16     2  isTopLevelOrMember  Z
            1   16     3          sourceUnit  Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;
            2   16     4   compilationResult  Lorg/eclipse/jdt/internal/compiler/CompilationResult;
            6   16     5                unit  Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                    Name  Flags
      compilationUnit     
      isTopLevelOrMember  

  public char[][][] collect();
    descriptor: ()[[[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
         0: .line 162
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.type:Lorg/eclipse/jdt/core/IType;
            ifnull 26
         1: .line 164
            aload 0 /* this */
            iconst_1
            anewarray char[][]
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.result:[[[C
         2: .line 165
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.resultIndex:I
         3: .line 166
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.type:Lorg/eclipse/jdt/core/IType;
            invokeinterface org.eclipse.jdt.core.IType.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            checkcast org.eclipse.jdt.internal.core.JavaProject
            astore 1 /* javaProject */
        start local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
         4: .line 167
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.locator:Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;
            aload 1 /* javaProject */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.initialize:(Lorg/eclipse/jdt/internal/core/JavaProject;I)V
         5: .line 169
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.type:Lorg/eclipse/jdt/core/IType;
            invokeinterface org.eclipse.jdt.core.IType.isBinary:()Z
            ifeq 10
         6: .line 170
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.locator:Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.type:Lorg/eclipse/jdt/core/IType;
            aconst_null
            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 2 /* binding */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding binding
         7: .line 171
            aload 2 /* binding */
            ifnull 23
         8: .line 172
            aload 0 /* this */
            aload 2 /* binding */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.collectSuperTypeNames:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[[C)V
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding binding
         9: .line 173
            goto 23
        10: .line 174
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.type:Lorg/eclipse/jdt/core/IType;
            invokeinterface org.eclipse.jdt.core.IType.getCompilationUnit:()Lorg/eclipse/jdt/core/ICompilationUnit;
            astore 2 /* unit */
        start local 2 // org.eclipse.jdt.core.ICompilationUnit unit
        11: .line 175
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.type:Lorg/eclipse/jdt/core/IType;
            checkcast org.eclipse.jdt.internal.core.SourceType
            astore 3 /* sourceType */
        start local 3 // org.eclipse.jdt.internal.core.SourceType sourceType
        12: .line 176
            aload 3 /* sourceType */
            invokevirtual org.eclipse.jdt.internal.core.SourceType.getOuterMostLocalContext:()Lorg/eclipse/jdt/internal/core/Member;
            ifnonnull 13
            iconst_1
            goto 14
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit org.eclipse.jdt.internal.core.SourceType
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: istore 4 /* isTopLevelOrMember */
        start local 4 // boolean isTopLevelOrMember
        15: .line 177
            aload 0 /* this */
            aload 2 /* unit */
            iload 4 /* isTopLevelOrMember */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.buildBindings:(Lorg/eclipse/jdt/core/ICompilationUnit;Z)Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
            astore 5 /* parsedUnit */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration parsedUnit
        16: .line 178
            aload 5 /* parsedUnit */
            ifnull 23
        17: .line 179
            new org.eclipse.jdt.internal.core.util.ASTNodeFinder
            dup
            aload 5 /* parsedUnit */
            invokespecial org.eclipse.jdt.internal.core.util.ASTNodeFinder.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.type:Lorg/eclipse/jdt/core/IType;
            invokevirtual org.eclipse.jdt.internal.core.util.ASTNodeFinder.findType:(Lorg/eclipse/jdt/core/IType;)Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            astore 6 /* typeDecl */
        start local 6 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration typeDecl
        18: .line 180
            aload 6 /* typeDecl */
            ifnull 23
            aload 6 /* typeDecl */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
            ifnull 23
        19: .line 181
            aload 0 /* this */
            aload 6 /* typeDecl */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.collectSuperTypeNames:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[[C)V
        end local 6 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration typeDecl
        end local 5 // org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration parsedUnit
        end local 4 // boolean isTopLevelOrMember
        end local 3 // org.eclipse.jdt.internal.core.SourceType sourceType
        end local 2 // org.eclipse.jdt.core.ICompilationUnit unit
        20: .line 184
            goto 23
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector org.eclipse.jdt.internal.core.JavaProject
      StackMap stack: org.eclipse.jdt.internal.compiler.problem.AbortCompilation
        21: pop
        22: .line 186
            aconst_null
            areturn
        23: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.result:[[[C
            arraylength
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.resultIndex:I
            if_icmple 25
        24: .line 189
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.result:[[[C
            iconst_0
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.resultIndex:I
            anewarray char[][]
            dup_x1
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.result:[[[C
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.resultIndex:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        25: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.result:[[[C
            areturn
        end local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        26: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.getPathsOfDeclaringType:()[Ljava/lang/String;
            astore 1 /* paths */
        start local 1 // java.lang.String[] paths
        27: .line 195
            aload 1 /* paths */
            ifnonnull 28
            aconst_null
            areturn
        28: .line 199
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 1 /* paths */
            invokestatic org.eclipse.jdt.internal.core.util.Util.sort:([Ljava/lang/String;)V
        29: .line 200
            aconst_null
            astore 2 /* previousProject */
        start local 2 // org.eclipse.jdt.internal.core.JavaProject previousProject
        30: .line 201
            aload 0 /* this */
            iconst_1
            anewarray char[][]
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.result:[[[C
        31: .line 202
            aload 0 /* this */
            iconst_1
            anewarray char[][]
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.samePackageSuperTypeName:[[[C
        32: .line 203
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.resultIndex:I
        33: .line 204
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        34: aload 1 /* paths */
            arraylength
            istore 4 /* length */
        start local 4 // int length
        35: goto 57
        36: .line 206
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.locator:Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;
            getfield org.eclipse.jdt.internal.core.search.matching.MatchLocator.handleFactory:Lorg/eclipse/jdt/internal/core/util/HandleFactory;
            aload 1 /* paths */
            iload 3 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.locator:Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;
            getfield org.eclipse.jdt.internal.core.search.matching.MatchLocator.scope:Lorg/eclipse/jdt/core/search/IJavaSearchScope;
            invokevirtual org.eclipse.jdt.internal.core.util.HandleFactory.createOpenable:(Ljava/lang/String;Lorg/eclipse/jdt/core/search/IJavaSearchScope;)Lorg/eclipse/jdt/internal/core/Openable;
            astore 5 /* openable */
        start local 5 // org.eclipse.jdt.internal.core.Openable openable
        37: .line 207
            aload 5 /* openable */
            ifnonnull 39
        38: goto 56
        39: .line 209
      StackMap locals: org.eclipse.jdt.internal.core.Openable
      StackMap stack:
            aload 5 /* openable */
            invokevirtual org.eclipse.jdt.internal.core.Openable.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            astore 6 /* project */
        start local 6 // org.eclipse.jdt.core.IJavaProject project
        40: .line 210
            aload 6 /* project */
            aload 2 /* previousProject */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 43
        41: .line 211
            aload 6 /* project */
            checkcast org.eclipse.jdt.internal.core.JavaProject
            astore 2 /* previousProject */
        42: .line 212
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.locator:Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;
            aload 2 /* previousProject */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.search.matching.MatchLocator.initialize:(Lorg/eclipse/jdt/internal/core/JavaProject;I)V
        43: .line 214
      StackMap locals: org.eclipse.jdt.core.IJavaProject
      StackMap stack:
            aload 5 /* openable */
            instanceof org.eclipse.jdt.core.ICompilationUnit
            ifeq 49
        44: .line 215
            aload 5 /* openable */
            checkcast org.eclipse.jdt.core.ICompilationUnit
            astore 7 /* unit */
        start local 7 // org.eclipse.jdt.core.ICompilationUnit unit
        45: .line 216
            aload 0 /* this */
            aload 7 /* unit */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.buildBindings:(Lorg/eclipse/jdt/core/ICompilationUnit;Z)Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
            astore 8 /* parsedUnit */
        start local 8 // org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration parsedUnit
        46: .line 217
            aload 8 /* parsedUnit */
            ifnull 56
        47: .line 218
            aload 8 /* parsedUnit */
            new org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector$TypeDeclarationVisitor
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector$TypeDeclarationVisitor.<init>:(Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector;)V
            aload 8 /* parsedUnit */
            getfield org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.scope:Lorg/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope;)V
        end local 8 // org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration parsedUnit
        end local 7 // org.eclipse.jdt.core.ICompilationUnit unit
        48: .line 219
            goto 56
      StackMap locals:
      StackMap stack:
        49: aload 5 /* openable */
            instanceof org.eclipse.jdt.core.IOrdinaryClassFile
            ifeq 56
        50: .line 220
            aload 5 /* openable */
            checkcast org.eclipse.jdt.core.IOrdinaryClassFile
            astore 7 /* classFile */
        start local 7 // org.eclipse.jdt.core.IOrdinaryClassFile classFile
        51: .line 221
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.locator:Lorg/eclipse/jdt/internal/core/search/matching/MatchLocator;
            aload 7 /* classFile */
            invokeinterface org.eclipse.jdt.core.IOrdinaryClassFile.getType:()Lorg/eclipse/jdt/core/IType;
            aconst_null
            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 /* binding */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding binding
        52: .line 222
            aload 0 /* this */
            aload 8 /* binding */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.matches:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ifeq 56
        53: .line 223
            aload 0 /* this */
            aload 8 /* binding */
            aload 8 /* binding */
            getfield org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.compoundName:[[C
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.collectSuperTypeNames:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[[C)V
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding binding
        end local 7 // org.eclipse.jdt.core.IOrdinaryClassFile classFile
        end local 6 // org.eclipse.jdt.core.IJavaProject project
        end local 5 // org.eclipse.jdt.internal.core.Openable openable
        54: .line 225
            goto 56
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector java.lang.String[] org.eclipse.jdt.internal.core.JavaProject int int
      StackMap stack: java.lang.Exception
        55: pop
        56: .line 204
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        57: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 36
        end local 4 // int length
        end local 3 // int i
        58: .line 229
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.result:[[[C
            arraylength
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.resultIndex:I
            if_icmple 60
        59: .line 230
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.result:[[[C
            iconst_0
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.resultIndex:I
            anewarray char[][]
            dup_x1
            putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.result:[[[C
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.resultIndex:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        60: .line 231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.result:[[[C
            areturn
        end local 2 // org.eclipse.jdt.internal.core.JavaProject previousProject
        end local 1 // java.lang.String[] paths
        end local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   61     0                this  Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector;
            4   26     1         javaProject  Lorg/eclipse/jdt/internal/core/JavaProject;
            7    9     2             binding  Lorg/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding;
           11   20     2                unit  Lorg/eclipse/jdt/core/ICompilationUnit;
           12   20     3          sourceType  Lorg/eclipse/jdt/internal/core/SourceType;
           15   20     4  isTopLevelOrMember  Z
           16   20     5          parsedUnit  Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
           18   20     6            typeDecl  Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
           27   61     1               paths  [Ljava/lang/String;
           30   61     2     previousProject  Lorg/eclipse/jdt/internal/core/JavaProject;
           34   58     3                   i  I
           35   58     4              length  I
           37   54     5            openable  Lorg/eclipse/jdt/internal/core/Openable;
           40   54     6             project  Lorg/eclipse/jdt/core/IJavaProject;
           45   48     7                unit  Lorg/eclipse/jdt/core/ICompilationUnit;
           46   48     8          parsedUnit  Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
           51   54     7           classFile  Lorg/eclipse/jdt/core/IOrdinaryClassFile;
           52   54     8             binding  Lorg/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding;
      Exception table:
        from    to  target  type
           5    20      21  Class org.eclipse.jdt.internal.compiler.problem.AbortCompilation
          36    38      55  Class org.eclipse.jdt.internal.compiler.problem.AbortCompilation
          39    54      55  Class org.eclipse.jdt.internal.compiler.problem.AbortCompilation
          36    38      55  Class org.eclipse.jdt.core.JavaModelException
          39    54      55  Class org.eclipse.jdt.core.JavaModelException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  protected void collectSuperTypeNames(org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding, char[][]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[[C)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding binding
        start local 2 // char[][] path
         0: .line 237
            aload 1 /* binding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.superclass:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 3 /* superclass */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding superclass
         1: .line 238
            aload 2 /* path */
            ifnull 4
            aload 3 /* superclass */
            ifnull 4
         2: .line 239
            aload 0 /* this */
            aload 3 /* superclass */
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.compoundName:[[C
            aload 2 /* path */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.addIfSamePackage:([[C[[C)Z
            istore 4 /* samePackage */
        start local 4 // boolean samePackage
         3: .line 240
            iload 4 /* samePackage */
            ifne 4
            aconst_null
            astore 2 /* path */
        end local 4 // boolean samePackage
         4: .line 242
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
      StackMap stack:
            aload 3 /* superclass */
            ifnull 7
         5: .line 243
            aload 0 /* this */
            aload 3 /* superclass */
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.compoundName:[[C
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.addToResult:([[C)V
         6: .line 244
            aload 0 /* this */
            aload 3 /* superclass */
            aload 2 /* path */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.collectSuperTypeNames:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[[C)V
         7: .line 247
      StackMap locals:
      StackMap stack:
            aload 1 /* binding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.superInterfaces:()[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 4 /* interfaces */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] interfaces
         8: .line 248
            aload 4 /* interfaces */
            ifnull 16
         9: .line 249
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        10: goto 15
        11: .line 250
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int
      StackMap stack:
            aload 4 /* interfaces */
            iload 5 /* i */
            aaload
            astore 6 /* interfaceBinding */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding interfaceBinding
        12: .line 251
            aload 0 /* this */
            aload 6 /* interfaceBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.compoundName:[[C
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.addToResult:([[C)V
        13: .line 252
            aload 0 /* this */
            aload 6 /* interfaceBinding */
            aload 2 /* path */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.collectSuperTypeNames:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[[C)V
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding interfaceBinding
        14: .line 249
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            aload 4 /* interfaces */
            arraylength
            if_icmplt 11
        end local 5 // int i
        16: .line 255
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] interfaces
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding superclass
        end local 2 // char[][] path
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding binding
        end local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector;
            0   17     1           binding  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            0   17     2              path  [[C
            1   17     3        superclass  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            3    4     4       samePackage  Z
            8   17     4        interfaces  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           10   16     5                 i  I
           12   14     6  interfaceBinding  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    MethodParameters:
         Name  Flags
      binding  
      path     

  protected java.lang.String[] getPathsOfDeclaringType();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=7, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
         0: .line 257
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.typeQualification:[C
            ifnonnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.typeSimpleName:[C
            ifnonnull 1
            aconst_null
            areturn
         1: .line 259
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.search.PathCollector
            dup
            invokespecial org.eclipse.jdt.internal.core.search.PathCollector.<init>:()V
            astore 1 /* pathCollector */
        start local 1 // org.eclipse.jdt.internal.core.search.PathCollector pathCollector
         2: .line 260
            invokestatic org.eclipse.jdt.core.search.SearchEngine.createWorkspaceScope:()Lorg/eclipse/jdt/core/search/IJavaSearchScope;
            astore 2 /* scope */
        start local 2 // org.eclipse.jdt.core.search.IJavaSearchScope scope
         3: .line 261
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getIndexManager:()Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            astore 3 /* indexManager */
        start local 3 // org.eclipse.jdt.internal.core.search.indexing.IndexManager indexManager
         4: .line 262
            new org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern
            dup
         5: .line 263
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.typeSimpleName:[C
            ifnull 6
            aconst_null
            goto 7
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector org.eclipse.jdt.internal.core.search.PathCollector org.eclipse.jdt.core.search.IJavaSearchScope org.eclipse.jdt.internal.core.search.indexing.IndexManager
      StackMap stack: new 4 new 4
         6: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.typeQualification:[C
         7: .line 264
      StackMap locals: org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector org.eclipse.jdt.internal.core.search.PathCollector org.eclipse.jdt.core.search.IJavaSearchScope org.eclipse.jdt.internal.core.search.indexing.IndexManager
      StackMap stack: new 4 new 4 char[]
            aconst_null
         8: .line 265
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.typeSimpleName:[C
         9: .line 266
            iconst_0
        10: .line 267
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.pattern:Lorg/eclipse/jdt/core/search/SearchPattern;
            invokevirtual org.eclipse.jdt.core.search.SearchPattern.getMatchRule:()I
        11: .line 262
            invokespecial org.eclipse.jdt.internal.core.search.matching.TypeDeclarationPattern.<init>:([C[[C[CCI)V
            astore 4 /* searchPattern */
        start local 4 // org.eclipse.jdt.core.search.SearchPattern searchPattern
        12: .line 268
            new org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector$1
            dup
            aload 0 /* this */
            aload 1 /* pathCollector */
            invokespecial org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector$1.<init>:(Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector;Lorg/eclipse/jdt/internal/core/search/PathCollector;)V
            astore 5 /* searchRequestor */
        start local 5 // org.eclipse.jdt.internal.core.search.IndexQueryRequestor searchRequestor
        13: .line 278
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.progressMonitor:Lorg/eclipse/core/runtime/IProgressMonitor;
            bipush 100
            invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
            astore 6 /* subMonitor */
        start local 6 // org.eclipse.core.runtime.SubMonitor subMonitor
        14: .line 279
            aload 3 /* indexManager */
        15: .line 280
            new org.eclipse.jdt.internal.core.search.PatternSearchJob
            dup
        16: .line 281
            aload 4 /* searchPattern */
        17: .line 282
            new org.eclipse.jdt.internal.core.search.JavaSearchParticipant
            dup
            invokespecial org.eclipse.jdt.internal.core.search.JavaSearchParticipant.<init>:()V
        18: .line 283
            aload 2 /* scope */
        19: .line 284
            aload 5 /* searchRequestor */
        20: .line 280
            invokespecial org.eclipse.jdt.internal.core.search.PatternSearchJob.<init>:(Lorg/eclipse/jdt/core/search/SearchPattern;Lorg/eclipse/jdt/core/search/SearchParticipant;Lorg/eclipse/jdt/core/search/IJavaSearchScope;Lorg/eclipse/jdt/internal/core/search/IndexQueryRequestor;)V
        21: .line 285
            iconst_3
            aload 6 /* subMonitor */
            bipush 100
            invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
        22: .line 279
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.performConcurrentJob:(Lorg/eclipse/jdt/internal/core/search/processing/IJob;ILorg/eclipse/core/runtime/IProgressMonitor;)Z
            pop
        23: .line 286
            aload 1 /* pathCollector */
            invokevirtual org.eclipse.jdt.internal.core.search.PathCollector.getPaths:()[Ljava/lang/String;
            areturn
        end local 6 // org.eclipse.core.runtime.SubMonitor subMonitor
        end local 5 // org.eclipse.jdt.internal.core.search.IndexQueryRequestor searchRequestor
        end local 4 // org.eclipse.jdt.core.search.SearchPattern searchPattern
        end local 3 // org.eclipse.jdt.internal.core.search.indexing.IndexManager indexManager
        end local 2 // org.eclipse.jdt.core.search.IJavaSearchScope scope
        end local 1 // org.eclipse.jdt.internal.core.search.PathCollector pathCollector
        end local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   24     0             this  Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector;
            2   24     1    pathCollector  Lorg/eclipse/jdt/internal/core/search/PathCollector;
            3   24     2            scope  Lorg/eclipse/jdt/core/search/IJavaSearchScope;
            4   24     3     indexManager  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
           12   24     4    searchPattern  Lorg/eclipse/jdt/core/search/SearchPattern;
           13   24     5  searchRequestor  Lorg/eclipse/jdt/internal/core/search/IndexQueryRequestor;
           14   24     6       subMonitor  Lorg/eclipse/core/runtime/SubMonitor;

  public char[][][] getSamePackageSuperTypeNames();
    descriptor: ()[[[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
         0: .line 289
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.samePackageSuperTypeName:[[[C
            areturn
        end local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector;

  protected boolean matches(char[][]);
    descriptor: ([[C)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
        start local 1 // char[][] compoundName
         0: .line 292
            aload 1 /* compoundName */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         1: .line 293
            iload 2 /* length */
            ifne 2
            iconst_0
            ireturn
         2: .line 294
      StackMap locals: int
      StackMap stack:
            aload 1 /* compoundName */
            iload 2 /* length */
            iconst_1
            isub
            aaload
            astore 3 /* simpleName */
        start local 3 // char[] simpleName
         3: .line 295
            iload 2 /* length */
            iconst_1
            isub
            istore 4 /* last */
        start local 4 // int last
         4: .line 296
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.typeSimpleName:[C
            ifnull 5
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.pattern:Lorg/eclipse/jdt/core/search/SearchPattern;
            aload 3 /* simpleName */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.typeSimpleName:[C
            invokevirtual org.eclipse.jdt.core.search.SearchPattern.matchesName:([C[C)Z
            ifeq 8
         5: .line 298
      StackMap locals: char[] int
      StackMap stack:
            iload 4 /* last */
            anewarray char[]
            astore 5 /* qualification */
        start local 5 // char[][] qualification
         6: .line 299
            aload 1 /* compoundName */
            iconst_0
            aload 5 /* qualification */
            iconst_0
            iload 4 /* last */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 300
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.pattern:Lorg/eclipse/jdt/core/search/SearchPattern;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.typeQualification:[C
            aload 5 /* qualification */
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            invokevirtual org.eclipse.jdt.core.search.SearchPattern.matchesName:([C[C)Z
            ireturn
        end local 5 // char[][] qualification
         8: .line 303
      StackMap locals:
      StackMap stack:
            aload 3 /* simpleName */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.typeSimpleName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.endsWith:([C[C)Z
            ifne 9
            iconst_0
            ireturn
         9: .line 306
      StackMap locals:
      StackMap stack:
            aload 1 /* compoundName */
            iconst_0
            iload 2 /* length */
            iconst_1
            iadd
            anewarray char[]
            dup
            astore 1 /* compoundName */
            iconst_0
            iload 4 /* last */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 307
            bipush 36
            aload 3 /* simpleName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[C)I
            istore 5 /* dollar */
        start local 5 // int dollar
        11: .line 308
            iload 5 /* dollar */
            iconst_m1
            if_icmpne 12
            iconst_0
            ireturn
        12: .line 309
      StackMap locals: int
      StackMap stack:
            aload 1 /* compoundName */
            iload 4 /* last */
            aload 3 /* simpleName */
            iconst_0
            iload 5 /* dollar */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            aastore
        13: .line 310
            aload 1 /* compoundName */
            iload 2 /* length */
            aload 3 /* simpleName */
            iload 5 /* dollar */
            iconst_1
            iadd
            aload 3 /* simpleName */
            arraylength
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            aastore
        14: .line 311
            aload 0 /* this */
            aload 1 /* compoundName */
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.matches:([[C)Z
            ireturn
        end local 5 // int dollar
        end local 4 // int last
        end local 3 // char[] simpleName
        end local 2 // int length
        end local 1 // char[][] compoundName
        end local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector;
            0   15     1   compoundName  [[C
            1   15     2         length  I
            3   15     3     simpleName  [C
            4   15     4           last  I
            6    8     5  qualification  [[C
           11   15     5         dollar  I
    MethodParameters:
              Name  Flags
      compoundName  

  protected boolean matches(org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding binding
         0: .line 314
            aload 1 /* binding */
            ifnull 1
            aload 1 /* binding */
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.compoundName:[[C
            ifnull 1
            aload 0 /* this */
            aload 1 /* binding */
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.compoundName:[[C
            invokevirtual org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector.matches:([[C)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding binding
        end local 0 // org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector;
            0    2     1  binding  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    MethodParameters:
         Name  Flags
      binding  
}
SourceFile: "SuperTypeNamesCollector.java"
NestMembers:
  org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector$1  org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector$TypeDeclarationVisitor
InnerClasses:
  org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector$1
  public TypeDeclarationVisitor = org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector$TypeDeclarationVisitor of org.eclipse.jdt.internal.core.search.matching.SuperTypeNamesCollector