public abstract class sun.tools.tree.AssignOpExpression extends sun.tools.tree.BinaryAssignExpression
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.tools.tree.AssignOpExpression
super_class: sun.tools.tree.BinaryAssignExpression
{
protected sun.tools.java.Type itype;
descriptor: Lsun/tools/java/Type;
flags: (0x0004) ACC_PROTECTED
final int NOINC;
descriptor: I
flags: (0x0010) ACC_FINAL
ConstantValue: 2147483647
protected sun.tools.tree.FieldUpdater updater;
descriptor: Lsun/tools/tree/FieldUpdater;
flags: (0x0004) ACC_PROTECTED
public void <init>(int, long, sun.tools.tree.Expression, sun.tools.tree.Expression);
descriptor: (IJLsun/tools/tree/Expression;Lsun/tools/tree/Expression;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: aload 0
iload 1
lload 2
aload 4
aload 5
invokespecial sun.tools.tree.BinaryAssignExpression.<init>:(IJLsun/tools/tree/Expression;Lsun/tools/tree/Expression;)V
1: aload 0
ldc 2147483647
putfield sun.tools.tree.AssignOpExpression.NOINC:I
2: aload 0
aconst_null
putfield sun.tools.tree.AssignOpExpression.updater:Lsun/tools/tree/FieldUpdater;
3: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/tools/tree/AssignOpExpression;
0 4 1 op I
0 4 2 where J
0 4 4 left Lsun/tools/tree/Expression;
0 4 5 right Lsun/tools/tree/Expression;
MethodParameters:
Name Flags
op
where
left
right
final void selectType(sun.tools.java.Environment, sun.tools.tree.Context, int);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;I)V
flags: (0x0010) ACC_FINAL
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 0
getfield sun.tools.tree.AssignOpExpression.op:I
tableswitch { // 2 - 12
2: 11
3: 11
4: 11
5: 2
6: 11
7: 30
8: 30
9: 30
10: 22
11: 22
12: 22
default: 38
}
2: StackMap locals: sun.tools.java.Type
StackMap stack:
aload 0
getfield sun.tools.tree.AssignOpExpression.left:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
getstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
if_acmpne 11
3: aload 0
getfield sun.tools.tree.AssignOpExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
getstatic sun.tools.java.Type.tVoid:Lsun/tools/java/Type;
if_acmpne 9
4: aload 1
aload 0
getfield sun.tools.tree.AssignOpExpression.where:J
ldc "incompatible.type"
5: getstatic sun.tools.tree.AssignOpExpression.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.AssignOpExpression.op:I
aaload
getstatic sun.tools.java.Type.tVoid:Lsun/tools/java/Type;
getstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
6: invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
7: aload 0
getstatic sun.tools.java.Type.tError:Lsun/tools/java/Type;
putfield sun.tools.tree.AssignOpExpression.type:Lsun/tools/java/Type;
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
aload 0
getstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
dup_x1
putfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
putfield sun.tools.tree.AssignOpExpression.type:Lsun/tools/java/Type;
10: StackMap locals:
StackMap stack:
return
11: StackMap locals:
StackMap stack:
iload 3
sipush 128
iand
ifeq 14
12: aload 0
getstatic sun.tools.java.Type.tDouble:Lsun/tools/java/Type;
putfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
13: goto 39
StackMap locals:
StackMap stack:
14: iload 3
bipush 64
iand
ifeq 17
15: aload 0
getstatic sun.tools.java.Type.tFloat:Lsun/tools/java/Type;
putfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
16: goto 39
StackMap locals:
StackMap stack:
17: iload 3
bipush 32
iand
ifeq 20
18: aload 0
getstatic sun.tools.java.Type.tLong:Lsun/tools/java/Type;
putfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
19: goto 39
20: StackMap locals:
StackMap stack:
aload 0
getstatic sun.tools.java.Type.tInt:Lsun/tools/java/Type;
putfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
21: goto 39
22: StackMap locals:
StackMap stack:
iload 3
iconst_1
iand
ifeq 25
23: aload 0
getstatic sun.tools.java.Type.tBoolean:Lsun/tools/java/Type;
putfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
24: goto 39
StackMap locals:
StackMap stack:
25: iload 3
bipush 32
iand
ifeq 28
26: aload 0
getstatic sun.tools.java.Type.tLong:Lsun/tools/java/Type;
putfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
27: goto 39
28: StackMap locals:
StackMap stack:
aload 0
getstatic sun.tools.java.Type.tInt:Lsun/tools/java/Type;
putfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
29: goto 39
30: StackMap locals:
StackMap stack:
getstatic sun.tools.java.Type.tInt:Lsun/tools/java/Type;
astore 4
31: aload 0
getfield sun.tools.tree.AssignOpExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
bipush 62
invokevirtual sun.tools.java.Type.inMask:(I)Z
ifeq 33
32: aload 0
new sun.tools.tree.ConvertExpression
dup
aload 0
getfield sun.tools.tree.AssignOpExpression.where:J
getstatic sun.tools.java.Type.tInt:Lsun/tools/java/Type;
aload 0
getfield sun.tools.tree.AssignOpExpression.right:Lsun/tools/tree/Expression;
invokespecial sun.tools.tree.ConvertExpression.<init>:(JLsun/tools/java/Type;Lsun/tools/tree/Expression;)V
putfield sun.tools.tree.AssignOpExpression.right:Lsun/tools/tree/Expression;
33: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.AssignOpExpression.left:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
getstatic sun.tools.java.Type.tLong:Lsun/tools/java/Type;
if_acmpne 36
34: aload 0
getstatic sun.tools.java.Type.tLong:Lsun/tools/java/Type;
putfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
35: goto 39
36: StackMap locals:
StackMap stack:
aload 0
getstatic sun.tools.java.Type.tInt:Lsun/tools/java/Type;
putfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
37: goto 39
38: StackMap locals:
StackMap stack:
new sun.tools.java.CompilerError
dup
new java.lang.StringBuilder
dup
ldc "Bad assignOp type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.tools.tree.AssignOpExpression.op:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
39: StackMap locals:
StackMap stack:
aload 4
ifnonnull 41
40: aload 0
getfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
astore 4
41: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
aload 2
aload 4
aload 0
getfield sun.tools.tree.AssignOpExpression.right:Lsun/tools/tree/Expression;
invokevirtual sun.tools.tree.AssignOpExpression.convert:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/java/Type;Lsun/tools/tree/Expression;)Lsun/tools/tree/Expression;
putfield sun.tools.tree.AssignOpExpression.right:Lsun/tools/tree/Expression;
42: aload 0
aload 0
getfield sun.tools.tree.AssignOpExpression.left:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
putfield sun.tools.tree.AssignOpExpression.type:Lsun/tools/java/Type;
43: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lsun/tools/tree/AssignOpExpression;
0 44 1 env Lsun/tools/java/Environment;
0 44 2 ctx Lsun/tools/tree/Context;
0 44 3 tm I
1 44 4 rtype Lsun/tools/java/Type;
MethodParameters:
Name Flags
env
ctx
tm
int getIncrement();
descriptor: ()I
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.tools.tree.AssignOpExpression.left:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.op:I
bipush 60
if_icmpne 8
aload 0
getfield sun.tools.tree.AssignOpExpression.type:Lsun/tools/java/Type;
iconst_4
invokevirtual sun.tools.java.Type.isType:(I)Z
ifeq 8
aload 0
getfield sun.tools.tree.AssignOpExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.op:I
bipush 65
if_icmpne 8
1: aload 0
getfield sun.tools.tree.AssignOpExpression.op:I
iconst_5
if_icmpeq 2
aload 0
getfield sun.tools.tree.AssignOpExpression.op:I
bipush 6
if_icmpne 8
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.AssignOpExpression.left:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.IdentifierExpression
getfield sun.tools.tree.IdentifierExpression.field:Lsun/tools/java/MemberDefinition;
invokevirtual sun.tools.java.MemberDefinition.isLocal:()Z
ifeq 8
3: aload 0
getfield sun.tools.tree.AssignOpExpression.right:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.IntExpression
getfield sun.tools.tree.IntExpression.value:I
istore 1
start local 1 4: aload 0
getfield sun.tools.tree.AssignOpExpression.op:I
bipush 6
if_icmpne 6
5: iload 1
ineg
istore 1
6: StackMap locals: int
StackMap stack:
iload 1
iload 1
i2s
if_icmpne 8
7: iload 1
ireturn
end local 1 8: StackMap locals:
StackMap stack:
ldc 2147483647
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/tools/tree/AssignOpExpression;
4 8 1 val I
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.AssignOpExpression.left:Lsun/tools/tree/Expression;
aload 1
aload 2
aload 3
aload 4
aload 0
invokevirtual sun.tools.tree.Expression.checkAssignOp:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;Lsun/tools/tree/Expression;)Lsun/tools/tree/Vset;
astore 3
1: aload 0
getfield sun.tools.tree.AssignOpExpression.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.AssignOpExpression.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.AssignOpExpression.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.AssignOpExpression.selectType:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;I)V
6: aload 0
getfield sun.tools.tree.AssignOpExpression.type:Lsun/tools/java/Type;
bipush 13
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 8
7: aload 0
aload 1
aload 2
aload 0
getfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
aload 0
getfield sun.tools.tree.AssignOpExpression.left:Lsun/tools/tree/Expression;
invokevirtual sun.tools.tree.AssignOpExpression.convert:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/java/Type;Lsun/tools/tree/Expression;)Lsun/tools/tree/Expression;
pop
8: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.tools.tree.AssignOpExpression.left:Lsun/tools/tree/Expression;
aload 1
aload 2
invokevirtual sun.tools.tree.Expression.getUpdater:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/FieldUpdater;
putfield sun.tools.tree.AssignOpExpression.updater:Lsun/tools/tree/FieldUpdater;
9: 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 10 0 this Lsun/tools/tree/AssignOpExpression;
0 10 1 env Lsun/tools/java/Environment;
0 10 2 ctx Lsun/tools/tree/Context;
0 10 3 vset Lsun/tools/tree/Vset;
0 10 4 exp Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;
3 10 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 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.AssignOpExpression.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.AssignOpExpression.left:Lsun/tools/tree/Expression;
1: aload 0
aload 0
getfield sun.tools.tree.AssignOpExpression.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.AssignOpExpression.right:Lsun/tools/tree/Expression;
2: aload 0
getfield sun.tools.tree.AssignOpExpression.updater:Lsun/tools/tree/FieldUpdater;
ifnull 4
3: aload 0
aload 0
getfield sun.tools.tree.AssignOpExpression.updater:Lsun/tools/tree/FieldUpdater;
aload 1
aload 2
invokevirtual sun.tools.tree.FieldUpdater.inline:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/FieldUpdater;
putfield sun.tools.tree.AssignOpExpression.updater:Lsun/tools/tree/FieldUpdater;
4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/tools/tree/AssignOpExpression;
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 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.AssignOpExpression.clone:()Ljava/lang/Object;
checkcast sun.tools.tree.AssignOpExpression
astore 2
start local 2 1: aload 2
aload 0
getfield sun.tools.tree.AssignOpExpression.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.AssignOpExpression.left:Lsun/tools/tree/Expression;
2: aload 2
aload 0
getfield sun.tools.tree.AssignOpExpression.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.AssignOpExpression.right:Lsun/tools/tree/Expression;
3: aload 0
getfield sun.tools.tree.AssignOpExpression.updater:Lsun/tools/tree/FieldUpdater;
ifnull 5
4: aload 2
aload 0
getfield sun.tools.tree.AssignOpExpression.updater:Lsun/tools/tree/FieldUpdater;
aload 1
invokevirtual sun.tools.tree.FieldUpdater.copyInline:(Lsun/tools/tree/Context;)Lsun/tools/tree/FieldUpdater;
putfield sun.tools.tree.AssignOpExpression.updater:Lsun/tools/tree/FieldUpdater;
5: StackMap locals: sun.tools.tree.AssignOpExpression
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/AssignOpExpression;
0 6 1 ctx Lsun/tools/tree/Context;
1 6 2 e Lsun/tools/tree/AssignOpExpression;
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=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.AssignOpExpression.updater:Lsun/tools/tree/FieldUpdater;
ifnonnull 9
1: aload 0
invokevirtual sun.tools.tree.AssignOpExpression.getIncrement:()I
ldc 2147483647
if_icmpeq 3
2: iconst_3
goto 8
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.AssignOpExpression.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
4: aload 0
getfield sun.tools.tree.AssignOpExpression.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
5: iadd
6: iconst_4
7: iadd
8: StackMap locals:
StackMap stack: int
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.AssignOpExpression.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
10: aload 0
getfield sun.tools.tree.AssignOpExpression.updater:Lsun/tools/tree/FieldUpdater;
iload 1
aload 2
aload 3
iconst_1
invokevirtual sun.tools.tree.FieldUpdater.costInline:(ILsun/tools/java/Environment;Lsun/tools/tree/Context;Z)I
11: iadd
12: iconst_1
13: iadd
ireturn
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/AssignOpExpression;
0 14 1 thresh I
0 14 2 env Lsun/tools/java/Environment;
0 14 3 ctx Lsun/tools/tree/Context;
MethodParameters:
Name Flags
thresh
env
ctx
void code(sun.tools.java.Environment, sun.tools.tree.Context, sun.tools.asm.Assembler, boolean);
descriptor: (Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Z)V
flags: (0x0000)
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual sun.tools.tree.AssignOpExpression.getIncrement:()I
istore 5
start local 5 1: iload 5
ldc 2147483647
if_icmpeq 8
aload 0
getfield sun.tools.tree.AssignOpExpression.updater:Lsun/tools/tree/FieldUpdater;
ifnonnull 8
2: aload 0
getfield sun.tools.tree.AssignOpExpression.left:Lsun/tools/tree/Expression;
checkcast sun.tools.tree.IdentifierExpression
getfield sun.tools.tree.IdentifierExpression.field:Lsun/tools/java/MemberDefinition;
checkcast sun.tools.tree.LocalMember
getfield sun.tools.tree.LocalMember.number:I
istore 6
start local 6 3: iconst_2
newarray 10
dup
iconst_0
iload 6
iastore
dup
iconst_1
iload 5
iastore
astore 7
start local 7 4: aload 3
aload 0
getfield sun.tools.tree.AssignOpExpression.where:J
sipush 132
aload 7
invokevirtual sun.tools.asm.Assembler.add:(JILjava/lang/Object;)V
5: iload 4
ifeq 7
6: aload 0
getfield sun.tools.tree.AssignOpExpression.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
7: StackMap locals: int int int[]
StackMap stack:
return
end local 7 end local 6 8: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.AssignOpExpression.updater:Lsun/tools/tree/FieldUpdater;
ifnonnull 20
9: aload 0
getfield sun.tools.tree.AssignOpExpression.left:Lsun/tools/tree/Expression;
aload 1
aload 2
aload 3
invokevirtual sun.tools.tree.Expression.codeLValue:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)I
istore 6
start local 6 10: aload 0
aload 1
aload 2
aload 3
iload 6
iconst_0
invokevirtual sun.tools.tree.AssignOpExpression.codeDup:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;II)V
11: aload 0
getfield sun.tools.tree.AssignOpExpression.left:Lsun/tools/tree/Expression;
aload 1
aload 2
aload 3
invokevirtual sun.tools.tree.Expression.codeLoad:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
12: aload 0
aload 1
aload 2
aload 3
aload 0
getfield sun.tools.tree.AssignOpExpression.left:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
aload 0
getfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
invokevirtual sun.tools.tree.AssignOpExpression.codeConversion:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/java/Type;Lsun/tools/java/Type;)V
13: aload 0
getfield sun.tools.tree.AssignOpExpression.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
14: aload 0
aload 1
aload 2
aload 3
invokevirtual sun.tools.tree.AssignOpExpression.codeOperation:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
15: aload 0
aload 1
aload 2
aload 3
aload 0
getfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
aload 0
getfield sun.tools.tree.AssignOpExpression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.tree.AssignOpExpression.codeConversion:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/java/Type;Lsun/tools/java/Type;)V
16: iload 4
ifeq 18
17: aload 0
aload 1
aload 2
aload 3
aload 0
getfield sun.tools.tree.AssignOpExpression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.stackSize:()I
iload 6
invokevirtual sun.tools.tree.AssignOpExpression.codeDup:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;II)V
18: StackMap locals: int
StackMap stack:
aload 0
getfield sun.tools.tree.AssignOpExpression.left:Lsun/tools/tree/Expression;
aload 1
aload 2
aload 3
invokevirtual sun.tools.tree.Expression.codeStore:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
end local 6 19: goto 26
20: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.AssignOpExpression.updater:Lsun/tools/tree/FieldUpdater;
aload 1
aload 2
aload 3
iconst_0
invokevirtual sun.tools.tree.FieldUpdater.startUpdate:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Z)V
21: aload 0
aload 1
aload 2
aload 3
aload 0
getfield sun.tools.tree.AssignOpExpression.left:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
aload 0
getfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
invokevirtual sun.tools.tree.AssignOpExpression.codeConversion:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/java/Type;Lsun/tools/java/Type;)V
22: aload 0
getfield sun.tools.tree.AssignOpExpression.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
23: aload 0
aload 1
aload 2
aload 3
invokevirtual sun.tools.tree.AssignOpExpression.codeOperation:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
24: aload 0
aload 1
aload 2
aload 3
aload 0
getfield sun.tools.tree.AssignOpExpression.itype:Lsun/tools/java/Type;
aload 0
getfield sun.tools.tree.AssignOpExpression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.tree.AssignOpExpression.codeConversion:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Lsun/tools/java/Type;Lsun/tools/java/Type;)V
25: aload 0
getfield sun.tools.tree.AssignOpExpression.updater:Lsun/tools/tree/FieldUpdater;
aload 1
aload 2
aload 3
iload 4
invokevirtual sun.tools.tree.FieldUpdater.finishUpdate:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Z)V
26: StackMap locals:
StackMap stack:
return
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/tree/AssignOpExpression;
0 27 1 env Lsun/tools/java/Environment;
0 27 2 ctx Lsun/tools/tree/Context;
0 27 3 asm Lsun/tools/asm/Assembler;
0 27 4 valNeeded Z
1 27 5 val I
3 8 6 v I
4 8 7 operands [I
10 19 6 depth I
MethodParameters:
Name Flags
env
ctx
asm
valNeeded
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=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
iconst_1
invokevirtual sun.tools.tree.AssignOpExpression.code:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Z)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/tree/AssignOpExpression;
0 2 1 env Lsun/tools/java/Environment;
0 2 2 ctx Lsun/tools/tree/Context;
0 2 3 asm Lsun/tools/asm/Assembler;
MethodParameters:
Name Flags
env
ctx
asm
public void code(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=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
iconst_0
invokevirtual sun.tools.tree.AssignOpExpression.code:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Z)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/tree/AssignOpExpression;
0 2 1 env Lsun/tools/java/Environment;
0 2 2 ctx Lsun/tools/tree/Context;
0 2 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.AssignOpExpression.opNames:[Ljava/lang/String;
aload 0
getfield sun.tools.tree.AssignOpExpression.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.AssignOpExpression.left: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: aload 0
getfield sun.tools.tree.AssignOpExpression.right:Lsun/tools/tree/Expression;
aload 1
invokevirtual sun.tools.tree.Expression.print:(Ljava/io/PrintStream;)V
4: aload 1
ldc ")"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/tree/AssignOpExpression;
0 6 1 out Ljava/io/PrintStream;
MethodParameters:
Name Flags
out
}
SourceFile: "AssignOpExpression.java"