public class org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder extends org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder implements org.eclipse.jdt.internal.compiler.util.SuffixConstants
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder
super_class: org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder
{
public static final int MAXTICKS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 800
protected java.util.Map cuToHandle;
descriptor: Ljava/util/Map;
flags: (0x0004) ACC_PROTECTED
protected org.eclipse.jdt.core.search.IJavaSearchScope scope;
descriptor: Lorg/eclipse/jdt/core/search/IJavaSearchScope;
flags: (0x0004) ACC_PROTECTED
protected java.util.Map binariesFromIndexMatches;
descriptor: Ljava/util/Map;
flags: (0x0004) ACC_PROTECTED
public void <init>(org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy, org.eclipse.jdt.core.search.IJavaSearchScope);
descriptor: (Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;Lorg/eclipse/jdt/core/search/IJavaSearchScope;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.<init>:(Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;)V
1: aload 0
new java.util.HashMap
dup
iconst_5
invokespecial java.util.HashMap.<init>:(I)V
putfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.cuToHandle:Ljava/util/Map;
2: aload 0
new java.util.HashMap
dup
bipush 10
invokespecial java.util.HashMap.<init>:(I)V
putfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.binariesFromIndexMatches:Ljava/util/Map;
3: aload 0
aload 2
putfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.scope:Lorg/eclipse/jdt/core/search/IJavaSearchScope;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder;
0 5 1 hierarchy Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
0 5 2 scope Lorg/eclipse/jdt/core/search/IJavaSearchScope;
Exceptions:
throws org.eclipse.jdt.core.JavaModelException
MethodParameters:
Name Flags
hierarchy
scope
public void build(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
astore 2
start local 2 1: aload 2
aload 0
invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.cacheZipFiles:(Ljava/lang/Object;)V
2: iload 1
ifeq 19
3: aload 0
invokevirtual org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.getType:()Lorg/eclipse/jdt/core/IType;
astore 3
start local 3 4: aload 3
invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
new java.lang.String
dup
getstatic org.eclipse.jdt.internal.core.search.indexing.IIndexConstants.OBJECT:[C
invokespecial java.lang.String.<init>:([C)V
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
istore 4
start local 4 5: iload 4
ifeq 6
iconst_5
goto 7
StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IType int
StackMap stack:
6: bipush 80
StackMap locals:
StackMap stack: int
7: istore 5
start local 5 8: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
getfield org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.progressMonitor:Lorg/eclipse/core/runtime/SubMonitor;
iload 5
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
astore 6
start local 6 9: new java.util.HashSet
dup
bipush 10
invokespecial java.util.HashSet.<init>:(I)V
astore 7
start local 7 10: aload 3
checkcast org.eclipse.jdt.internal.core.Member
invokevirtual org.eclipse.jdt.internal.core.Member.getOuterMostLocalContext:()Lorg/eclipse/jdt/internal/core/Member;
ifnonnull 13
11: aload 0
aload 7
aload 6
invokevirtual org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.determinePossibleSubTypes:(Ljava/util/HashSet;Lorg/eclipse/core/runtime/IProgressMonitor;)[Ljava/lang/String;
astore 8
start local 8 12: goto 14
end local 8 13: StackMap locals: int org.eclipse.core.runtime.SubMonitor java.util.HashSet
StackMap stack:
getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
astore 8
start local 8 14: StackMap locals: java.lang.String[]
StackMap stack:
aload 8
ifnull 25
15: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
getfield org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.progressMonitor:Lorg/eclipse/core/runtime/SubMonitor;
bipush 100
iload 5
isub
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
astore 9
start local 9 16: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
aload 8
arraylength
invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.initialize:(I)V
17: aload 0
aload 8
aload 7
aload 9
invokevirtual org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.buildFromPotentialSubtypes:([Ljava/lang/String;Ljava/util/HashSet;Lorg/eclipse/core/runtime/IProgressMonitor;)V
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 18: goto 25
19: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder int org.eclipse.jdt.internal.core.JavaModelManager
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
iconst_1
invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.initialize:(I)V
20: aload 0
invokevirtual org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.buildSupertypes:()V
21: goto 25
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 10
23: aload 2
aload 0
invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.flushZipFiles:(Ljava/lang/Object;)V
24: aload 10
athrow
25: StackMap locals:
StackMap stack:
aload 2
aload 0
invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.flushZipFiles:(Ljava/lang/Object;)V
26: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder;
0 27 1 computeSubtypes Z
1 27 2 manager Lorg/eclipse/jdt/internal/core/JavaModelManager;
4 18 3 focusType Lorg/eclipse/jdt/core/IType;
5 18 4 focusIsObject Z
8 18 5 amountOfWorkForSubtypes I
9 18 6 possibleSubtypesMonitor Lorg/eclipse/core/runtime/SubMonitor;
10 18 7 localTypes Ljava/util/HashSet;
12 13 8 allPossibleSubtypes [Ljava/lang/String;
14 18 8 allPossibleSubtypes [Ljava/lang/String;
16 18 9 buildMonitor Lorg/eclipse/core/runtime/SubMonitor;
Exception table:
from to target type
1 22 22 any
MethodParameters:
Name Flags
computeSubtypes
private void buildForProject(org.eclipse.jdt.internal.core.JavaProject, java.util.ArrayList, org.eclipse.jdt.core.ICompilationUnit[], java.util.HashSet, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Lorg/eclipse/jdt/internal/core/JavaProject;Ljava/util/ArrayList;[Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/util/HashSet;Lorg/eclipse/core/runtime/IProgressMonitor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=21, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
bipush 10
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 6
start local 6 1: aload 2
invokevirtual java.util.ArrayList.size:()I
istore 7
start local 7 2: iload 7
ifle 66
3: iload 7
anewarray org.eclipse.jdt.internal.core.Openable
astore 8
start local 8 4: aload 2
aload 8
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
5: aload 1
invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoots:()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
astore 9
start local 9 6: aload 9
arraylength
istore 10
start local 10 7: new org.eclipse.jdt.internal.compiler.util.HashtableOfObjectToInt
dup
iload 7
invokespecial org.eclipse.jdt.internal.compiler.util.HashtableOfObjectToInt.<init>:(I)V
astore 11
start local 11 8: iconst_0
istore 12
start local 12 9: goto 19
10: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder org.eclipse.jdt.internal.core.JavaProject java.util.ArrayList org.eclipse.jdt.core.ICompilationUnit[] java.util.HashSet org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor int org.eclipse.jdt.internal.core.Openable[] org.eclipse.jdt.core.IPackageFragmentRoot[] int org.eclipse.jdt.internal.compiler.util.HashtableOfObjectToInt int
StackMap stack:
aload 8
iload 12
aaload
iconst_3
invokevirtual org.eclipse.jdt.internal.core.Openable.getAncestor:(I)Lorg/eclipse/jdt/core/IJavaElement;
astore 13
start local 13 11: iconst_0
istore 14
start local 14 12: goto 16
13: StackMap locals: org.eclipse.jdt.core.IJavaElement int
StackMap stack:
aload 9
iload 14
aaload
aload 13
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 15
14: goto 17
15: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
16: iload 14
iload 10
if_icmplt 13
17: StackMap locals:
StackMap stack:
aload 11
aload 8
iload 12
aaload
iload 14
invokevirtual org.eclipse.jdt.internal.compiler.util.HashtableOfObjectToInt.put:(Ljava/lang/Object;I)I
pop
end local 14 end local 13 18: iinc 12 1
StackMap locals:
StackMap stack:
19: iload 12
iload 7
if_icmplt 10
end local 12 20: aload 6
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
pop
21: aload 8
new org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$1
dup
aload 0
aload 11
invokespecial org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$1.<init>:(Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder;Lorg/eclipse/jdt/internal/compiler/util/HashtableOfObjectToInt;)V
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
22: aload 0
invokevirtual org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.getType:()Lorg/eclipse/jdt/core/IType;
astore 12
start local 12 23: aload 12
ifnull 24
aload 12
invokeinterface org.eclipse.jdt.core.IType.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 24
iconst_1
goto 25
StackMap locals: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder org.eclipse.jdt.internal.core.JavaProject java.util.ArrayList org.eclipse.jdt.core.ICompilationUnit[] java.util.HashSet org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor int org.eclipse.jdt.internal.core.Openable[] org.eclipse.jdt.core.IPackageFragmentRoot[] int org.eclipse.jdt.internal.compiler.util.HashtableOfObjectToInt org.eclipse.jdt.core.IType
StackMap stack:
24: iconst_0
StackMap locals:
StackMap stack: int
25: istore 13
start local 13 26: aconst_null
astore 14
start local 14 27: iload 13
ifeq 41
28: aload 12
invokeinterface org.eclipse.jdt.core.IType.getCompilationUnit:()Lorg/eclipse/jdt/core/ICompilationUnit;
astore 15
start local 15 29: aload 15
ifnull 40
30: aload 3
ifnonnull 31
iconst_0
goto 32
StackMap locals: int org.eclipse.jdt.core.ICompilationUnit[] org.eclipse.jdt.core.ICompilationUnit
StackMap stack:
31: aload 3
arraylength
StackMap locals:
StackMap stack: int
32: istore 16
start local 16 33: iload 16
ifne 36
34: iconst_1
anewarray org.eclipse.jdt.core.ICompilationUnit
dup
iconst_0
aload 15
aastore
astore 14
35: goto 41
36: StackMap locals: int
StackMap stack:
iload 16
iconst_1
iadd
anewarray org.eclipse.jdt.core.ICompilationUnit
astore 14
37: aload 14
iconst_0
aload 15
aastore
38: aload 3
iconst_0
aload 14
iconst_1
iload 16
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 16 39: goto 41
40: StackMap locals:
StackMap stack:
aload 3
astore 14
end local 15 41: StackMap locals:
StackMap stack:
aload 1
aload 14
invokevirtual org.eclipse.jdt.internal.core.JavaProject.newSearchableNameEnvironment:([Lorg/eclipse/jdt/core/ICompilationUnit;)Lorg/eclipse/jdt/internal/core/SearchableEnvironment;
astore 15
start local 15 42: aload 0
aload 15
getfield org.eclipse.jdt.internal.core.SearchableEnvironment.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
putfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
43: aload 1
iconst_1
invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOptions:(Z)Ljava/util/Map;
astore 16
start local 16 44: aload 16
ldc "org.eclipse.jdt.core.compiler.taskTags"
ldc ""
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
45: aload 0
46: new org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver
dup
aload 15
aload 16
aload 0
new org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory
dup
invokespecial org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory.<init>:()V
invokespecial org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver.<init>:(Lorg/eclipse/jdt/internal/compiler/env/INameEnvironment;Ljava/util/Map;Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBuilder;Lorg/eclipse/jdt/internal/compiler/IProblemFactory;)V
47: putfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.hierarchyResolver:Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyResolver;
48: aload 12
ifnull 65
49: aload 12
checkcast org.eclipse.jdt.internal.core.Member
invokevirtual org.eclipse.jdt.internal.core.Member.getOuterMostLocalContext:()Lorg/eclipse/jdt/internal/core/Member;
astore 17
start local 17 50: aload 17
ifnonnull 57
51: iload 13
ifne 65
52: aload 12
bipush 46
invokeinterface org.eclipse.jdt.core.IType.getTypeQualifiedName:(C)Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
astore 18
start local 18 53: aload 12
invokeinterface org.eclipse.jdt.core.IType.getPackageFragment:()Lorg/eclipse/jdt/core/IPackageFragment;
checkcast org.eclipse.jdt.internal.core.PackageFragment
astore 19
start local 19 54: aload 19
getfield org.eclipse.jdt.internal.core.PackageFragment.names:[Ljava/lang/String;
astore 20
start local 20 55: aload 15
aload 18
aload 20
invokestatic org.eclipse.jdt.internal.core.util.Util.toCharArrays:([Ljava/lang/String;)[[C
invokevirtual org.eclipse.jdt.internal.core.SearchableEnvironment.findType:([C[[C)Lorg/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer;
ifnonnull 65
56: return
end local 20 end local 19 end local 18 57: StackMap locals: org.eclipse.jdt.internal.core.SearchableEnvironment java.util.Map org.eclipse.jdt.internal.core.Member
StackMap stack:
aload 17
invokevirtual org.eclipse.jdt.internal.core.Member.isBinary:()Z
ifeq 60
58: aload 17
invokevirtual org.eclipse.jdt.internal.core.Member.getClassFile:()Lorg/eclipse/jdt/core/IClassFile;
checkcast org.eclipse.jdt.internal.core.Openable
astore 18
start local 18 59: goto 61
end local 18 60: StackMap locals:
StackMap stack:
aload 17
invokevirtual org.eclipse.jdt.internal.core.Member.getCompilationUnit:()Lorg/eclipse/jdt/core/ICompilationUnit;
checkcast org.eclipse.jdt.internal.core.Openable
astore 18
start local 18 61: StackMap locals: org.eclipse.jdt.internal.core.Openable
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 4
62: aload 4
aload 18
invokevirtual org.eclipse.jdt.internal.core.Openable.getPath:()Lorg/eclipse/core/runtime/IPath;
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
63: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.hierarchyResolver:Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyResolver;
iconst_1
anewarray org.eclipse.jdt.internal.core.Openable
dup
iconst_0
aload 18
aastore
aload 4
aload 6
bipush 9
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver.resolve:([Lorg/eclipse/jdt/internal/core/Openable;Ljava/util/HashSet;Lorg/eclipse/core/runtime/IProgressMonitor;)V
64: return
end local 18 end local 17 65: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.hierarchyResolver:Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyResolver;
aload 8
aload 4
aload 6
bipush 9
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver.resolve:([Lorg/eclipse/jdt/internal/core/Openable;Ljava/util/HashSet;Lorg/eclipse/core/runtime/IProgressMonitor;)V
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 66: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder org.eclipse.jdt.internal.core.JavaProject java.util.ArrayList org.eclipse.jdt.core.ICompilationUnit[] java.util.HashSet org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor int
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder;
0 67 1 project Lorg/eclipse/jdt/internal/core/JavaProject;
0 67 2 potentialSubtypes Ljava/util/ArrayList;
0 67 3 workingCopies [Lorg/eclipse/jdt/core/ICompilationUnit;
0 67 4 localTypes Ljava/util/HashSet;
0 67 5 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 67 6 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
2 67 7 openablesLength I
4 66 8 openables [Lorg/eclipse/jdt/internal/core/Openable;
6 66 9 roots [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
7 66 10 rootsLength I
8 66 11 indexes Lorg/eclipse/jdt/internal/compiler/util/HashtableOfObjectToInt;
9 20 12 i I
11 18 13 root Lorg/eclipse/jdt/core/IJavaElement;
12 18 14 index I
23 66 12 focusType Lorg/eclipse/jdt/core/IType;
26 66 13 inProjectOfFocusType Z
27 66 14 unitsToLookInside [Lorg/eclipse/jdt/core/ICompilationUnit;
29 41 15 unitToLookInside Lorg/eclipse/jdt/core/ICompilationUnit;
33 39 16 wcLength I
42 66 15 searchableEnvironment Lorg/eclipse/jdt/internal/core/SearchableEnvironment;
44 66 16 options Ljava/util/Map;
50 65 17 declaringMember Lorg/eclipse/jdt/internal/core/Member;
53 57 18 typeQualifiedName [C
54 57 19 fragment Lorg/eclipse/jdt/internal/core/PackageFragment;
55 57 20 packageName [Ljava/lang/String;
59 60 18 openable Lorg/eclipse/jdt/internal/core/Openable;
61 65 18 openable Lorg/eclipse/jdt/internal/core/Openable;
Exceptions:
throws org.eclipse.jdt.core.JavaModelException
MethodParameters:
Name Flags
project
potentialSubtypes
workingCopies
localTypes
monitor
private void buildFromPotentialSubtypes(java.lang.String[], java.util.HashSet, org.eclipse.core.runtime.IProgressMonitor);
descriptor: ([Ljava/lang/String;Ljava/util/HashSet;Lorg/eclipse/core/runtime/IProgressMonitor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=24, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
bipush 100
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 4
start local 4 1: aload 0
invokevirtual org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.getType:()Lorg/eclipse/jdt/core/IType;
astore 5
start local 5 2: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 6
start local 6 3: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
getfield org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.workingCopies:[Lorg/eclipse/jdt/core/ICompilationUnit;
astore 8
start local 8 4: aload 8
ifnull 18
aload 8
arraylength
dup
istore 7
start local 7 5: ifle 18
6: iload 7
anewarray java.lang.String
astore 9
start local 9 7: iconst_0
istore 10
start local 10 8: goto 14
9: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder java.lang.String[] java.util.HashSet org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IType java.util.HashMap int org.eclipse.jdt.core.ICompilationUnit[] java.lang.String[] int
StackMap stack:
aload 8
iload 10
aaload
astore 11
start local 11 10: aload 11
invokeinterface org.eclipse.jdt.core.ICompilationUnit.getPath:()Lorg/eclipse/core/runtime/IPath;
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
astore 12
start local 12 11: aload 6
aload 12
aload 11
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 9
iload 10
aload 12
aastore
end local 12 end local 11 13: iinc 10 1
StackMap locals:
StackMap stack:
14: iload 10
iload 7
if_icmplt 9
end local 10 15: aload 1
arraylength
istore 10
start local 10 16: aload 1
iconst_0
iload 10
iload 7
iadd
anewarray java.lang.String
dup
astore 1
iconst_0
iload 10
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: aload 9
iconst_0
aload 1
iload 10
iload 7
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 10 end local 9 end local 7 18: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder java.lang.String[] java.util.HashSet org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IType java.util.HashMap top org.eclipse.jdt.core.ICompilationUnit[]
StackMap stack:
aload 1
arraylength
istore 9
start local 9 19: aload 5
invokeinterface org.eclipse.jdt.core.IType.getCompilationUnit:()Lorg/eclipse/jdt/core/ICompilationUnit;
checkcast org.eclipse.jdt.internal.core.Openable
astore 10
start local 10 20: aconst_null
astore 11
start local 11 21: aload 10
ifnull 29
22: aload 10
invokevirtual org.eclipse.jdt.internal.core.Openable.getPath:()Lorg/eclipse/core/runtime/IPath;
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
astore 11
23: iload 9
ifle 27
24: aload 1
iconst_0
iload 9
iconst_1
iadd
anewarray java.lang.String
dup
astore 1
iconst_0
iload 9
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
25: aload 1
iload 9
aload 11
aastore
26: goto 28
27: StackMap locals: int org.eclipse.jdt.internal.core.Openable java.lang.String
StackMap stack:
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 11
aastore
astore 1
28: StackMap locals:
StackMap stack:
iinc 9 1
29: StackMap locals:
StackMap stack:
aload 4
iconst_5
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
pop
30: aload 1
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
31: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
start local 12 32: aload 4
bipush 95
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
astore 13
start local 13 33: new org.eclipse.jdt.internal.core.util.HandleFactory
dup
invokespecial org.eclipse.jdt.internal.core.util.HandleFactory.<init>:()V
astore 14
start local 14 34: aconst_null
astore 15
start local 15 35: iconst_0
istore 16
start local 16 36: goto 78
37: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder java.lang.String[] java.util.HashSet org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IType java.util.HashMap top org.eclipse.jdt.core.ICompilationUnit[] int org.eclipse.jdt.internal.core.Openable java.lang.String java.util.ArrayList org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.util.HandleFactory org.eclipse.jdt.core.IJavaProject int
StackMap stack:
aload 13
iload 9
iload 16
isub
iconst_1
iadd
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
pop
38: aconst_null
astore 17
start local 17 39: aload 1
iload 16
aaload
astore 18
start local 18 40: iload 16
ifle 44
aload 18
aload 1
iload 16
iconst_1
isub
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 44
41: aload 17
ifnull 77
42: aload 17
astore 15
43: goto 77
44: StackMap locals: org.eclipse.jdt.core.IJavaProject java.lang.String
StackMap stack:
aload 6
aload 18
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.core.ICompilationUnit
astore 20
start local 20 45: aload 20
ifnull 48
46: aload 20
checkcast org.eclipse.jdt.internal.core.Openable
astore 19
start local 19 47: goto 56
end local 19 48: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder java.lang.String[] java.util.HashSet org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IType java.util.HashMap top org.eclipse.jdt.core.ICompilationUnit[] int org.eclipse.jdt.internal.core.Openable java.lang.String java.util.ArrayList org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.util.HandleFactory org.eclipse.jdt.core.IJavaProject int org.eclipse.jdt.core.IJavaProject java.lang.String top org.eclipse.jdt.core.ICompilationUnit
StackMap stack:
aload 18
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 50
49: aload 10
goto 51
50: StackMap locals:
StackMap stack:
aload 14
aload 18
aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.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;
51: StackMap locals:
StackMap stack: org.eclipse.jdt.internal.core.Openable
astore 19
start local 19 52: aload 19
ifnonnull 56
53: aload 17
ifnull 77
54: aload 17
astore 15
55: goto 77
56: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder java.lang.String[] java.util.HashSet org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IType java.util.HashMap top org.eclipse.jdt.core.ICompilationUnit[] int org.eclipse.jdt.internal.core.Openable java.lang.String java.util.ArrayList org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.util.HandleFactory org.eclipse.jdt.core.IJavaProject int org.eclipse.jdt.core.IJavaProject java.lang.String org.eclipse.jdt.internal.core.Openable org.eclipse.jdt.core.ICompilationUnit
StackMap stack:
aload 19
invokevirtual org.eclipse.jdt.internal.core.Openable.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
astore 21
start local 21 57: aload 15
ifnonnull 61
58: aload 21
astore 15
59: new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
astore 12
60: goto 65
StackMap locals: org.eclipse.jdt.core.IJavaProject
StackMap stack:
61: aload 15
aload 21
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 65
62: aload 21
astore 17
63: aload 0
aload 15
checkcast org.eclipse.jdt.internal.core.JavaProject
aload 12
aload 8
aload 2
aload 13
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.buildForProject:(Lorg/eclipse/jdt/internal/core/JavaProject;Ljava/util/ArrayList;[Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/util/HashSet;Lorg/eclipse/core/runtime/IProgressMonitor;)V
64: new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
astore 12
65: StackMap locals:
StackMap stack:
aload 12
aload 19
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 21 end local 20 end local 19 end local 18 66: goto 75
StackMap locals: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder java.lang.String[] java.util.HashSet org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IType java.util.HashMap top org.eclipse.jdt.core.ICompilationUnit[] int org.eclipse.jdt.internal.core.Openable java.lang.String java.util.ArrayList org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.util.HandleFactory org.eclipse.jdt.core.IJavaProject int org.eclipse.jdt.core.IJavaProject
StackMap stack: org.eclipse.jdt.core.JavaModelException
67: pop
68: aload 17
ifnull 77
69: aload 17
astore 15
70: goto 77
71: StackMap locals:
StackMap stack: java.lang.Throwable
astore 22
72: aload 17
ifnull 74
73: aload 17
astore 15
74: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder java.lang.String[] java.util.HashSet org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IType java.util.HashMap top org.eclipse.jdt.core.ICompilationUnit[] int org.eclipse.jdt.internal.core.Openable java.lang.String java.util.ArrayList org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.util.HandleFactory org.eclipse.jdt.core.IJavaProject int org.eclipse.jdt.core.IJavaProject top top top top java.lang.Throwable
StackMap stack:
aload 22
athrow
75: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder java.lang.String[] java.util.HashSet org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IType java.util.HashMap top org.eclipse.jdt.core.ICompilationUnit[] int org.eclipse.jdt.internal.core.Openable java.lang.String java.util.ArrayList org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.util.HandleFactory org.eclipse.jdt.core.IJavaProject int org.eclipse.jdt.core.IJavaProject
StackMap stack:
aload 17
ifnull 77
76: aload 17
astore 15
end local 17 77: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
78: iload 16
iload 9
if_icmplt 37
end local 16 79: aload 13
iconst_2
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
pop
80: aload 15
ifnonnull 86
81: aload 5
invokeinterface org.eclipse.jdt.core.IType.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
astore 15
82: aload 5
invokeinterface org.eclipse.jdt.core.IType.isBinary:()Z
ifeq 85
83: aload 12
aload 5
invokeinterface org.eclipse.jdt.core.IType.getClassFile:()Lorg/eclipse/jdt/core/IOrdinaryClassFile;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
84: goto 86
85: StackMap locals:
StackMap stack:
aload 12
aload 5
invokeinterface org.eclipse.jdt.core.IType.getCompilationUnit:()Lorg/eclipse/jdt/core/ICompilationUnit;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
86: StackMap locals:
StackMap stack:
aload 0
aload 15
checkcast org.eclipse.jdt.internal.core.JavaProject
aload 12
aload 8
aload 2
aload 13
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.buildForProject:(Lorg/eclipse/jdt/internal/core/JavaProject;Ljava/util/ArrayList;[Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/util/HashSet;Lorg/eclipse/core/runtime/IProgressMonitor;)V
87: goto 89
StackMap locals:
StackMap stack: org.eclipse.jdt.core.JavaModelException
88: pop
89: StackMap locals:
StackMap stack:
aload 13
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
pop
90: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
aload 5
invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.contains:(Lorg/eclipse/jdt/core/IType;)Z
ifne 100
91: aload 5
invokeinterface org.eclipse.jdt.core.IType.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
astore 15
92: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
93: aload 5
invokeinterface org.eclipse.jdt.core.IType.isBinary:()Z
ifeq 96
94: aload 12
aload 5
invokeinterface org.eclipse.jdt.core.IType.getClassFile:()Lorg/eclipse/jdt/core/IOrdinaryClassFile;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
95: goto 97
96: StackMap locals:
StackMap stack:
aload 12
aload 5
invokeinterface org.eclipse.jdt.core.IType.getCompilationUnit:()Lorg/eclipse/jdt/core/ICompilationUnit;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
97: StackMap locals:
StackMap stack:
aload 0
aload 15
checkcast org.eclipse.jdt.internal.core.JavaProject
aload 12
aload 8
aload 2
aload 13
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.buildForProject:(Lorg/eclipse/jdt/internal/core/JavaProject;Ljava/util/ArrayList;[Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/util/HashSet;Lorg/eclipse/core/runtime/IProgressMonitor;)V
98: goto 100
StackMap locals:
StackMap stack: org.eclipse.jdt.core.JavaModelException
99: pop
100: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
aload 5
invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.contains:(Lorg/eclipse/jdt/core/IType;)Z
ifne 106
101: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
aload 5
invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.addRootClass:(Lorg/eclipse/jdt/core/IType;)V
end local 15 end local 14 end local 13 102: goto 106
StackMap locals: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder java.lang.String[] java.util.HashSet org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IType java.util.HashMap top org.eclipse.jdt.core.ICompilationUnit[] int org.eclipse.jdt.internal.core.Openable java.lang.String java.util.ArrayList
StackMap stack: java.lang.Throwable
103: astore 23
104: aload 3
invokestatic org.eclipse.core.runtime.SubMonitor.done:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
105: aload 23
athrow
106: StackMap locals:
StackMap stack:
aload 3
invokestatic org.eclipse.core.runtime.SubMonitor.done:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
107: return
end local 12 end local 11 end local 10 end local 9 end local 8 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 108 0 this Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder;
0 108 1 allPotentialSubTypes [Ljava/lang/String;
0 108 2 localTypes Ljava/util/HashSet;
0 108 3 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 108 4 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
2 108 5 focusType Lorg/eclipse/jdt/core/IType;
3 108 6 wcPaths Ljava/util/HashMap;
5 18 7 wcLength I
4 108 8 workingCopies [Lorg/eclipse/jdt/core/ICompilationUnit;
7 18 9 newPaths [Ljava/lang/String;
8 15 10 i I
10 13 11 workingCopy Lorg/eclipse/jdt/core/ICompilationUnit;
11 13 12 path Ljava/lang/String;
16 18 10 potentialSubtypesLength I
19 108 9 length I
20 108 10 focusCU Lorg/eclipse/jdt/internal/core/Openable;
21 108 11 focusPath Ljava/lang/String;
32 108 12 potentialSubtypes Ljava/util/ArrayList;
33 102 13 loopMonitor Lorg/eclipse/core/runtime/SubMonitor;
34 102 14 factory Lorg/eclipse/jdt/internal/core/util/HandleFactory;
35 102 15 currentProject Lorg/eclipse/jdt/core/IJavaProject;
36 79 16 i I
39 77 17 nextProject Lorg/eclipse/jdt/core/IJavaProject;
40 66 18 resourcePath Ljava/lang/String;
47 48 19 handle Lorg/eclipse/jdt/internal/core/Openable;
52 66 19 handle Lorg/eclipse/jdt/internal/core/Openable;
45 66 20 workingCopy Lorg/eclipse/jdt/core/ICompilationUnit;
57 66 21 project Lorg/eclipse/jdt/core/IJavaProject;
Exception table:
from to target type
39 41 67 Class org.eclipse.jdt.core.JavaModelException
44 53 67 Class org.eclipse.jdt.core.JavaModelException
56 66 67 Class org.eclipse.jdt.core.JavaModelException
39 41 71 any
44 53 71 any
56 68 71 any
80 87 88 Class org.eclipse.jdt.core.JavaModelException
91 98 99 Class org.eclipse.jdt.core.JavaModelException
32 103 103 any
MethodParameters:
Name Flags
allPotentialSubTypes
localTypes
monitor
protected org.eclipse.jdt.internal.compiler.env.ICompilationUnit createCompilationUnitFromPath(org.eclipse.jdt.internal.core.Openable, org.eclipse.core.resources.IFile, char[]);
descriptor: (Lorg/eclipse/jdt/internal/core/Openable;Lorg/eclipse/core/resources/IFile;[C)Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.createCompilationUnitFromPath:(Lorg/eclipse/jdt/internal/core/Openable;Lorg/eclipse/core/resources/IFile;[C)Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;
astore 4
start local 4 1: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.cuToHandle:Ljava/util/Map;
aload 4
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder;
0 3 1 handle Lorg/eclipse/jdt/internal/core/Openable;
0 3 2 file Lorg/eclipse/core/resources/IFile;
0 3 3 moduleName [C
1 3 4 unit Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;
MethodParameters:
Name Flags
handle
file
moduleName
protected org.eclipse.jdt.internal.compiler.env.IBinaryType createInfoFromClassFile(org.eclipse.jdt.internal.core.Openable, org.eclipse.core.resources.IResource);
descriptor: (Lorg/eclipse/jdt/internal/core/Openable;Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.eclipse.jdt.internal.core.Openable.getPath:()Lorg/eclipse/core/runtime/IPath;
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
astore 3
start local 3 1: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.binariesFromIndexMatches:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
astore 4
start local 4 2: aload 4
ifnull 5
3: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.infoToHandle:Ljava/util/Map;
aload 4
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 4
areturn
5: StackMap locals: java.lang.String org.eclipse.jdt.internal.compiler.env.IBinaryType
StackMap stack:
aload 0
aload 1
aload 2
invokespecial org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.createInfoFromClassFile:(Lorg/eclipse/jdt/internal/core/Openable;Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder;
0 6 1 classFile Lorg/eclipse/jdt/internal/core/Openable;
0 6 2 file Lorg/eclipse/core/resources/IResource;
1 6 3 documentPath Ljava/lang/String;
2 6 4 binaryType Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
MethodParameters:
Name Flags
classFile
file
protected org.eclipse.jdt.internal.compiler.env.IBinaryType createInfoFromClassFileInJar(org.eclipse.jdt.internal.core.Openable);
descriptor: (Lorg/eclipse/jdt/internal/core/Openable;)Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 1
checkcast org.eclipse.jdt.internal.core.ClassFile
invokevirtual org.eclipse.jdt.internal.core.ClassFile.getType:()Lorg/eclipse/jdt/core/IType;
bipush 36
invokeinterface org.eclipse.jdt.core.IType.getFullyQualifiedName:(C)Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
invokevirtual org.eclipse.jdt.internal.core.Openable.getPackageFragmentRoot:()Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;
astore 3
start local 3 2: aload 3
invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
astore 4
start local 4 3: aload 4
invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
ifnonnull 4
aload 4
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
goto 5
StackMap locals: java.lang.String org.eclipse.jdt.core.IPackageFragmentRoot org.eclipse.core.runtime.IPath
StackMap stack:
4: aload 4
invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
5: astore 5
start local 5 6: aload 3
invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getModuleDescription:()Lorg/eclipse/jdt/core/IModuleDescription;
astore 6
start local 6 7: aload 6
ifnull 13
8: aload 6
invokeinterface org.eclipse.jdt.core.IModuleDescription.getElementName:()Ljava/lang/String;
astore 8
start local 8 9: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "|"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "|"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
end local 8 start local 7 12: goto 14
end local 7 13: StackMap locals: java.lang.String org.eclipse.jdt.core.IModuleDescription
StackMap stack:
new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "|"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 14: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.binariesFromIndexMatches:Ljava/util/Map;
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
astore 8
start local 8 15: aload 8
ifnull 18
16: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.infoToHandle:Ljava/util/Map;
aload 8
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 8
areturn
18: StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryType
StackMap stack:
aload 0
aload 1
invokespecial org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.createInfoFromClassFileInJar:(Lorg/eclipse/jdt/internal/core/Openable;)Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder;
0 19 1 classFile Lorg/eclipse/jdt/internal/core/Openable;
1 19 2 filePath Ljava/lang/String;
2 19 3 root Lorg/eclipse/jdt/core/IPackageFragmentRoot;
3 19 4 path Lorg/eclipse/core/runtime/IPath;
6 19 5 rootPath Ljava/lang/String;
7 19 6 md Lorg/eclipse/jdt/core/IModuleDescription;
12 13 7 documentPath Ljava/lang/String;
14 19 7 documentPath Ljava/lang/String;
9 12 8 module Ljava/lang/String;
15 19 8 binaryType Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
MethodParameters:
Name Flags
classFile
private java.lang.String[] determinePossibleSubTypes(java.util.HashSet, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Ljava/util/HashSet;Lorg/eclipse/core/runtime/IProgressMonitor;)[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: new org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$1PathCollector
dup
aload 0
aload 1
invokespecial org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$1PathCollector.<init>:(Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder;Ljava/util/HashSet;)V
astore 3
start local 3 1: aload 0
invokevirtual org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.getType:()Lorg/eclipse/jdt/core/IType;
2: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.scope:Lorg/eclipse/jdt/core/search/IJavaSearchScope;
3: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.binariesFromIndexMatches:Ljava/util/Map;
4: aload 3
5: iconst_3
6: aload 2
7: invokestatic org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.searchAllPossibleSubTypes:(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
8: aload 3
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$1PathCollector.paths:Ljava/util/HashSet;
astore 4
start local 4 9: aload 4
invokevirtual java.util.HashSet.size:()I
istore 5
start local 5 10: iload 5
anewarray java.lang.String
astore 6
start local 6 11: iconst_0
istore 7
start local 7 12: aload 4
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 8
start local 8 13: goto 15
14: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder java.util.HashSet org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$1PathCollector java.util.HashSet int java.lang.String[] int java.util.Iterator
StackMap stack:
aload 6
iload 7
iinc 7 1
aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
aastore
15: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
end local 8 16: aload 6
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder;
0 17 1 localTypes Ljava/util/HashSet;
0 17 2 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 17 3 collector Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder$1PathCollector;
9 17 4 paths Ljava/util/HashSet;
10 17 5 length I
11 17 6 result [Ljava/lang/String;
12 17 7 count I
13 16 8 iter Ljava/util/Iterator;
MethodParameters:
Name Flags
localTypes final
monitor
public static void searchAllPossibleSubTypes(org.eclipse.jdt.core.IType, org.eclipse.jdt.core.search.IJavaSearchScope, java.util.Map, org.eclipse.jdt.internal.core.IPathRequestor, int, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (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
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.isEnabled:()Z
ifeq 9
1: aload 5
iconst_2
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 6
start local 6 2: aload 0
aload 1
aload 2
aload 3
iload 4
3: aload 6
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
4: invokestatic org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.newSearchAllPossibleSubTypes:(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
5: aload 0
aload 1
invokestatic org.eclipse.jdt.internal.core.search.UnindexedSearchScope.filterEntriesCoveredByTheNewIndex:(Lorg/eclipse/jdt/core/search/IJavaSearchScope;)Lorg/eclipse/jdt/core/search/IJavaSearchScope;
6: aload 2
aload 3
iload 4
aload 6
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
7: invokestatic 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
end local 6 8: goto 12
9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iload 4
10: aload 5
11: invokestatic 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
12: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 type Lorg/eclipse/jdt/core/IType;
0 13 1 scope Lorg/eclipse/jdt/core/search/IJavaSearchScope;
0 13 2 binariesFromIndexMatches Ljava/util/Map;
0 13 3 pathRequestor Lorg/eclipse/jdt/internal/core/IPathRequestor;
0 13 4 waitingPolicy I
0 13 5 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
2 8 6 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
MethodParameters:
Name Flags
type
scope
binariesFromIndexMatches final
pathRequestor final
waitingPolicy
monitor final
private static void newSearchAllPossibleSubTypes(org.eclipse.jdt.core.IType, org.eclipse.jdt.core.search.IJavaSearchScope, java.util.Map, org.eclipse.jdt.internal.core.IPathRequestor, int, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (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
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=24, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
iconst_2
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 6
start local 6 1: invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.getIndex:()Lorg/eclipse/jdt/internal/core/nd/java/JavaIndex;
astore 7
start local 7 2: invokestatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.getInstance:()Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
iload 4
aload 6
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.waitForIndex:(ILorg/eclipse/core/runtime/IProgressMonitor;)V
3: aload 7
invokevirtual org.eclipse.jdt.internal.core.nd.java.JavaIndex.getNd:()Lorg/eclipse/jdt/internal/core/nd/Nd;
astore 8
start local 8 4: aload 0
invokeinterface org.eclipse.jdt.core.IType.getFullyQualifiedName:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
invokestatic org.eclipse.jdt.internal.core.nd.java.JavaNames.fullyQualifiedNameToFieldDescriptor:([C)[C
astore 9
start local 9 5: invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
astore 10
start local 10 6: aconst_null
astore 11
aconst_null
astore 12
7: aload 8
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireReadLock:()Lorg/eclipse/jdt/internal/core/nd/IReader;
astore 13
start local 13 8: aload 7
aload 9
invokevirtual org.eclipse.jdt.internal.core.nd.java.JavaIndex.findType:([C)Lorg/eclipse/jdt/internal/core/nd/java/NdTypeId;
astore 14
start local 14 9: aload 14
ifnonnull 12
10: aload 13
ifnull 11
aload 13
invokeinterface org.eclipse.jdt.internal.core.nd.IReader.close:()V
11: StackMap locals: org.eclipse.jdt.core.IType org.eclipse.jdt.core.search.IJavaSearchScope java.util.Map org.eclipse.jdt.internal.core.IPathRequestor int org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex org.eclipse.jdt.internal.core.nd.Nd char[] org.eclipse.core.resources.IWorkspaceRoot java.lang.Throwable java.lang.Throwable org.eclipse.jdt.internal.core.nd.IReader org.eclipse.jdt.internal.core.nd.java.NdTypeId
StackMap stack:
return
12: StackMap locals:
StackMap stack:
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 15
start local 15 13: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 16
start local 16 14: aload 15
aload 14
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdTypeId.getTypes:()Ljava/util/List;
invokevirtual java.util.ArrayDeque.addAll:(Ljava/util/Collection;)Z
pop
15: aload 16
aload 15
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
16: goto 36
17: StackMap locals: java.util.ArrayDeque java.util.Set
StackMap stack:
aload 15
invokevirtual java.util.ArrayDeque.removeFirst:()Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.nd.java.NdType
astore 17
start local 17 18: aload 17
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdType.getTypeId:()Lorg/eclipse/jdt/internal/core/nd/java/NdTypeId;
astore 18
start local 18 19: new java.lang.String
dup
aload 17
aload 10
invokestatic org.eclipse.jdt.internal.core.nd.java.JavaNames.getIndexPathFor:(Lorg/eclipse/jdt/internal/core/nd/java/NdType;Lorg/eclipse/core/resources/IWorkspaceRoot;)[C
invokespecial java.lang.String.<init>:([C)V
astore 19
start local 19 20: aload 1
aload 19
invokeinterface org.eclipse.jdt.core.search.IJavaSearchScope.encloses:(Ljava/lang/String;)Z
ifne 22
21: goto 36
22: StackMap locals: org.eclipse.jdt.internal.core.nd.java.NdType org.eclipse.jdt.internal.core.nd.java.NdTypeId java.lang.String
StackMap stack:
aload 6
aload 15
invokevirtual java.util.ArrayDeque.size:()I
sipush 3000
invokestatic java.lang.Math.max:(II)I
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
pop
23: aload 17
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdType.isLocal:()Z
ifne 24
aload 17
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdType.isAnonymous:()Z
ifne 24
iconst_0
goto 25
StackMap locals:
StackMap stack:
24: iconst_1
StackMap locals:
StackMap stack: int
25: istore 20
start local 20 26: aload 3
aload 19
iload 20
invokeinterface org.eclipse.jdt.internal.core.IPathRequestor.acceptPath:(Ljava/lang/String;Z)V
27: aload 2
aload 19
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType
astore 21
start local 21 28: aload 21
ifnonnull 31
29: aload 17
invokestatic org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.createBinaryTypeFrom:(Lorg/eclipse/jdt/internal/core/nd/java/NdType;)Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBinaryType;
astore 21
30: aload 2
aload 19
aload 21
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
31: StackMap locals: int org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType
StackMap stack:
aload 18
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdTypeId.getSubTypes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 23
goto 35
StackMap locals: org.eclipse.jdt.core.IType org.eclipse.jdt.core.search.IJavaSearchScope java.util.Map org.eclipse.jdt.internal.core.IPathRequestor int org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex org.eclipse.jdt.internal.core.nd.Nd char[] org.eclipse.core.resources.IWorkspaceRoot java.lang.Throwable java.lang.Throwable org.eclipse.jdt.internal.core.nd.IReader org.eclipse.jdt.internal.core.nd.java.NdTypeId java.util.ArrayDeque java.util.Set org.eclipse.jdt.internal.core.nd.java.NdType org.eclipse.jdt.internal.core.nd.java.NdTypeId java.lang.String int org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType top java.util.Iterator
StackMap stack:
32: aload 23
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.nd.java.NdType
astore 22
start local 22 33: aload 16
aload 22
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 35
34: aload 15
aload 22
invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
pop
end local 22 35: StackMap locals:
StackMap stack:
aload 23
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
end local 21 end local 20 end local 19 end local 18 end local 17 36: StackMap locals: org.eclipse.jdt.core.IType org.eclipse.jdt.core.search.IJavaSearchScope java.util.Map org.eclipse.jdt.internal.core.IPathRequestor int org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex org.eclipse.jdt.internal.core.nd.Nd char[] org.eclipse.core.resources.IWorkspaceRoot java.lang.Throwable java.lang.Throwable org.eclipse.jdt.internal.core.nd.IReader org.eclipse.jdt.internal.core.nd.java.NdTypeId java.util.ArrayDeque java.util.Set
StackMap stack:
aload 15
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ifeq 17
end local 16 end local 15 end local 14 37: aload 13
ifnull 43
aload 13
invokeinterface org.eclipse.jdt.internal.core.nd.IReader.close:()V
goto 43
StackMap locals: org.eclipse.jdt.core.IType org.eclipse.jdt.core.search.IJavaSearchScope java.util.Map org.eclipse.jdt.internal.core.IPathRequestor int org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex org.eclipse.jdt.internal.core.nd.Nd char[] org.eclipse.core.resources.IWorkspaceRoot java.lang.Throwable java.lang.Throwable org.eclipse.jdt.internal.core.nd.IReader
StackMap stack: java.lang.Throwable
38: astore 11
aload 13
ifnull 39
aload 13
invokeinterface org.eclipse.jdt.internal.core.nd.IReader.close:()V
end local 13 StackMap locals:
StackMap stack:
39: aload 11
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
40: astore 12
aload 11
ifnonnull 41
aload 12
astore 11
goto 42
StackMap locals:
StackMap stack:
41: aload 11
aload 12
if_acmpeq 42
aload 11
aload 12
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
42: aload 11
athrow
43: StackMap locals:
StackMap stack:
return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 type Lorg/eclipse/jdt/core/IType;
0 44 1 scope2 Lorg/eclipse/jdt/core/search/IJavaSearchScope;
0 44 2 binariesFromIndexMatches2 Ljava/util/Map;
0 44 3 pathRequestor Lorg/eclipse/jdt/internal/core/IPathRequestor;
0 44 4 waitingPolicy I
0 44 5 progressMonitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 44 6 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
2 44 7 index Lorg/eclipse/jdt/internal/core/nd/java/JavaIndex;
4 44 8 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
5 44 9 fieldDefinition [C
6 44 10 root Lorg/eclipse/core/resources/IWorkspaceRoot;
8 39 13 reader Lorg/eclipse/jdt/internal/core/nd/IReader;
9 37 14 foundType Lorg/eclipse/jdt/internal/core/nd/java/NdTypeId;
13 37 15 typesToVisit Ljava/util/ArrayDeque<Lorg/eclipse/jdt/internal/core/nd/java/NdType;>;
14 37 16 discoveredTypes Ljava/util/Set<Lorg/eclipse/jdt/internal/core/nd/java/NdType;>;
18 36 17 nextType Lorg/eclipse/jdt/internal/core/nd/java/NdType;
19 36 18 typeId Lorg/eclipse/jdt/internal/core/nd/java/NdTypeId;
20 36 19 typePath Ljava/lang/String;
26 36 20 isLocalClass Z
28 36 21 binaryType Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBinaryType;
33 35 22 subType Lorg/eclipse/jdt/internal/core/nd/java/NdType;
Exception table:
from to target type
8 10 38 any
12 37 38 any
7 11 40 any
12 40 40 any
MethodParameters:
Name Flags
type
scope2
binariesFromIndexMatches2
pathRequestor
waitingPolicy
progressMonitor
private static org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType createBinaryTypeFrom(org.eclipse.jdt.internal.core.nd.java.NdType);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/java/NdType;)Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBinaryType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=9, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdType.getDeclaringType:()Lorg/eclipse/jdt/internal/core/nd/java/NdTypeId;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdTypeSignature.getRawType:()Lorg/eclipse/jdt/internal/core/nd/java/NdTypeId;
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdTypeId.getBinaryName:()[C
astore 1
4: StackMap locals: char[] org.eclipse.jdt.internal.core.nd.java.NdTypeSignature
StackMap stack:
aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdType.getTypeParameterSignatures:()[[C
astore 3
start local 3 5: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdType.getTypeId:()Lorg/eclipse/jdt/internal/core/nd/java/NdTypeId;
astore 4
start local 4 6: new org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType
dup
aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdType.getModifiers:()I
aload 4
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdTypeId.getBinaryName:()[C
7: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdType.getSourceName:()[C
aload 1
aload 3
arraylength
ifne 8
aconst_null
goto 9
StackMap locals: org.eclipse.jdt.internal.core.nd.java.NdType char[] org.eclipse.jdt.internal.core.nd.java.NdTypeSignature char[][] org.eclipse.jdt.internal.core.nd.java.NdTypeId
StackMap stack: new 6 new 6 int char[] char[] char[]
8: aload 3
9: StackMap locals: org.eclipse.jdt.internal.core.nd.java.NdType char[] org.eclipse.jdt.internal.core.nd.java.NdTypeSignature char[][] org.eclipse.jdt.internal.core.nd.java.NdTypeId
StackMap stack: new 6 new 6 int char[] char[] char[] char[][]
invokespecial org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType.<init>:(I[C[C[C[[C)V
astore 5
start local 5 10: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdType.getSuperclass:()Lorg/eclipse/jdt/internal/core/nd/java/NdTypeSignature;
astore 6
start local 6 11: aload 6
ifnull 13
12: aload 5
aload 6
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdTypeSignature.getRawType:()Lorg/eclipse/jdt/internal/core/nd/java/NdTypeId;
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdTypeId.getBinaryName:()[C
invokevirtual org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType.recordSuperclass:([C)V
13: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType org.eclipse.jdt.internal.core.nd.java.NdTypeSignature
StackMap stack:
aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdType.getInterfaces:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 16
StackMap locals: org.eclipse.jdt.internal.core.nd.java.NdType char[] org.eclipse.jdt.internal.core.nd.java.NdTypeSignature char[][] org.eclipse.jdt.internal.core.nd.java.NdTypeId org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType org.eclipse.jdt.internal.core.nd.java.NdTypeSignature top java.util.Iterator
StackMap stack:
14: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.nd.java.NdTypeInterface
astore 7
start local 7 15: aload 5
aload 7
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdTypeInterface.getInterface:()Lorg/eclipse/jdt/internal/core/nd/java/NdTypeSignature;
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdTypeSignature.getRawType:()Lorg/eclipse/jdt/internal/core/nd/java/NdTypeId;
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdTypeId.getBinaryName:()[C
invokevirtual org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType.recordInterface:([C)V
end local 7 16: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
17: aload 5
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 type Lorg/eclipse/jdt/internal/core/nd/java/NdType;
1 18 1 enclosingTypeName [C
2 18 2 enclosingType Lorg/eclipse/jdt/internal/core/nd/java/NdTypeSignature;
5 18 3 typeParameters [[C
6 18 4 typeId Lorg/eclipse/jdt/internal/core/nd/java/NdTypeId;
10 18 5 result Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBinaryType;
11 18 6 superClass Lorg/eclipse/jdt/internal/core/nd/java/NdTypeSignature;
15 16 7 interf Lorg/eclipse/jdt/internal/core/nd/java/NdTypeInterface;
MethodParameters:
Name Flags
type
private static void legacySearchAllPossibleSubTypes(org.eclipse.jdt.core.IType, org.eclipse.jdt.core.search.IJavaSearchScope, java.util.Map, org.eclipse.jdt.internal.core.IPathRequestor, int, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (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
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
bipush 100
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 6
start local 6 1: new org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$Queue
dup
invokespecial org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$Queue.<init>:()V
astore 7
start local 7 2: new org.eclipse.jdt.internal.compiler.util.HashtableOfObject
dup
iconst_5
invokespecial org.eclipse.jdt.internal.compiler.util.HashtableOfObject.<init>:(I)V
astore 8
start local 8 3: invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getIndexManager:()Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
astore 9
start local 9 4: new org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2
dup
aload 3
aload 2
aload 8
aload 7
invokespecial org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2.<init>:(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
astore 10
start local 10 5: aload 0
invokeinterface org.eclipse.jdt.core.IType.isClass:()Z
ifeq 6
iconst_2
goto 7
StackMap locals: org.eclipse.jdt.core.IType org.eclipse.jdt.core.search.IJavaSearchScope java.util.Map org.eclipse.jdt.internal.core.IPathRequestor int org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$Queue org.eclipse.jdt.internal.compiler.util.HashtableOfObject org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.jdt.internal.core.search.IndexQueryRequestor
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 11
start local 11 8: goto 11
end local 11 StackMap locals:
StackMap stack: org.eclipse.jdt.core.JavaModelException
9: pop
10: iconst_0
istore 11
start local 11 11: StackMap locals: int
StackMap stack:
new org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern
dup
aconst_null
aconst_null
iload 11
bipush 8
invokespecial org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.<init>:([C[CII)V
12: astore 12
start local 12 13: aload 12
aload 0
invokestatic org.eclipse.jdt.internal.core.search.matching.MatchLocator.setFocus:(Lorg/eclipse/jdt/core/search/SearchPattern;Lorg/eclipse/jdt/core/IJavaElement;)V
14: new org.eclipse.jdt.internal.core.search.SubTypeSearchJob
dup
15: aload 12
16: new org.eclipse.jdt.internal.core.search.JavaSearchParticipant
dup
invokespecial org.eclipse.jdt.internal.core.search.JavaSearchParticipant.<init>:()V
17: aload 1
18: aload 10
19: invokespecial org.eclipse.jdt.internal.core.search.SubTypeSearchJob.<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
astore 13
start local 13 20: aload 7
aload 0
invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
invokevirtual org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$Queue.add:([C)V
21: goto 29
22: StackMap locals: org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern org.eclipse.jdt.internal.core.search.SubTypeSearchJob
StackMap stack:
aload 6
aload 7
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$Queue.end:I
aload 7
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$Queue.start:I
isub
iconst_1
iadd
bipush 100
invokestatic java.lang.Math.max:(II)I
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
pop
23: aload 7
invokevirtual org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$Queue.retrieve:()[C
astore 14
start local 14 24: aload 14
getstatic org.eclipse.jdt.internal.core.search.indexing.IIndexConstants.OBJECT:[C
invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
ifeq 26
25: aconst_null
astore 14
26: StackMap locals: char[]
StackMap stack:
aload 12
aload 14
putfield org.eclipse.jdt.internal.core.search.matching.SuperTypeReferencePattern.superSimpleName:[C
27: aload 9
aload 13
iload 4
aload 6
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
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
28: aload 14
ifnonnull 29
goto 34
end local 14 29: StackMap locals:
StackMap stack:
aload 7
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$Queue.start:I
aload 7
getfield org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$Queue.end:I
if_icmple 22
30: goto 34
StackMap locals:
StackMap stack: java.lang.Throwable
31: astore 15
32: aload 13
invokevirtual org.eclipse.jdt.internal.core.search.SubTypeSearchJob.finished:()V
33: aload 15
athrow
34: StackMap locals:
StackMap stack:
aload 13
invokevirtual org.eclipse.jdt.internal.core.search.SubTypeSearchJob.finished:()V
35: return
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 type Lorg/eclipse/jdt/core/IType;
0 36 1 scope Lorg/eclipse/jdt/core/search/IJavaSearchScope;
0 36 2 binariesFromIndexMatches Ljava/util/Map;
0 36 3 pathRequestor Lorg/eclipse/jdt/internal/core/IPathRequestor;
0 36 4 waitingPolicy I
0 36 5 progressMonitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 36 6 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
2 36 7 queue Lorg/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder$Queue;
3 36 8 foundSuperNames Lorg/eclipse/jdt/internal/compiler/util/HashtableOfObject;
4 36 9 indexManager Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
5 36 10 searchRequestor Lorg/eclipse/jdt/internal/core/search/IndexQueryRequestor;
8 9 11 superRefKind I
11 36 11 superRefKind I
13 36 12 pattern Lorg/eclipse/jdt/internal/core/search/matching/SuperTypeReferencePattern;
20 36 13 job Lorg/eclipse/jdt/internal/core/search/SubTypeSearchJob;
24 29 14 currentTypeName [C
Exception table:
from to target type
5 8 9 Class org.eclipse.jdt.core.JavaModelException
21 31 31 any
MethodParameters:
Name Flags
type
scope
binariesFromIndexMatches final
pathRequestor final
waitingPolicy
progressMonitor final
}
SourceFile: "IndexBasedHierarchyBuilder.java"
NestMembers:
org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$1 org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$1PathCollector org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$2 org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$Queue
InnerClasses:
org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$1
PathCollector = org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder$1PathCollector
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