public class org.glassfish.pfl.objectweb.asm.tree.analysis.SourceInterpreter implements org.glassfish.pfl.objectweb.asm.Opcodes, org.glassfish.pfl.objectweb.asm.tree.analysis.Interpreter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.glassfish.pfl.objectweb.asm.tree.analysis.SourceInterpreter
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/pfl/objectweb/asm/tree/analysis/SourceInterpreter;
public org.glassfish.pfl.objectweb.asm.tree.analysis.Value newValue(org.glassfish.pfl.objectweb.asm.Type);
descriptor: (Lorg/glassfish/pfl/objectweb/asm/Type;)Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.glassfish.pfl.objectweb.asm.Type.VOID_TYPE:Lorg/glassfish/pfl/objectweb/asm/Type;
if_acmpne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
new org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue
dup
aload 1
ifnonnull 3
iconst_1
goto 4
StackMap locals: org.glassfish.pfl.objectweb.asm.tree.analysis.SourceInterpreter org.glassfish.pfl.objectweb.asm.Type
StackMap stack: new 2 new 2
3: aload 1
invokevirtual org.glassfish.pfl.objectweb.asm.Type.getSize:()I
StackMap locals: org.glassfish.pfl.objectweb.asm.tree.analysis.SourceInterpreter org.glassfish.pfl.objectweb.asm.Type
StackMap stack: new 2 new 2 int
4: invokespecial org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.<init>:(I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/glassfish/pfl/objectweb/asm/tree/analysis/SourceInterpreter;
0 5 1 type Lorg/glassfish/pfl/objectweb/asm/Type;
MethodParameters:
Name Flags
type final
public org.glassfish.pfl.objectweb.asm.tree.analysis.Value newOperation(org.glassfish.pfl.objectweb.asm.tree.AbstractInsnNode);
descriptor: (Lorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;)Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.glassfish.pfl.objectweb.asm.tree.AbstractInsnNode.getOpcode:()I
lookupswitch { // 6
9: 1
10: 1
14: 1
15: 1
18: 3
178: 9
default: 11
}
1: StackMap locals:
StackMap stack:
iconst_2
istore 2
start local 2 2: goto 12
end local 2 3: StackMap locals:
StackMap stack:
aload 1
checkcast org.glassfish.pfl.objectweb.asm.tree.LdcInsnNode
getfield org.glassfish.pfl.objectweb.asm.tree.LdcInsnNode.cst:Ljava/lang/Object;
astore 3
start local 3 4: aload 3
instanceof java.lang.Long
ifne 5
aload 3
instanceof java.lang.Double
ifeq 6
StackMap locals: org.glassfish.pfl.objectweb.asm.tree.analysis.SourceInterpreter org.glassfish.pfl.objectweb.asm.tree.AbstractInsnNode top java.lang.Object
StackMap stack:
5: iconst_2
goto 7
StackMap locals:
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: istore 2
start local 2 8: goto 12
end local 3 end local 2 9: StackMap locals: org.glassfish.pfl.objectweb.asm.tree.analysis.SourceInterpreter org.glassfish.pfl.objectweb.asm.tree.AbstractInsnNode
StackMap stack:
aload 1
checkcast org.glassfish.pfl.objectweb.asm.tree.FieldInsnNode
getfield org.glassfish.pfl.objectweb.asm.tree.FieldInsnNode.desc:Ljava/lang/String;
invokestatic org.glassfish.pfl.objectweb.asm.Type.getType:(Ljava/lang/String;)Lorg/glassfish/pfl/objectweb/asm/Type;
invokevirtual org.glassfish.pfl.objectweb.asm.Type.getSize:()I
istore 2
start local 2 10: goto 12
end local 2 11: StackMap locals:
StackMap stack:
iconst_1
istore 2
start local 2 12: StackMap locals: int
StackMap stack:
new org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue
dup
iload 2
aload 1
invokespecial org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.<init>:(ILorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/glassfish/pfl/objectweb/asm/tree/analysis/SourceInterpreter;
0 13 1 insn Lorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;
2 3 2 size I
8 9 2 size I
10 11 2 size I
12 13 2 size I
4 9 3 cst Ljava/lang/Object;
MethodParameters:
Name Flags
insn final
public org.glassfish.pfl.objectweb.asm.tree.analysis.Value copyOperation(org.glassfish.pfl.objectweb.asm.tree.AbstractInsnNode, org.glassfish.pfl.objectweb.asm.tree.analysis.Value);
descriptor: (Lorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;)Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue
dup
aload 2
invokeinterface org.glassfish.pfl.objectweb.asm.tree.analysis.Value.getSize:()I
aload 1
invokespecial org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.<init>:(ILorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/pfl/objectweb/asm/tree/analysis/SourceInterpreter;
0 1 1 insn Lorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;
0 1 2 value Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
MethodParameters:
Name Flags
insn final
value final
public org.glassfish.pfl.objectweb.asm.tree.analysis.Value unaryOperation(org.glassfish.pfl.objectweb.asm.tree.AbstractInsnNode, org.glassfish.pfl.objectweb.asm.tree.analysis.Value);
descriptor: (Lorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;)Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.glassfish.pfl.objectweb.asm.tree.AbstractInsnNode.getOpcode:()I
lookupswitch { // 9
117: 1
119: 1
133: 1
135: 1
138: 1
140: 1
141: 1
143: 1
180: 3
default: 5
}
1: StackMap locals:
StackMap stack:
iconst_2
istore 3
start local 3 2: goto 6
end local 3 3: StackMap locals:
StackMap stack:
aload 1
checkcast org.glassfish.pfl.objectweb.asm.tree.FieldInsnNode
getfield org.glassfish.pfl.objectweb.asm.tree.FieldInsnNode.desc:Ljava/lang/String;
invokestatic org.glassfish.pfl.objectweb.asm.Type.getType:(Ljava/lang/String;)Lorg/glassfish/pfl/objectweb/asm/Type;
invokevirtual org.glassfish.pfl.objectweb.asm.Type.getSize:()I
istore 3
start local 3 4: goto 6
end local 3 5: StackMap locals:
StackMap stack:
iconst_1
istore 3
start local 3 6: StackMap locals: int
StackMap stack:
new org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue
dup
iload 3
aload 1
invokespecial org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.<init>:(ILorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/glassfish/pfl/objectweb/asm/tree/analysis/SourceInterpreter;
0 7 1 insn Lorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;
0 7 2 value Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
2 3 3 size I
4 5 3 size I
6 7 3 size I
MethodParameters:
Name Flags
insn final
value final
public org.glassfish.pfl.objectweb.asm.tree.analysis.Value binaryOperation(org.glassfish.pfl.objectweb.asm.tree.AbstractInsnNode, org.glassfish.pfl.objectweb.asm.tree.analysis.Value, org.glassfish.pfl.objectweb.asm.tree.analysis.Value);
descriptor: (Lorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;)Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.glassfish.pfl.objectweb.asm.tree.AbstractInsnNode.getOpcode:()I
lookupswitch { // 18
47: 1
49: 1
97: 1
99: 1
101: 1
103: 1
105: 1
107: 1
109: 1
111: 1
113: 1
115: 1
121: 1
123: 1
125: 1
127: 1
129: 1
131: 1
default: 3
}
1: StackMap locals:
StackMap stack:
iconst_2
istore 4
start local 4 2: goto 4
end local 4 3: StackMap locals:
StackMap stack:
iconst_1
istore 4
start local 4 4: StackMap locals: int
StackMap stack:
new org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue
dup
iload 4
aload 1
invokespecial org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.<init>:(ILorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/glassfish/pfl/objectweb/asm/tree/analysis/SourceInterpreter;
0 5 1 insn Lorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;
0 5 2 value1 Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
0 5 3 value2 Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
2 3 4 size I
4 5 4 size I
MethodParameters:
Name Flags
insn final
value1 final
value2 final
public org.glassfish.pfl.objectweb.asm.tree.analysis.Value ternaryOperation(org.glassfish.pfl.objectweb.asm.tree.AbstractInsnNode, org.glassfish.pfl.objectweb.asm.tree.analysis.Value, org.glassfish.pfl.objectweb.asm.tree.analysis.Value, org.glassfish.pfl.objectweb.asm.tree.analysis.Value);
descriptor: (Lorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;)Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue
dup
iconst_1
aload 1
invokespecial org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.<init>:(ILorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/pfl/objectweb/asm/tree/analysis/SourceInterpreter;
0 1 1 insn Lorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;
0 1 2 value1 Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
0 1 3 value2 Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
0 1 4 value3 Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
MethodParameters:
Name Flags
insn final
value1 final
value2 final
value3 final
public org.glassfish.pfl.objectweb.asm.tree.analysis.Value naryOperation(org.glassfish.pfl.objectweb.asm.tree.AbstractInsnNode, java.util.List);
descriptor: (Lorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;Ljava/util/List;)Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.glassfish.pfl.objectweb.asm.tree.AbstractInsnNode.getOpcode:()I
sipush 197
if_icmpne 3
1: iconst_1
istore 3
start local 3 2: goto 4
end local 3 3: StackMap locals:
StackMap stack:
aload 1
checkcast org.glassfish.pfl.objectweb.asm.tree.MethodInsnNode
getfield org.glassfish.pfl.objectweb.asm.tree.MethodInsnNode.desc:Ljava/lang/String;
invokestatic org.glassfish.pfl.objectweb.asm.Type.getReturnType:(Ljava/lang/String;)Lorg/glassfish/pfl/objectweb/asm/Type;
invokevirtual org.glassfish.pfl.objectweb.asm.Type.getSize:()I
istore 3
start local 3 4: StackMap locals: int
StackMap stack:
new org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue
dup
iload 3
aload 1
invokespecial org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.<init>:(ILorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/glassfish/pfl/objectweb/asm/tree/analysis/SourceInterpreter;
0 5 1 insn Lorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;
0 5 2 values Ljava/util/List;
2 3 3 size I
4 5 3 size I
MethodParameters:
Name Flags
insn final
values final
public void returnOperation(org.glassfish.pfl.objectweb.asm.tree.AbstractInsnNode, org.glassfish.pfl.objectweb.asm.tree.analysis.Value, org.glassfish.pfl.objectweb.asm.tree.analysis.Value);
descriptor: (Lorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/pfl/objectweb/asm/tree/analysis/SourceInterpreter;
0 1 1 insn Lorg/glassfish/pfl/objectweb/asm/tree/AbstractInsnNode;
0 1 2 value Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
0 1 3 expected Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
MethodParameters:
Name Flags
insn final
value final
expected final
public org.glassfish.pfl.objectweb.asm.tree.analysis.Value merge(org.glassfish.pfl.objectweb.asm.tree.analysis.Value, org.glassfish.pfl.objectweb.asm.tree.analysis.Value);
descriptor: (Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;)Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue
astore 3
start local 3 1: aload 2
checkcast org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue
astore 4
start local 4 2: aload 3
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.insns:Ljava/util/Set;
instanceof org.glassfish.pfl.objectweb.asm.tree.analysis.SmallSet
ifeq 7
aload 4
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.insns:Ljava/util/Set;
instanceof org.glassfish.pfl.objectweb.asm.tree.analysis.SmallSet
ifeq 7
3: aload 3
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.insns:Ljava/util/Set;
checkcast org.glassfish.pfl.objectweb.asm.tree.analysis.SmallSet
aload 4
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.insns:Ljava/util/Set;
checkcast org.glassfish.pfl.objectweb.asm.tree.analysis.SmallSet
invokevirtual org.glassfish.pfl.objectweb.asm.tree.analysis.SmallSet.union:(Lorg/glassfish/pfl/objectweb/asm/tree/analysis/SmallSet;)Ljava/util/Set;
astore 5
start local 5 4: aload 5
aload 3
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.insns:Ljava/util/Set;
if_acmpne 6
aload 3
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.size:I
aload 4
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.size:I
if_icmpne 6
5: aload 1
areturn
6: StackMap locals: org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue java.util.Set
StackMap stack:
new org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue
dup
aload 3
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.size:I
aload 4
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.size:I
invokestatic java.lang.Math.min:(II)I
aload 5
invokespecial org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.<init>:(ILjava/util/Set;)V
areturn
end local 5 7: StackMap locals:
StackMap stack:
aload 3
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.size:I
aload 4
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.size:I
if_icmpne 8
aload 3
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.insns:Ljava/util/Set;
aload 4
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.insns:Ljava/util/Set;
invokeinterface java.util.Set.containsAll:(Ljava/util/Collection;)Z
ifne 12
8: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 5
start local 5 9: aload 5
aload 3
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.insns:Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
10: aload 5
aload 4
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.insns:Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
11: new org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue
dup
aload 3
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.size:I
aload 4
getfield org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.size:I
invokestatic java.lang.Math.min:(II)I
aload 5
invokespecial org.glassfish.pfl.objectweb.asm.tree.analysis.SourceValue.<init>:(ILjava/util/Set;)V
areturn
end local 5 12: StackMap locals:
StackMap stack:
aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/glassfish/pfl/objectweb/asm/tree/analysis/SourceInterpreter;
0 13 1 v Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
0 13 2 w Lorg/glassfish/pfl/objectweb/asm/tree/analysis/Value;
1 13 3 dv Lorg/glassfish/pfl/objectweb/asm/tree/analysis/SourceValue;
2 13 4 dw Lorg/glassfish/pfl/objectweb/asm/tree/analysis/SourceValue;
4 7 5 s Ljava/util/Set;
9 12 5 s Ljava/util/Set;
MethodParameters:
Name Flags
v final
w final
}
SourceFile: "SourceInterpreter.java"