public class sun.tools.tree.BinaryExpression extends sun.tools.tree.UnaryExpression
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.tree.BinaryExpression
super_class: sun.tools.tree.UnaryExpression
{
sun.tools.tree.Expression left;
descriptor: Lsun/tools/tree/Expression;
flags: (0x0000)
void <init>(int, long, sun.tools.java.Type, sun.tools.tree.Expression, sun.tools.tree.Expression);
descriptor: (IJLsun/tools/java/Type;Lsun/tools/tree/Expression;Lsun/tools/tree/Expression;)V
flags: (0x0000)
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 4 start local 5 start local 6 0: aload 0
iload 1
lload 2
aload 4
aload 6
invokespecial sun.tools.tree.UnaryExpression.<init>:(IJLsun/tools/java/Type;Lsun/tools/tree/Expression;)V
1: aload 0
aload 5
putfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
2: return
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/tree/BinaryExpression;
0 3 1 op I
0 3 2 where J
0 3 4 type Lsun/tools/java/Type;
0 3 5 left Lsun/tools/tree/Expression;
0 3 6 right Lsun/tools/tree/Expression;
MethodParameters:
Name Flags
op
where
type
left
right
public sun.tools.tree.Expression order();
descriptor: ()Lsun/tools/tree/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.tools.tree.BinaryExpression.precedence:()I
aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
invokevirtual sun.tools.tree.Expression.precedence:()I
if_icmple 5
1: aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.UnaryExpression
astore 1
start local 1 2: aload 0
aload 1
getfield sun.tools.tree.UnaryExpression.right:Lsun/tools/tree/Expression;
putfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
3: aload 1
aload 0
invokevirtual sun.tools.tree.BinaryExpression.order:()Lsun/tools/tree/Expression;
putfield sun.tools.tree.UnaryExpression.right:Lsun/tools/tree/Expression;
4: aload 1
areturn
end local 1 5: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/tree/BinaryExpression;
2 5 1 e Lsun/tools/tree/UnaryExpression;
public sun.tools.tree.Vset checkValue(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, java.util.Hashtable<java.lang.Object, java.lang.Object>);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
aload 1
aload 2
aload 3
aload 4
invokevirtual sun.tools.tree.Expression.checkValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
astore 3
1: aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
aload 1
aload 2
aload 3
aload 4
invokevirtual sun.tools.tree.Expression.checkValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
astore 3
2: aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getTypeMask:()I
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getTypeMask:()I
ior
istore 5
start local 5 3: iload 5
sipush 8192
iand
ifeq 5
4: aload 3
areturn
5: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
iload 5
invokevirtual sun.tools.tree.BinaryExpression.selectType:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;I)V
6: aload 0
getfield sun.tools.tree.BinaryExpression.type:Lsun/tools/java/Type;
bipush 13
invokevirtual sun.tools.java.Type.isType:(I)Z
ifeq 8
7: aload 1
aload 0
getfield sun.tools.tree.BinaryExpression.where:J
ldc "invalid.args"
getstatic sun.tools.tree.BinaryExpression.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.BinaryExpression.op:I
aaload
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
aload 3
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 9 0 this Lsun/tools/tree/BinaryExpression;
0 9 1 env Lsun/tools/java/Environment;
0 9 2 ctx Lsun/tools/tree/Context;
0 9 3 vset Lsun/tools/tree/Vset;
0 9 4 exp Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;
3 9 5 tm I
Signature: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;)Lsun/tools/tree/Vset;
MethodParameters:
Name Flags
env
ctx
vset
exp
public boolean isConstant();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.tools.tree.BinaryExpression.op:I
tableswitch { // 14 - 33
14: 1
15: 1
16: 1
17: 1
18: 1
19: 1
20: 1
21: 1
22: 1
23: 1
24: 1
25: 3
26: 1
27: 1
28: 1
29: 1
30: 1
31: 1
32: 1
33: 1
default: 3
}
1: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
invokevirtual sun.tools.tree.Expression.isConstant:()Z
ifeq 2
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
invokevirtual sun.tools.tree.Expression.isConstant:()Z
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/tools/tree/BinaryExpression;
sun.tools.tree.Expression eval(int, int);
descriptor: (II)Lsun/tools/tree/Expression;
flags: (0x0000)
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/BinaryExpression;
0 1 1 a I
0 1 2 b I
MethodParameters:
Name Flags
a
b
sun.tools.tree.Expression eval(long, long);
descriptor: (JJ)Lsun/tools/tree/Expression;
flags: (0x0000)
Code:
stack=1, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/BinaryExpression;
0 1 1 a J
0 1 3 b J
MethodParameters:
Name Flags
a
b
sun.tools.tree.Expression eval(float, float);
descriptor: (FF)Lsun/tools/tree/Expression;
flags: (0x0000)
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/BinaryExpression;
0 1 1 a F
0 1 2 b F
MethodParameters:
Name Flags
a
b
sun.tools.tree.Expression eval(double, double);
descriptor: (DD)Lsun/tools/tree/Expression;
flags: (0x0000)
Code:
stack=1, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/BinaryExpression;
0 1 1 a D
0 1 3 b D
MethodParameters:
Name Flags
a
b
sun.tools.tree.Expression eval(boolean, boolean);
descriptor: (ZZ)Lsun/tools/tree/Expression;
flags: (0x0000)
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/BinaryExpression;
0 1 1 a Z
0 1 2 b Z
MethodParameters:
Name Flags
a
b
sun.tools.tree.Expression eval(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Lsun/tools/tree/Expression;
flags: (0x0000)
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/BinaryExpression;
0 1 1 a Ljava/lang/String;
0 1 2 b Ljava/lang/String;
MethodParameters:
Name Flags
a
b
sun.tools.tree.Expression eval();
descriptor: ()Lsun/tools/tree/Expression;
flags: (0x0000)
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.op:I
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.op:I
if_icmpne 8
1: aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.op:I
tableswitch { // 61 - 69
61: 6
62: 2
63: 2
64: 2
65: 2
66: 3
67: 4
68: 5
69: 7
default: 8
}
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.IntegerExpression
getfield sun.tools.tree.IntegerExpression.value:I
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.IntegerExpression
getfield sun.tools.tree.IntegerExpression.value:I
invokevirtual sun.tools.tree.BinaryExpression.eval:(II)Lsun/tools/tree/Expression;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.LongExpression
getfield sun.tools.tree.LongExpression.value:J
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.LongExpression
getfield sun.tools.tree.LongExpression.value:J
invokevirtual sun.tools.tree.BinaryExpression.eval:(JJ)Lsun/tools/tree/Expression;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.FloatExpression
getfield sun.tools.tree.FloatExpression.value:F
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.FloatExpression
getfield sun.tools.tree.FloatExpression.value:F
invokevirtual sun.tools.tree.BinaryExpression.eval:(FF)Lsun/tools/tree/Expression;
areturn
5: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.DoubleExpression
getfield sun.tools.tree.DoubleExpression.value:D
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.DoubleExpression
getfield sun.tools.tree.DoubleExpression.value:D
invokevirtual sun.tools.tree.BinaryExpression.eval:(DD)Lsun/tools/tree/Expression;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.BooleanExpression
getfield sun.tools.tree.BooleanExpression.value:Z
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.BooleanExpression
getfield sun.tools.tree.BooleanExpression.value:Z
invokevirtual sun.tools.tree.BinaryExpression.eval:(ZZ)Lsun/tools/tree/Expression;
areturn
7: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.StringExpression
getfield sun.tools.tree.StringExpression.value:Ljava/lang/String;
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.StringExpression
getfield sun.tools.tree.StringExpression.value:Ljava/lang/String;
invokevirtual sun.tools.tree.BinaryExpression.eval:(Ljava/lang/String;Ljava/lang/String;)Lsun/tools/tree/Expression;
areturn
8: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/tools/tree/BinaryExpression;
public sun.tools.tree.Expression inline(sun.tools.java.Environment, sun.tools.tree.Context);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
aload 1
aload 2
invokevirtual sun.tools.tree.Expression.inline:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
putfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
1: aload 0
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
aload 1
aload 2
invokevirtual sun.tools.tree.Expression.inline:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
putfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
2: aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
ifnonnull 3
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
goto 4
StackMap locals:
StackMap stack:
3: new sun.tools.tree.CommaExpression
dup
aload 0
getfield sun.tools.tree.BinaryExpression.where:J
aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
invokespecial sun.tools.tree.CommaExpression.<init>:(JLsun/tools/tree/Expression;Lsun/tools/tree/Expression;)V
StackMap locals:
StackMap stack: sun.tools.tree.Expression
4: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/tools/tree/BinaryExpression;
0 5 1 env Lsun/tools/java/Environment;
0 5 2 ctx Lsun/tools/tree/Context;
MethodParameters:
Name Flags
env
ctx
public sun.tools.tree.Expression inlineValue(sun.tools.java.Environment, sun.tools.tree.Context);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
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 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
aload 1
aload 2
invokevirtual sun.tools.tree.Expression.inlineValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
putfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
1: aload 0
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
aload 1
aload 2
invokevirtual sun.tools.tree.Expression.inlineValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
putfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
2: aload 0
invokevirtual sun.tools.tree.BinaryExpression.eval:()Lsun/tools/tree/Expression;
invokevirtual sun.tools.tree.Expression.simplify:()Lsun/tools/tree/Expression;
3: areturn
4: StackMap locals:
StackMap stack: java.lang.ArithmeticException
pop
5: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/tree/BinaryExpression;
0 6 1 env Lsun/tools/java/Environment;
0 6 2 ctx Lsun/tools/tree/Context;
Exception table:
from to target type
2 3 4 Class java.lang.ArithmeticException
MethodParameters:
Name Flags
env
ctx
public sun.tools.tree.Expression copyInline(sun.tools.tree.Context);
descriptor: (Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.tools.tree.BinaryExpression.clone:()Ljava/lang/Object;
checkcast sun.tools.tree.BinaryExpression
astore 2
start local 2 1: aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
ifnull 3
2: aload 2
aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
aload 1
invokevirtual sun.tools.tree.Expression.copyInline:(Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
putfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
3: StackMap locals: sun.tools.tree.BinaryExpression
StackMap stack:
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
ifnull 5
4: aload 2
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
aload 1
invokevirtual sun.tools.tree.Expression.copyInline:(Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
putfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
5: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/tree/BinaryExpression;
0 6 1 ctx Lsun/tools/tree/Context;
1 6 2 e Lsun/tools/tree/BinaryExpression;
MethodParameters:
Name Flags
ctx
public int costInline(int, sun.tools.java.Environment, sun.tools.tree.Context);
descriptor: (ILsun/tools/java/Environment;Lsun/tools/tree/Context;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_1
aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
ifnull 1
aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
iload 1
aload 2
aload 3
invokevirtual sun.tools.tree.Expression.costInline:(ILsun/tools/java/Environment;Lsun/tools/tree/Context;)I
goto 2
StackMap locals:
StackMap stack: int
1: iconst_0
StackMap locals: sun.tools.tree.BinaryExpression int sun.tools.java.Environment sun.tools.tree.Context
StackMap stack: int int
2: iadd
3: aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
ifnull 4
aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
iload 1
aload 2
aload 3
invokevirtual sun.tools.tree.Expression.costInline:(ILsun/tools/java/Environment;Lsun/tools/tree/Context;)I
goto 5
StackMap locals:
StackMap stack: int
4: iconst_0
5: StackMap locals: sun.tools.tree.BinaryExpression int sun.tools.java.Environment sun.tools.tree.Context
StackMap stack: int int
iadd
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/tree/BinaryExpression;
0 6 1 thresh I
0 6 2 env Lsun/tools/java/Environment;
0 6 3 ctx Lsun/tools/tree/Context;
MethodParameters:
Name Flags
thresh
env
ctx
void codeOperation(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new sun.tools.java.CompilerError
dup
new java.lang.StringBuilder
dup
ldc "codeOperation: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.tools.tree.BinaryExpression.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.BinaryExpression.op:I
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/BinaryExpression;
0 1 1 env Lsun/tools/java/Environment;
0 1 2 ctx Lsun/tools/tree/Context;
0 1 3 asm Lsun/tools/asm/Assembler;
MethodParameters:
Name Flags
env
ctx
asm
public void codeValue(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.tools.tree.BinaryExpression.type:Lsun/tools/java/Type;
iconst_0
invokevirtual sun.tools.java.Type.isType:(I)Z
ifeq 10
1: new sun.tools.asm.Label
dup
invokespecial sun.tools.asm.Label.<init>:()V
astore 4
start local 4 2: new sun.tools.asm.Label
dup
invokespecial sun.tools.asm.Label.<init>:()V
astore 5
start local 5 3: aload 0
aload 1
aload 2
aload 3
aload 4
iconst_1
invokevirtual sun.tools.tree.BinaryExpression.codeBranch:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/asm/Label;Z)V
4: aload 3
iconst_1
aload 0
getfield sun.tools.tree.BinaryExpression.where:J
bipush 18
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual sun.tools.asm.Assembler.add:(ZJILjava/lang/Object;)V
5: aload 3
iconst_1
aload 0
getfield sun.tools.tree.BinaryExpression.where:J
sipush 167
aload 5
invokevirtual sun.tools.asm.Assembler.add:(ZJILjava/lang/Object;)V
6: aload 3
aload 4
invokevirtual sun.tools.asm.Assembler.add:(Lsun/tools/asm/Instruction;)V
7: aload 3
iconst_1
aload 0
getfield sun.tools.tree.BinaryExpression.where:J
bipush 18
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual sun.tools.asm.Assembler.add:(ZJILjava/lang/Object;)V
8: aload 3
aload 5
invokevirtual sun.tools.asm.Assembler.add:(Lsun/tools/asm/Instruction;)V
end local 5 end local 4 9: goto 13
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
aload 1
aload 2
aload 3
invokevirtual sun.tools.tree.Expression.codeValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
11: aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
aload 1
aload 2
aload 3
invokevirtual sun.tools.tree.Expression.codeValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
12: aload 0
aload 1
aload 2
aload 3
invokevirtual sun.tools.tree.BinaryExpression.codeOperation:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/tools/tree/BinaryExpression;
0 14 1 env Lsun/tools/java/Environment;
0 14 2 ctx Lsun/tools/tree/Context;
0 14 3 asm Lsun/tools/asm/Assembler;
2 9 4 l1 Lsun/tools/asm/Label;
3 9 5 l2 Lsun/tools/asm/Label;
MethodParameters:
Name Flags
env
ctx
asm
public void print(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.tools.tree.BinaryExpression.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.BinaryExpression.op:I
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
1: aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
ifnull 4
2: aload 0
getfield sun.tools.tree.BinaryExpression.left:Lsun/tools/tree/Expression;
aload 1
invokevirtual sun.tools.tree.Expression.print:(Ljava/io/PrintStream;)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 1
ldc "<null>"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
aload 1
ldc " "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
6: aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
ifnull 9
7: aload 0
getfield sun.tools.tree.BinaryExpression.right:Lsun/tools/tree/Expression;
aload 1
invokevirtual sun.tools.tree.Expression.print:(Ljava/io/PrintStream;)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 1
ldc "<null>"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
aload 1
ldc ")"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/tools/tree/BinaryExpression;
0 12 1 out Ljava/io/PrintStream;
MethodParameters:
Name Flags
out
}
SourceFile: "BinaryExpression.java"