public class sun.tools.jstat.ExpressionExecuter implements sun.tools.jstat.ExpressionEvaluator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.jstat.ExpressionExecuter
super_class: java.lang.Object
{
private static final boolean debug;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private sun.jvmstat.monitor.MonitoredVm vm;
descriptor: Lsun/jvmstat/monitor/MonitoredVm;
flags: (0x0002) ACC_PRIVATE
private java.util.HashMap<java.lang.String, java.lang.Object> map;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "ExpressionEvaluator.debug"
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
1: putstatic sun.tools.jstat.ExpressionExecuter.debug:Z
2: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(sun.jvmstat.monitor.MonitoredVm);
descriptor: (Lsun/jvmstat/monitor/MonitoredVm;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield sun.tools.jstat.ExpressionExecuter.map:Ljava/util/HashMap;
2: aload 0
aload 1
putfield sun.tools.jstat.ExpressionExecuter.vm:Lsun/jvmstat/monitor/MonitoredVm;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/tools/jstat/ExpressionExecuter;
0 4 1 vm Lsun/jvmstat/monitor/MonitoredVm;
MethodParameters:
Name Flags
vm
public java.lang.Object evaluate(sun.tools.jstat.Expression);
descriptor: (Lsun/tools/jstat/Expression;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
getstatic sun.tools.jstat.ExpressionExecuter.debug:Z
ifeq 4
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Evaluating expression: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 1
instanceof sun.tools.jstat.Literal
ifeq 6
5: aload 1
checkcast sun.tools.jstat.Literal
invokevirtual sun.tools.jstat.Literal.getValue:()Ljava/lang/Object;
areturn
6: StackMap locals:
StackMap stack:
aload 1
instanceof sun.tools.jstat.Identifier
ifeq 14
7: aload 1
checkcast sun.tools.jstat.Identifier
astore 2
start local 2 8: aload 0
getfield sun.tools.jstat.ExpressionExecuter.map:Ljava/util/HashMap;
aload 2
invokevirtual sun.tools.jstat.Identifier.getName:()Ljava/lang/String;
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 10
9: aload 0
getfield sun.tools.jstat.ExpressionExecuter.map:Ljava/util/HashMap;
aload 2
invokevirtual sun.tools.jstat.Identifier.getName:()Ljava/lang/String;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
10: StackMap locals: sun.tools.jstat.Identifier
StackMap stack:
aload 2
invokevirtual sun.tools.jstat.Identifier.getValue:()Ljava/lang/Object;
checkcast sun.jvmstat.monitor.Monitor
astore 3
start local 3 11: aload 3
invokeinterface sun.jvmstat.monitor.Monitor.getValue:()Ljava/lang/Object;
astore 4
start local 4 12: aload 0
getfield sun.tools.jstat.ExpressionExecuter.map:Ljava/util/HashMap;
aload 2
invokevirtual sun.tools.jstat.Identifier.getName:()Ljava/lang/String;
aload 4
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: aload 4
areturn
end local 4 end local 3 end local 2 14: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.tools.jstat.Expression.getLeft:()Lsun/tools/jstat/Expression;
astore 2
start local 2 15: aload 1
invokevirtual sun.tools.jstat.Expression.getRight:()Lsun/tools/jstat/Expression;
astore 3
start local 3 16: aload 1
invokevirtual sun.tools.jstat.Expression.getOperator:()Lsun/tools/jstat/Operator;
astore 4
start local 4 17: aload 4
ifnonnull 19
18: aload 0
aload 2
invokevirtual sun.tools.jstat.ExpressionExecuter.evaluate:(Lsun/tools/jstat/Expression;)Ljava/lang/Object;
areturn
19: StackMap locals: sun.tools.jstat.Expression sun.tools.jstat.Expression sun.tools.jstat.Operator
StackMap stack:
new java.lang.Double
dup
aload 0
aload 2
invokevirtual sun.tools.jstat.ExpressionExecuter.evaluate:(Lsun/tools/jstat/Expression;)Ljava/lang/Object;
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
invokespecial java.lang.Double.<init>:(D)V
astore 5
start local 5 20: new java.lang.Double
dup
aload 0
aload 3
invokevirtual sun.tools.jstat.ExpressionExecuter.evaluate:(Lsun/tools/jstat/Expression;)Ljava/lang/Object;
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
invokespecial java.lang.Double.<init>:(D)V
astore 6
start local 6 21: aload 4
aload 5
invokevirtual java.lang.Double.doubleValue:()D
aload 6
invokevirtual java.lang.Double.doubleValue:()D
invokevirtual sun.tools.jstat.Operator.eval:(DD)D
dstore 7
start local 7 22: getstatic sun.tools.jstat.ExpressionExecuter.debug:Z
ifeq 26
23: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Performed Operation: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
24: ldc " = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
dload 7
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
26: StackMap locals: java.lang.Double java.lang.Double double
StackMap stack:
new java.lang.Double
dup
dload 7
invokespecial java.lang.Double.<init>:(D)V
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 27 0 this Lsun/tools/jstat/ExpressionExecuter;
0 27 1 e Lsun/tools/jstat/Expression;
8 14 2 id Lsun/tools/jstat/Identifier;
11 14 3 m Lsun/jvmstat/monitor/Monitor;
12 14 4 v Ljava/lang/Object;
15 27 2 l Lsun/tools/jstat/Expression;
16 27 3 r Lsun/tools/jstat/Expression;
17 27 4 op Lsun/tools/jstat/Operator;
20 27 5 lval Ljava/lang/Double;
21 27 6 rval Ljava/lang/Double;
22 27 7 result D
MethodParameters:
Name Flags
e
}
SourceFile: "ExpressionExecuter.java"