public class sun.tools.tree.ConvertExpression extends sun.tools.tree.UnaryExpression
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.tree.ConvertExpression
super_class: sun.tools.tree.UnaryExpression
{
public void <init>(long, sun.tools.java.Type, sun.tools.tree.Expression);
descriptor: (JLsun/tools/java/Type;Lsun/tools/tree/Expression;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
bipush 55
lload 1
aload 3
aload 4
invokespecial sun.tools.tree.UnaryExpression.<init>:(IJLsun/tools/java/Type;Lsun/tools/tree/Expression;)V
1: return
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/tree/ConvertExpression;
0 2 1 where J
0 2 3 type Lsun/tools/java/Type;
0 2 4 right Lsun/tools/tree/Expression;
MethodParameters:
Name Flags
where
type
right
public sun.tools.tree.Vset checkValue(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.tree.Vset, java.util.Hashtable);
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=5, locals=5, 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.ConvertExpression.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;
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 Lsun/tools/tree/ConvertExpression;
0 1 1 env Lsun/tools/java/Environment;
0 1 2 ctx Lsun/tools/tree/Context;
0 1 3 vset Lsun/tools/tree/Vset;
0 1 4 exp Ljava/util/Hashtable;
MethodParameters:
Name Flags
env
ctx
vset
exp
sun.tools.tree.Expression simplify();
descriptor: ()Lsun/tools/tree/Expression;
flags: (0x0000)
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.op:I
tableswitch { // 62 - 68
62: 1
63: 1
64: 1
65: 1
66: 11
67: 20
68: 29
default: 37
}
1: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.IntegerExpression
getfield sun.tools.tree.IntegerExpression.value:I
istore 1
start local 1 2: aload 0
getfield sun.tools.tree.ConvertExpression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getTypeCode:()I
tableswitch { // 1 - 7
1: 3
2: 4
3: 5
4: 6
5: 7
6: 8
7: 9
default: 10
}
3: StackMap locals: int
StackMap stack:
new sun.tools.tree.ByteExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
iload 1
i2b
invokespecial sun.tools.tree.ByteExpression.<init>:(JB)V
areturn
4: StackMap locals:
StackMap stack:
new sun.tools.tree.CharExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
iload 1
i2c
invokespecial sun.tools.tree.CharExpression.<init>:(JC)V
areturn
5: StackMap locals:
StackMap stack:
new sun.tools.tree.ShortExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
iload 1
i2s
invokespecial sun.tools.tree.ShortExpression.<init>:(JS)V
areturn
6: StackMap locals:
StackMap stack:
new sun.tools.tree.IntExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
iload 1
invokespecial sun.tools.tree.IntExpression.<init>:(JI)V
areturn
7: StackMap locals:
StackMap stack:
new sun.tools.tree.LongExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
iload 1
i2l
invokespecial sun.tools.tree.LongExpression.<init>:(JJ)V
areturn
8: StackMap locals:
StackMap stack:
new sun.tools.tree.FloatExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
iload 1
i2f
invokespecial sun.tools.tree.FloatExpression.<init>:(JF)V
areturn
9: StackMap locals:
StackMap stack:
new sun.tools.tree.DoubleExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
iload 1
i2d
invokespecial sun.tools.tree.DoubleExpression.<init>:(JD)V
areturn
10: StackMap locals:
StackMap stack:
goto 37
end local 1 11: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.LongExpression
getfield sun.tools.tree.LongExpression.value:J
lstore 1
start local 1 12: aload 0
getfield sun.tools.tree.ConvertExpression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getTypeCode:()I
tableswitch { // 1 - 7
1: 13
2: 14
3: 15
4: 16
5: 19
6: 17
7: 18
default: 19
}
13: StackMap locals: long
StackMap stack:
new sun.tools.tree.ByteExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
lload 1
l2i
i2b
invokespecial sun.tools.tree.ByteExpression.<init>:(JB)V
areturn
14: StackMap locals:
StackMap stack:
new sun.tools.tree.CharExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
lload 1
l2i
i2c
invokespecial sun.tools.tree.CharExpression.<init>:(JC)V
areturn
15: StackMap locals:
StackMap stack:
new sun.tools.tree.ShortExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
lload 1
l2i
i2s
invokespecial sun.tools.tree.ShortExpression.<init>:(JS)V
areturn
16: StackMap locals:
StackMap stack:
new sun.tools.tree.IntExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
lload 1
l2i
invokespecial sun.tools.tree.IntExpression.<init>:(JI)V
areturn
17: StackMap locals:
StackMap stack:
new sun.tools.tree.FloatExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
lload 1
l2f
invokespecial sun.tools.tree.FloatExpression.<init>:(JF)V
areturn
18: StackMap locals:
StackMap stack:
new sun.tools.tree.DoubleExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
lload 1
l2d
invokespecial sun.tools.tree.DoubleExpression.<init>:(JD)V
areturn
19: StackMap locals:
StackMap stack:
goto 37
end local 1 20: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.FloatExpression
getfield sun.tools.tree.FloatExpression.value:F
fstore 1
start local 1 21: aload 0
getfield sun.tools.tree.ConvertExpression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getTypeCode:()I
tableswitch { // 1 - 7
1: 22
2: 23
3: 24
4: 25
5: 26
6: 28
7: 27
default: 28
}
22: StackMap locals: float
StackMap stack:
new sun.tools.tree.ByteExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
fload 1
f2i
i2b
invokespecial sun.tools.tree.ByteExpression.<init>:(JB)V
areturn
23: StackMap locals:
StackMap stack:
new sun.tools.tree.CharExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
fload 1
f2i
i2c
invokespecial sun.tools.tree.CharExpression.<init>:(JC)V
areturn
24: StackMap locals:
StackMap stack:
new sun.tools.tree.ShortExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
fload 1
f2i
i2s
invokespecial sun.tools.tree.ShortExpression.<init>:(JS)V
areturn
25: StackMap locals:
StackMap stack:
new sun.tools.tree.IntExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
fload 1
f2i
invokespecial sun.tools.tree.IntExpression.<init>:(JI)V
areturn
26: StackMap locals:
StackMap stack:
new sun.tools.tree.LongExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
fload 1
f2l
invokespecial sun.tools.tree.LongExpression.<init>:(JJ)V
areturn
27: StackMap locals:
StackMap stack:
new sun.tools.tree.DoubleExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
fload 1
f2d
invokespecial sun.tools.tree.DoubleExpression.<init>:(JD)V
areturn
28: StackMap locals:
StackMap stack:
goto 37
end local 1 29: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.DoubleExpression
getfield sun.tools.tree.DoubleExpression.value:D
dstore 1
start local 1 30: aload 0
getfield sun.tools.tree.ConvertExpression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.getTypeCode:()I
tableswitch { // 1 - 6
1: 31
2: 32
3: 33
4: 34
5: 35
6: 36
default: 37
}
31: StackMap locals: double
StackMap stack:
new sun.tools.tree.ByteExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
dload 1
d2i
i2b
invokespecial sun.tools.tree.ByteExpression.<init>:(JB)V
areturn
32: StackMap locals:
StackMap stack:
new sun.tools.tree.CharExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
dload 1
d2i
i2c
invokespecial sun.tools.tree.CharExpression.<init>:(JC)V
areturn
33: StackMap locals:
StackMap stack:
new sun.tools.tree.ShortExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
dload 1
d2i
i2s
invokespecial sun.tools.tree.ShortExpression.<init>:(JS)V
areturn
34: StackMap locals:
StackMap stack:
new sun.tools.tree.IntExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
dload 1
d2i
invokespecial sun.tools.tree.IntExpression.<init>:(JI)V
areturn
35: StackMap locals:
StackMap stack:
new sun.tools.tree.LongExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
dload 1
d2l
invokespecial sun.tools.tree.LongExpression.<init>:(JJ)V
areturn
36: StackMap locals:
StackMap stack:
new sun.tools.tree.FloatExpression
dup
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.where:J
dload 1
d2f
invokespecial sun.tools.tree.FloatExpression.<init>:(JF)V
areturn
end local 1 37: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lsun/tools/tree/ConvertExpression;
2 11 1 value I
12 20 1 value J
21 29 1 value F
30 37 1 value D
public boolean equals(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
iload 1
invokevirtual sun.tools.tree.Expression.equals:(I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/ConvertExpression;
0 1 1 i I
MethodParameters:
Name Flags
i
public boolean equals(boolean);
descriptor: (Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
iload 1
invokevirtual sun.tools.tree.Expression.equals:(Z)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/tree/ConvertExpression;
0 1 1 b Z
MethodParameters:
Name Flags
b
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=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
sipush 1792
invokevirtual sun.tools.java.Type.inMask:(I)Z
ifeq 6
aload 0
getfield sun.tools.tree.ConvertExpression.type:Lsun/tools/java/Type;
sipush 1792
invokevirtual sun.tools.java.Type.inMask:(I)Z
ifeq 6
1: aload 1
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
aload 0
getfield sun.tools.tree.ConvertExpression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Environment.implicitCast:(Lsun/tools/java/Type;Lsun/tools/java/Type;)Z
ifne 6
2: aload 0
aload 1
aload 2
invokevirtual sun.tools.tree.ConvertExpression.inlineValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
3: areturn
4: StackMap locals:
StackMap stack: sun.tools.java.ClassNotFound
astore 3
start local 3 5: new sun.tools.java.CompilerError
dup
aload 3
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/Exception;)V
athrow
end local 3 6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial sun.tools.tree.UnaryExpression.inline:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/tools/tree/ConvertExpression;
0 7 1 env Lsun/tools/java/Environment;
0 7 2 ctx Lsun/tools/tree/Context;
5 6 3 e Lsun/tools/java/ClassNotFound;
Exception table:
from to target type
1 3 4 Class sun.tools.java.ClassNotFound
MethodParameters:
Name Flags
env
ctx
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=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.tools.tree.ConvertExpression.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
1: aload 0
aload 1
aload 2
aload 3
aload 0
getfield sun.tools.tree.ConvertExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
aload 0
getfield sun.tools.tree.ConvertExpression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.tree.ConvertExpression.codeConversion:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/java/Type;Lsun/tools/java/Type;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/tree/ConvertExpression;
0 3 1 env Lsun/tools/java/Environment;
0 3 2 ctx Lsun/tools/tree/Context;
0 3 3 asm Lsun/tools/asm/Assembler;
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.ConvertExpression.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.ConvertExpression.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;
aload 0
getfield sun.tools.tree.ConvertExpression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.toString:()Ljava/lang/String;
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.ConvertExpression.right:Lsun/tools/tree/Expression;
aload 1
invokevirtual sun.tools.tree.Expression.print:(Ljava/io/PrintStream;)V
2: aload 1
ldc ")"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/tools/tree/ConvertExpression;
0 4 1 out Ljava/io/PrintStream;
MethodParameters:
Name Flags
out
}
SourceFile: "ConvertExpression.java"