public class sun.tools.tree.AssignExpression extends sun.tools.tree.BinaryAssignExpression
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.tree.AssignExpression
super_class: sun.tools.tree.BinaryAssignExpression
{
private sun.tools.tree.FieldUpdater updater;
descriptor: Lsun/tools/tree/FieldUpdater;
flags: (0x0002) ACC_PRIVATE
public void <init>(long, sun.tools.tree.Expression, sun.tools.tree.Expression);
descriptor: (JLsun/tools/tree/Expression;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
iconst_1
lload 1
aload 3
aload 4
invokespecial sun.tools.tree.BinaryAssignExpression.<init>:(IJLsun/tools/tree/Expression;Lsun/tools/tree/Expression;)V
1: aload 0
aconst_null
putfield sun.tools.tree.AssignExpression.updater:Lsun/tools/tree/FieldUpdater;
2: return
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/tree/AssignExpression;
0 3 1 where J
0 3 3 left Lsun/tools/tree/Expression;
0 3 4 right Lsun/tools/tree/Expression;
MethodParameters:
Name Flags
where
left
right
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=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.AssignExpression.left:Lsun/tools/tree/Expression;
instanceof sun.tools.tree.IdentifierExpression
ifeq 4
1: aload 0
getfield sun.tools.tree.AssignExpression.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.AssignExpression.left:Lsun/tools/tree/Expression;
aload 1
aload 2
aload 3
aload 4
invokevirtual sun.tools.tree.Expression.checkLHS:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
astore 3
3: goto 6
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.AssignExpression.left:Lsun/tools/tree/Expression;
aload 1
aload 2
aload 3
aload 4
invokevirtual sun.tools.tree.Expression.checkLHS:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/tree/Vset;Ljava/util/Hashtable;)Lsun/tools/tree/Vset;
astore 3
5: aload 0
getfield sun.tools.tree.AssignExpression.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
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.tools.tree.AssignExpression.left:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
putfield sun.tools.tree.AssignExpression.type:Lsun/tools/java/Type;
7: aload 0
aload 0
aload 1
aload 2
aload 0
getfield sun.tools.tree.AssignExpression.type:Lsun/tools/java/Type;
aload 0
getfield sun.tools.tree.AssignExpression.right:Lsun/tools/tree/Expression;
invokevirtual sun.tools.tree.AssignExpression.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.AssignExpression.right:Lsun/tools/tree/Expression;
8: aload 0
aload 0
getfield sun.tools.tree.AssignExpression.left:Lsun/tools/tree/Expression;
aload 1
aload 2
invokevirtual sun.tools.tree.Expression.getAssigner:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/FieldUpdater;
putfield sun.tools.tree.AssignExpression.updater:Lsun/tools/tree/FieldUpdater;
9: aload 3
areturn
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/AssignExpression;
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;>;
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
getfield sun.tools.tree.AssignExpression.implementation:Lsun/tools/tree/Expression;
ifnull 2
1: aload 0
getfield sun.tools.tree.AssignExpression.implementation: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;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.tools.tree.AssignExpression.left:Lsun/tools/tree/Expression;
aload 1
aload 2
invokevirtual sun.tools.tree.Expression.inlineLHS:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
putfield sun.tools.tree.AssignExpression.left:Lsun/tools/tree/Expression;
3: aload 0
aload 0
getfield sun.tools.tree.AssignExpression.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.AssignExpression.right:Lsun/tools/tree/Expression;
4: aload 0
getfield sun.tools.tree.AssignExpression.updater:Lsun/tools/tree/FieldUpdater;
ifnull 6
5: aload 0
aload 0
getfield sun.tools.tree.AssignExpression.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.AssignExpression.updater:Lsun/tools/tree/FieldUpdater;
6: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/tools/tree/AssignExpression;
0 7 1 env Lsun/tools/java/Environment;
0 7 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
getfield sun.tools.tree.AssignExpression.implementation:Lsun/tools/tree/Expression;
ifnull 2
1: aload 0
getfield sun.tools.tree.AssignExpression.implementation:Lsun/tools/tree/Expression;
aload 1
invokevirtual sun.tools.tree.Expression.copyInline:(Lsun/tools/tree/Context;)Lsun/tools/tree/Expression;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.tools.tree.AssignExpression.clone:()Ljava/lang/Object;
checkcast sun.tools.tree.AssignExpression
astore 2
start local 2 3: aload 2
aload 0
getfield sun.tools.tree.AssignExpression.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.AssignExpression.left:Lsun/tools/tree/Expression;
4: aload 2
aload 0
getfield sun.tools.tree.AssignExpression.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.AssignExpression.right:Lsun/tools/tree/Expression;
5: aload 0
getfield sun.tools.tree.AssignExpression.updater:Lsun/tools/tree/FieldUpdater;
ifnull 7
6: aload 2
aload 0
getfield sun.tools.tree.AssignExpression.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.AssignExpression.updater:Lsun/tools/tree/FieldUpdater;
7: StackMap locals: sun.tools.tree.AssignExpression
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/tools/tree/AssignExpression;
0 8 1 ctx Lsun/tools/tree/Context;
3 8 2 e Lsun/tools/tree/AssignExpression;
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.AssignExpression.updater:Lsun/tools/tree/FieldUpdater;
ifnull 5
1: aload 0
getfield sun.tools.tree.AssignExpression.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
2: aload 0
getfield sun.tools.tree.AssignExpression.updater:Lsun/tools/tree/FieldUpdater;
iload 1
aload 2
aload 3
iconst_0
invokevirtual sun.tools.tree.FieldUpdater.costInline:(ILsun/tools/java/Environment;Lsun/tools/tree/Context;Z)I
3: iadd
4: goto 10
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.AssignExpression.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
6: aload 0
getfield sun.tools.tree.AssignExpression.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
7: iadd
8: iconst_2
9: iadd
10: StackMap locals:
StackMap stack: int
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/tools/tree/AssignExpression;
0 11 1 thresh I
0 11 2 env Lsun/tools/java/Environment;
0 11 3 ctx Lsun/tools/tree/Context;
MethodParameters:
Name Flags
thresh
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=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.tools.tree.AssignExpression.updater:Lsun/tools/tree/FieldUpdater;
ifnonnull 6
1: aload 0
getfield sun.tools.tree.AssignExpression.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 4
start local 4 2: aload 0
getfield sun.tools.tree.AssignExpression.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
3: aload 0
aload 1
aload 2
aload 3
aload 0
getfield sun.tools.tree.AssignExpression.right:Lsun/tools/tree/Expression;
getfield sun.tools.tree.Expression.type:Lsun/tools/java/Type;
invokevirtual sun.tools.java.Type.stackSize:()I
iload 4
invokevirtual sun.tools.tree.AssignExpression.codeDup:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;II)V
4: aload 0
getfield sun.tools.tree.AssignExpression.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 4 5: goto 9
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.AssignExpression.updater:Lsun/tools/tree/FieldUpdater;
aload 1
aload 2
aload 3
invokevirtual sun.tools.tree.FieldUpdater.startAssign:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
7: aload 0
getfield sun.tools.tree.AssignExpression.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
8: aload 0
getfield sun.tools.tree.AssignExpression.updater:Lsun/tools/tree/FieldUpdater;
aload 1
aload 2
aload 3
iconst_1
invokevirtual sun.tools.tree.FieldUpdater.finishAssign:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Z)V
9: StackMap locals:
StackMap stack:
return
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/AssignExpression;
0 10 1 env Lsun/tools/java/Environment;
0 10 2 ctx Lsun/tools/tree/Context;
0 10 3 asm Lsun/tools/asm/Assembler;
2 5 4 depth I
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
getfield sun.tools.tree.AssignExpression.updater:Lsun/tools/tree/FieldUpdater;
ifnonnull 5
1: aload 0
getfield sun.tools.tree.AssignExpression.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
pop
2: aload 0
getfield sun.tools.tree.AssignExpression.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
3: aload 0
getfield sun.tools.tree.AssignExpression.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
4: goto 8
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.tree.AssignExpression.updater:Lsun/tools/tree/FieldUpdater;
aload 1
aload 2
aload 3
invokevirtual sun.tools.tree.FieldUpdater.startAssign:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;)V
6: aload 0
getfield sun.tools.tree.AssignExpression.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
7: aload 0
getfield sun.tools.tree.AssignExpression.updater:Lsun/tools/tree/FieldUpdater;
aload 1
aload 2
aload 3
iconst_0
invokevirtual sun.tools.tree.FieldUpdater.finishAssign:(Lsun/tools/java/Environment;Lsun/tools/tree/Context;Lsun/tools/asm/Assembler;Z)V
8: StackMap locals:
StackMap stack:
return
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/AssignExpression;
0 9 1 env Lsun/tools/java/Environment;
0 9 2 ctx Lsun/tools/tree/Context;
0 9 3 asm Lsun/tools/asm/Assembler;
MethodParameters:
Name Flags
env
ctx
asm
}
SourceFile: "AssignExpression.java"