final class com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper
super_class: java.lang.Object
{
public final java.lang.Class<?> wrappedClass;
descriptor: Ljava/lang/Class;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
public final int id;
descriptor: I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public java.lang.String qualifiedName;
descriptor: Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
public java.lang.String qualifiedNameSimpleParams;
descriptor: Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
public com.oracle.graal.pointsto.flow.MethodFlowsGraph flowsGraph;
descriptor: Lcom/oracle/graal/pointsto/flow/MethodFlowsGraph;
flags: (0x0001) ACC_PUBLIC
public java.lang.String flowType;
descriptor: Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
public java.util.HashMap<java.lang.Integer, java.lang.Integer> inputs;
descriptor: Ljava/util/HashMap;
flags: (0x0001) ACC_PUBLIC
Signature: Ljava/util/HashMap<Ljava/lang/Integer;Ljava/lang/Integer;>;
public java.util.HashMap<java.lang.Integer, java.lang.Integer> uses;
descriptor: Ljava/util/HashMap;
flags: (0x0001) ACC_PUBLIC
Signature: Ljava/util/HashMap<Ljava/lang/Integer;Ljava/lang/Integer;>;
public java.lang.String codeLocation;
descriptor: Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
public java.util.ArrayList<java.lang.String> calleeNames;
descriptor: Ljava/util/ArrayList;
flags: (0x0001) ACC_PUBLIC
Signature: Ljava/util/ArrayList<Ljava/lang/String;>;
public java.util.ArrayList<java.lang.String> types;
descriptor: Ljava/util/ArrayList;
flags: (0x0001) ACC_PUBLIC
Signature: Ljava/util/ArrayList<Ljava/lang/String;>;
public java.lang.Integer enclosingMethod;
descriptor: Ljava/lang/Integer;
flags: (0x0001) ACC_PUBLIC
private static final java.lang.String METHOD_FLOW;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "method"
void <init>(java.lang.Class<?>, com.oracle.graal.pointsto.meta.AnalysisMethod);
descriptor: (Ljava/lang/Class;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getTypeFlow:()Lcom/oracle/graal/pointsto/flow/MethodTypeFlow;
invokevirtual com.oracle.graal.pointsto.flow.MethodTypeFlow.id:()I
invokespecial com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.<init>:(Ljava/lang/Class;I)V
1: aload 0
ldc "method"
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.flowType:Ljava/lang/String;
2: aload 0
aload 2
ldc "%H.%n(%P)"
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.format:(Ljava/lang/String;)Ljava/lang/String;
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.qualifiedName:Ljava/lang/String;
3: aload 0
aload 2
ldc "%H.%n(%p)"
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.format:(Ljava/lang/String;)Ljava/lang/String;
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.qualifiedNameSimpleParams:Ljava/lang/String;
4: aload 0
aconst_null
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.flowsGraph:Lcom/oracle/graal/pointsto/flow/MethodFlowsGraph;
5: aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getTypeFlow:()Lcom/oracle/graal/pointsto/flow/MethodTypeFlow;
invokevirtual com.oracle.graal.pointsto.flow.MethodTypeFlow.getFlows:()Ljava/util/Collection;
astore 3
start local 3 6: aload 3
invokeinterface java.util.Collection.isEmpty:()Z
ifne 11
7: aload 3
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmpne 8
iconst_1
goto 9
StackMap locals: com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper java.lang.Class com.oracle.graal.pointsto.meta.AnalysisMethod java.util.Collection
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: ldc "Expect to have a single type flow graph."
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
10: aload 0
aload 3
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.graal.pointsto.flow.MethodFlowsGraph
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.flowsGraph:Lcom/oracle/graal/pointsto/flow/MethodFlowsGraph;
11: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/svm/hosted/dashboard/PointsToJsonObject$AnalysisWrapper;
0 12 1 clazz Ljava/lang/Class<*>;
0 12 2 method Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
6 12 3 flows Ljava/util/Collection<Lcom/oracle/graal/pointsto/flow/MethodFlowsGraph;>;
Signature: (Ljava/lang/Class<*>;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)V
MethodParameters:
Name Flags
clazz
method
void <init>(java.lang.Class<?>, );
descriptor: (Ljava/lang/Class;I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.qualifiedName:Ljava/lang/String;
2: aload 0
aconst_null
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.qualifiedNameSimpleParams:Ljava/lang/String;
3: aload 0
aconst_null
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.flowsGraph:Lcom/oracle/graal/pointsto/flow/MethodFlowsGraph;
4: aload 0
aconst_null
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.flowType:Ljava/lang/String;
5: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.inputs:Ljava/util/HashMap;
6: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.uses:Ljava/util/HashMap;
7: aload 0
aconst_null
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.codeLocation:Ljava/lang/String;
8: aload 0
aconst_null
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.calleeNames:Ljava/util/ArrayList;
9: aload 0
aconst_null
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.types:Ljava/util/ArrayList;
10: aload 0
aconst_null
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.enclosingMethod:Ljava/lang/Integer;
11: aload 0
iload 2
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.id:I
12: aload 0
aload 1
putfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.wrappedClass:Ljava/lang/Class;
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/svm/hosted/dashboard/PointsToJsonObject$AnalysisWrapper;
0 14 1 clazz Ljava/lang/Class<*>;
0 14 2 id I
Signature: (Ljava/lang/Class<*>;I)V
MethodParameters:
Name Flags
clazz
id
void getProperties(java.util.Map<java.lang.String, ? super java.lang.Object>);
descriptor: (Ljava/util/Map;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.flowType:Ljava/lang/String;
ifnull 2
1: aload 1
ldc "flowType"
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.flowType:Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.qualifiedNameSimpleParams:Ljava/lang/String;
ifnull 4
3: aload 1
ldc "qualifiedNameSimpleParams"
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.qualifiedNameSimpleParams:Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.codeLocation:Ljava/lang/String;
ifnull 6
5: aload 1
ldc "codeLocation"
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.codeLocation:Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.calleeNames:Ljava/util/ArrayList;
ifnull 8
7: aload 1
ldc "calleeNames"
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.calleeNames:Ljava/util/ArrayList;
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.calleeNames:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
anewarray java.lang.String
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.types:Ljava/util/ArrayList;
ifnull 10
9: aload 1
ldc "types"
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.types:Ljava/util/ArrayList;
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.types:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
anewarray java.lang.String
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.enclosingMethod:Ljava/lang/Integer;
ifnull 12
11: aload 1
ldc "enclosingMethod"
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.enclosingMethod:Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/svm/hosted/dashboard/PointsToJsonObject$AnalysisWrapper;
0 13 1 properties Ljava/util/Map<Ljava/lang/String;-Ljava/lang/Object;>;
Signature: (Ljava/util/Map<Ljava/lang/String;-Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
properties
com.oracle.svm.hosted.dashboard.PointsToJsonObject$WrapperClazz getClazz();
descriptor: ()Lcom/oracle/svm/hosted/dashboard/PointsToJsonObject$WrapperClazz;
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.wrappedClass:Ljava/lang/Class;
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.inputs:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.uses:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.qualifiedName:Ljava/lang/String;
ifnull 1
aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.qualifiedName:Ljava/lang/String;
goto 2
StackMap locals: com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper
StackMap stack: java.lang.Class int int
1: aload 0
getfield com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper.flowType:Ljava/lang/String;
StackMap locals: com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper
StackMap stack: java.lang.Class int int java.lang.String
2: invokestatic com.oracle.svm.hosted.dashboard.PointsToJsonObject$WrapperClazz.get:(Ljava/lang/Class;IILjava/lang/String;)Lcom/oracle/svm/hosted/dashboard/PointsToJsonObject$WrapperClazz;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/hosted/dashboard/PointsToJsonObject$AnalysisWrapper;
}
SourceFile: "PointsToJsonObject.java"
NestHost: com.oracle.svm.hosted.dashboard.PointsToJsonObject
InnerClasses:
private final AnalysisWrapper = com.oracle.svm.hosted.dashboard.PointsToJsonObject$AnalysisWrapper of com.oracle.svm.hosted.dashboard.PointsToJsonObject
private final WrapperClazz = com.oracle.svm.hosted.dashboard.PointsToJsonObject$WrapperClazz of com.oracle.svm.hosted.dashboard.PointsToJsonObject