public abstract class org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder
super_class: java.lang.Object
{
protected org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy hierarchy;
descriptor: Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
flags: (0x0004) ACC_PROTECTED
protected org.eclipse.jdt.internal.core.NameLookup nameLookup;
descriptor: Lorg/eclipse/jdt/internal/core/NameLookup;
flags: (0x0004) ACC_PROTECTED
protected org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver hierarchyResolver;
descriptor: Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyResolver;
flags: (0x0004) ACC_PROTECTED
protected java.util.Map infoToHandle;
descriptor: Ljava/util/Map;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String focusQualifiedName;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
public void <init>(org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy);
descriptor: (Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
2: aload 1
invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.javaProject:()Lorg/eclipse/jdt/core/IJavaProject;
checkcast org.eclipse.jdt.internal.core.JavaProject
astore 2
start local 2 3: aload 1
invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.getType:()Lorg/eclipse/jdt/core/IType;
astore 3
start local 3 4: aload 3
ifnonnull 5
aconst_null
goto 6
StackMap locals: org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IType
StackMap stack:
5: aload 3
invokeinterface org.eclipse.jdt.core.IType.getCompilationUnit:()Lorg/eclipse/jdt/core/ICompilationUnit;
StackMap locals:
StackMap stack: org.eclipse.jdt.core.ICompilationUnit
6: astore 4
start local 4 7: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
getfield org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.workingCopies:[Lorg/eclipse/jdt/core/ICompilationUnit;
astore 5
start local 5 8: aload 4
ifnull 19
9: aload 5
ifnonnull 10
iconst_0
goto 11
StackMap locals: org.eclipse.jdt.core.ICompilationUnit org.eclipse.jdt.core.ICompilationUnit[]
StackMap stack:
10: aload 5
arraylength
StackMap locals:
StackMap stack: int
11: istore 7
start local 7 12: iload 7
ifne 15
13: iconst_1
anewarray org.eclipse.jdt.core.ICompilationUnit
dup
iconst_0
aload 4
aastore
astore 6
start local 6 14: goto 20
end local 6 15: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IType org.eclipse.jdt.core.ICompilationUnit org.eclipse.jdt.core.ICompilationUnit[] top int
StackMap stack:
iload 7
iconst_1
iadd
anewarray org.eclipse.jdt.core.ICompilationUnit
astore 6
start local 6 16: aload 6
iconst_0
aload 4
aastore
17: aload 5
iconst_0
aload 6
iconst_1
iload 7
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 7 18: goto 20
end local 6 19: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IType org.eclipse.jdt.core.ICompilationUnit org.eclipse.jdt.core.ICompilationUnit[]
StackMap stack:
aload 5
astore 6
start local 6 20: StackMap locals: org.eclipse.jdt.core.ICompilationUnit[]
StackMap stack:
aload 2
ifnull 31
21: aload 2
aload 6
invokevirtual org.eclipse.jdt.internal.core.JavaProject.newSearchableNameEnvironment:([Lorg/eclipse/jdt/core/ICompilationUnit;)Lorg/eclipse/jdt/internal/core/SearchableEnvironment;
astore 7
start local 7 22: aload 0
aload 7
getfield org.eclipse.jdt.internal.core.SearchableEnvironment.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
putfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
23: aload 0
24: new org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver
dup
25: aload 7
26: aload 2
iconst_1
invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOptions:(Z)Ljava/util/Map;
27: aload 0
28: new org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory
dup
invokespecial org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory.<init>:()V
29: 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
30: putfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.hierarchyResolver:Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyResolver;
end local 7 31: StackMap locals:
StackMap stack:
aload 0
new java.util.HashMap
dup
iconst_5
invokespecial java.util.HashMap.<init>:(I)V
putfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.infoToHandle:Ljava/util/Map;
32: aload 0
aload 3
ifnonnull 33
aconst_null
goto 34
StackMap locals:
StackMap stack: org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder
33: aload 3
invokeinterface org.eclipse.jdt.core.IType.getFullyQualifiedName:()Ljava/lang/String;
StackMap locals: org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IType org.eclipse.jdt.core.ICompilationUnit org.eclipse.jdt.core.ICompilationUnit[] org.eclipse.jdt.core.ICompilationUnit[]
StackMap stack: org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder java.lang.String
34: putfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.focusQualifiedName:Ljava/lang/String;
35: return
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 this Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBuilder;
0 36 1 hierarchy Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
3 36 2 project Lorg/eclipse/jdt/internal/core/JavaProject;
4 36 3 focusType Lorg/eclipse/jdt/core/IType;
7 36 4 unitToLookInside Lorg/eclipse/jdt/core/ICompilationUnit;
8 36 5 workingCopies [Lorg/eclipse/jdt/core/ICompilationUnit;
14 15 6 unitsToLookInside [Lorg/eclipse/jdt/core/ICompilationUnit;
16 19 6 unitsToLookInside [Lorg/eclipse/jdt/core/ICompilationUnit;
20 36 6 unitsToLookInside [Lorg/eclipse/jdt/core/ICompilationUnit;
12 18 7 wcLength I
22 31 7 searchableEnvironment Lorg/eclipse/jdt/internal/core/SearchableEnvironment;
Exceptions:
throws org.eclipse.jdt.core.JavaModelException
MethodParameters:
Name Flags
hierarchy
public abstract void build(boolean);
descriptor: (Z)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws org.eclipse.jdt.core.JavaModelException, org.eclipse.core.runtime.CoreException
MethodParameters:
Name Flags
computeSubtypes
protected void buildSupertypes();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.getType:()Lorg/eclipse/jdt/core/IType;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: return
3: StackMap locals: org.eclipse.jdt.core.IType
StackMap stack:
aload 1
checkcast org.eclipse.jdt.internal.core.JavaElement
invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementInfo:()Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.compiler.env.IGenericType
astore 2
start local 2 4: goto 7
end local 2 StackMap locals:
StackMap stack: org.eclipse.jdt.core.JavaModelException
5: pop
6: return
start local 2 7: StackMap locals: org.eclipse.jdt.internal.compiler.env.IGenericType
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.hierarchyResolver:Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyResolver;
aload 2
invokevirtual org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver.resolve:(Lorg/eclipse/jdt/internal/compiler/env/IGenericType;)V
8: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
aload 1
invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.contains:(Lorg/eclipse/jdt/core/IType;)Z
ifne 10
9: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
aload 1
invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.addRootClass:(Lorg/eclipse/jdt/core/IType;)V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBuilder;
1 11 1 focusType Lorg/eclipse/jdt/core/IType;
4 5 2 type Lorg/eclipse/jdt/internal/compiler/env/IGenericType;
7 11 2 type Lorg/eclipse/jdt/internal/compiler/env/IGenericType;
Exception table:
from to target type
3 4 5 Class org.eclipse.jdt.core.JavaModelException
public void connect(org.eclipse.jdt.internal.compiler.env.IGenericType, org.eclipse.jdt.core.IType, org.eclipse.jdt.core.IType, org.eclipse.jdt.core.IType[]);
descriptor: (Lorg/eclipse/jdt/internal/compiler/env/IGenericType;Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/IType;[Lorg/eclipse/jdt/core/IType;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
getstatic org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.DEBUG:Z
ifeq 28
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
4: new java.lang.StringBuilder
dup
ldc "Connecting: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
checkcast org.eclipse.jdt.internal.core.JavaElement
invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringWithAncestors:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: getstatic java.lang.System.out:Ljava/io/PrintStream;
7: new java.lang.StringBuilder
dup
ldc " to superclass: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 3
ifnonnull 10
9: ldc "<None>"
goto 11
10: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder org.eclipse.jdt.internal.compiler.env.IGenericType org.eclipse.jdt.core.IType org.eclipse.jdt.core.IType org.eclipse.jdt.core.IType[]
StackMap stack: java.io.PrintStream java.lang.StringBuilder
aload 3
checkcast org.eclipse.jdt.internal.core.JavaElement
invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringWithAncestors:()Ljava/lang/String;
11: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder org.eclipse.jdt.internal.compiler.env.IGenericType org.eclipse.jdt.core.IType org.eclipse.jdt.core.IType org.eclipse.jdt.core.IType[]
StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " and superinterfaces:"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
15: aload 4
ifnull 16
aload 4
arraylength
ifne 18
16: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " <None>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: goto 28
18: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
19: iconst_0
istore 5
start local 5 20: aload 4
arraylength
istore 6
start local 6 21: goto 27
22: StackMap locals: int int
StackMap stack:
aload 4
iload 5
aaload
ifnonnull 23
goto 26
23: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
24: new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
iload 5
aaload
checkcast org.eclipse.jdt.internal.core.JavaElement
invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringWithAncestors:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
26: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
27: iload 5
iload 6
if_icmplt 22
end local 6 end local 5 28: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.eclipse.jdt.internal.compiler.env.IGenericType.getModifiers:()I
invokestatic org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.kind:(I)I
tableswitch { // 1 - 4
1: 29
2: 34
3: 29
4: 34
default: 36
}
29: StackMap locals:
StackMap stack:
aload 3
ifnonnull 32
30: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
aload 2
invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.addRootClass:(Lorg/eclipse/jdt/core/IType;)V
31: goto 36
32: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
aload 2
aload 3
invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.cacheSuperclass:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/IType;)V
33: goto 36
34: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
getfield org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.typeToSuperInterfaces:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 36
35: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
aload 2
invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.addInterface:(Lorg/eclipse/jdt/core/IType;)V
36: StackMap locals:
StackMap stack:
aload 4
ifnonnull 38
37: getstatic org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.NO_TYPE:[Lorg/eclipse/jdt/core/IType;
astore 4
38: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
aload 2
aload 4
invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.cacheSuperInterfaces:(Lorg/eclipse/jdt/core/IType;[Lorg/eclipse/jdt/core/IType;)V
39: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
aload 2
aload 1
invokeinterface org.eclipse.jdt.internal.compiler.env.IGenericType.getModifiers:()I
invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.cacheFlags:(Lorg/eclipse/jdt/core/IType;I)V
40: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBuilder;
0 41 1 type Lorg/eclipse/jdt/internal/compiler/env/IGenericType;
0 41 2 typeHandle Lorg/eclipse/jdt/core/IType;
0 41 3 superclassHandle Lorg/eclipse/jdt/core/IType;
0 41 4 superinterfaceHandles [Lorg/eclipse/jdt/core/IType;
20 28 5 i I
21 28 6 length I
MethodParameters:
Name Flags
type
typeHandle
superclassHandle
superinterfaceHandles
protected org.eclipse.jdt.core.IType getHandle(org.eclipse.jdt.internal.compiler.env.IGenericType, org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding);
descriptor: (Lorg/eclipse/jdt/internal/compiler/env/IGenericType;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Lorg/eclipse/jdt/core/IType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.eclipse.jdt.internal.core.hierarchy.HierarchyType
ifeq 9
3: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.infoToHandle:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.core.IType
astore 3
start local 3 4: aload 3
ifnonnull 8
5: aload 1
checkcast org.eclipse.jdt.internal.core.hierarchy.HierarchyType
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyType.typeHandle:Lorg/eclipse/jdt/core/IType;
astore 3
6: aload 3
checkcast org.eclipse.jdt.internal.core.JavaElement
aload 2
invokevirtual org.eclipse.jdt.internal.core.JavaElement.resolved:(Lorg/eclipse/jdt/internal/compiler/lookup/Binding;)Lorg/eclipse/jdt/internal/core/JavaElement;
checkcast org.eclipse.jdt.core.IType
astore 3
7: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.infoToHandle:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: StackMap locals: org.eclipse.jdt.core.IType
StackMap stack:
aload 3
areturn
end local 3 9: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.eclipse.jdt.internal.compiler.env.IGenericType.isBinaryType:()Z
ifeq 18
10: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.infoToHandle:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.ClassFile
astore 3
start local 3 11: aload 3
ifnonnull 17
12: aload 0
aload 1
checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
invokevirtual org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.lookupBinaryHandle:(Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Lorg/eclipse/jdt/core/IType;
astore 4
start local 4 13: aload 4
ifnonnull 15
14: aconst_null
areturn
15: StackMap locals: org.eclipse.jdt.internal.core.ClassFile org.eclipse.jdt.core.IType
StackMap stack:
aload 4
invokeinterface org.eclipse.jdt.core.IType.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
checkcast org.eclipse.jdt.internal.core.ClassFile
astore 3
16: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.infoToHandle:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 17: StackMap locals:
StackMap stack:
new org.eclipse.jdt.internal.core.ResolvedBinaryType
dup
aload 3
aload 3
invokevirtual org.eclipse.jdt.internal.core.ClassFile.getTypeName:()Ljava/lang/String;
new java.lang.String
dup
aload 2
invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.computeUniqueKey:()[C
invokespecial java.lang.String.<init>:([C)V
invokespecial org.eclipse.jdt.internal.core.ResolvedBinaryType.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 3 18: StackMap locals:
StackMap stack:
aload 1
instanceof org.eclipse.jdt.internal.core.SourceTypeElementInfo
ifeq 21
19: aload 1
checkcast org.eclipse.jdt.internal.core.SourceTypeElementInfo
invokevirtual org.eclipse.jdt.internal.core.SourceTypeElementInfo.getHandle:()Lorg/eclipse/jdt/core/IType;
astore 3
start local 3 20: aload 3
checkcast org.eclipse.jdt.internal.core.JavaElement
aload 2
invokevirtual org.eclipse.jdt.internal.core.JavaElement.resolved:(Lorg/eclipse/jdt/internal/compiler/lookup/Binding;)Lorg/eclipse/jdt/internal/core/JavaElement;
checkcast org.eclipse.jdt.core.IType
areturn
end local 3 21: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBuilder;
0 22 1 genericType Lorg/eclipse/jdt/internal/compiler/env/IGenericType;
0 22 2 binding Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
4 9 3 handle Lorg/eclipse/jdt/core/IType;
11 18 3 classFile Lorg/eclipse/jdt/internal/core/ClassFile;
13 17 4 handle Lorg/eclipse/jdt/core/IType;
20 21 3 handle Lorg/eclipse/jdt/core/IType;
MethodParameters:
Name Flags
genericType
binding
protected org.eclipse.jdt.core.IType getType();
descriptor: ()Lorg/eclipse/jdt/core/IType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.getType:()Lorg/eclipse/jdt/core/IType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBuilder;
protected org.eclipse.jdt.core.IType lookupBinaryHandle(org.eclipse.jdt.internal.compiler.env.IBinaryType);
descriptor: (Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Lorg/eclipse/jdt/core/IType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getModifiers:()I
invokestatic org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.kind:(I)I
tableswitch { // 1 - 3
1: 1
2: 3
3: 5
default: 7
}
1: StackMap locals:
StackMap stack:
iconst_2
istore 2
start local 2 2: goto 8
end local 2 3: StackMap locals:
StackMap stack:
iconst_4
istore 2
start local 2 4: goto 8
end local 2 5: StackMap locals:
StackMap stack:
bipush 8
istore 2
start local 2 6: goto 8
end local 2 7: StackMap locals:
StackMap stack:
bipush 16
istore 2
start local 2 8: StackMap locals: int
StackMap stack:
aload 1
invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getName:()[C
astore 4
start local 4 9: new java.lang.String
dup
aload 4
invokestatic org.eclipse.jdt.internal.core.ClassFile.translatedName:([C)[C
invokespecial java.lang.String.<init>:([C)V
astore 3
start local 3 10: aload 3
aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.focusQualifiedName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
aload 0
invokevirtual org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.getType:()Lorg/eclipse/jdt/core/IType;
areturn
11: StackMap locals: java.lang.String char[]
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
aload 3
12: iconst_0
13: iload 2
14: iconst_1
15: iconst_0
16: iconst_0
17: aconst_null
18: invokevirtual org.eclipse.jdt.internal.core.NameLookup.findType:(Ljava/lang/String;ZIZZZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/core/NameLookup$Answer;
astore 5
start local 5 19: aload 5
ifnull 20
aload 5
getfield org.eclipse.jdt.internal.core.NameLookup$Answer.type:Lorg/eclipse/jdt/core/IType;
ifnull 20
aload 5
getfield org.eclipse.jdt.internal.core.NameLookup$Answer.type:Lorg/eclipse/jdt/core/IType;
invokeinterface org.eclipse.jdt.core.IType.isBinary:()Z
ifne 21
StackMap locals: org.eclipse.jdt.internal.core.NameLookup$Answer
StackMap stack:
20: aconst_null
goto 22
StackMap locals:
StackMap stack:
21: aload 5
getfield org.eclipse.jdt.internal.core.NameLookup$Answer.type:Lorg/eclipse/jdt/core/IType;
StackMap locals:
StackMap stack: org.eclipse.jdt.core.IType
22: areturn
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 23 0 this Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBuilder;
0 23 1 typeInfo Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
2 3 2 flag I
4 5 2 flag I
6 7 2 flag I
8 23 2 flag I
10 23 3 qualifiedName Ljava/lang/String;
9 23 4 bName [C
19 23 5 answer Lorg/eclipse/jdt/internal/core/NameLookup$Answer;
MethodParameters:
Name Flags
typeInfo
protected void worked(org.eclipse.core.runtime.IProgressMonitor, int);
descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 4
1: aload 1
invokeinterface org.eclipse.core.runtime.IProgressMonitor.isCanceled:()Z
ifeq 3
2: new org.eclipse.core.runtime.OperationCanceledException
dup
invokespecial org.eclipse.core.runtime.OperationCanceledException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 1
iload 2
invokeinterface org.eclipse.core.runtime.IProgressMonitor.worked:(I)V
4: StackMap locals:
StackMap stack:
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/HierarchyBuilder;
0 5 1 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
0 5 2 work I
MethodParameters:
Name Flags
monitor
work
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=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.eclipse.jdt.internal.core.Openable.getElementName:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
astore 4
start local 4 1: new org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder$1
dup
aload 0
aload 2
aload 3
aload 4
invokespecial org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder$1.<init>:(Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBuilder;Lorg/eclipse/core/resources/IFile;[C[C)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBuilder;
0 2 1 handle Lorg/eclipse/jdt/internal/core/Openable;
0 2 2 file Lorg/eclipse/core/resources/IFile;
0 2 3 moduleName [C
1 2 4 elementName [C
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: aconst_null
astore 3
start local 3 1: aload 2
invokestatic org.eclipse.jdt.internal.core.util.Util.newClassFileReader:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
astore 3
2: goto 7
StackMap locals: org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder org.eclipse.jdt.internal.core.Openable org.eclipse.core.resources.IResource org.eclipse.jdt.internal.compiler.env.IBinaryType
StackMap stack: java.lang.Exception
3: astore 4
start local 4 4: getstatic org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.DEBUG:Z
ifeq 6
5: aload 4
invokevirtual java.lang.Exception.printStackTrace:()V
6: StackMap locals: java.lang.Exception
StackMap stack:
aconst_null
areturn
end local 4 7: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.infoToHandle:Ljava/util/Map;
aload 3
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBuilder;
0 9 1 handle Lorg/eclipse/jdt/internal/core/Openable;
0 9 2 file Lorg/eclipse/core/resources/IResource;
1 9 3 info Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
4 7 4 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
1 2 3 Class java.io.IOException
1 2 3 Class org.eclipse.core.runtime.CoreException
MethodParameters:
Name Flags
handle
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=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.eclipse.jdt.core.IOrdinaryClassFile
astore 2
start local 2 1: aload 2
aconst_null
invokestatic org.eclipse.jdt.internal.core.nd.java.model.BinaryTypeFactory.create:(Lorg/eclipse/jdt/core/IOrdinaryClassFile;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
astore 3
start local 3 2: goto 7
end local 3 StackMap locals: org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder org.eclipse.jdt.internal.core.Openable org.eclipse.jdt.core.IOrdinaryClassFile
StackMap stack: java.lang.Exception
3: astore 4
start local 4 4: getstatic org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.DEBUG:Z
ifeq 6
5: aload 4
invokevirtual java.lang.Exception.printStackTrace:()V
6: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder org.eclipse.jdt.internal.core.Openable org.eclipse.jdt.core.IOrdinaryClassFile top java.lang.Exception
StackMap stack:
aconst_null
areturn
end local 4 start local 3 7: StackMap locals: org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder org.eclipse.jdt.internal.core.Openable org.eclipse.jdt.core.IOrdinaryClassFile org.eclipse.jdt.internal.compiler.env.IBinaryType
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.infoToHandle:Ljava/util/Map;
aload 3
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jdt/internal/core/hierarchy/HierarchyBuilder;
0 9 1 classFile Lorg/eclipse/jdt/internal/core/Openable;
1 9 2 cf Lorg/eclipse/jdt/core/IOrdinaryClassFile;
2 3 3 info Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
7 9 3 info Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
4 7 4 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class org.eclipse.jdt.core.JavaModelException
1 2 3 Class org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
MethodParameters:
Name Flags
classFile
}
SourceFile: "HierarchyBuilder.java"
NestMembers:
org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder$1
InnerClasses:
public Answer = org.eclipse.jdt.internal.core.NameLookup$Answer of org.eclipse.jdt.internal.core.NameLookup
org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder$1