home *** CD-ROM | disk | FTP | other *** search
- package sun.tools.tree;
-
- import java.util.Hashtable;
- import sun.tools.asm.Assembler;
- import sun.tools.java.Environment;
-
- public class AssignExpression extends BinaryAssignExpression {
- public AssignExpression(int var1, Expression var2, Expression var3) {
- super(1, var1, var2, var3);
- }
-
- public Vset checkValue(Environment var1, Context var2, Vset var3, Hashtable var4) {
- if (super.left instanceof IdentifierExpression) {
- var3 = super.right.checkValue(var1, var2, var3, var4);
- var3 = super.left.checkLHS(var1, var2, var3, var4);
- } else {
- var3 = super.left.checkLHS(var1, var2, var3, var4);
- var3 = super.right.checkValue(var1, var2, var3, var4);
- }
-
- super.type = super.left.type;
- super.right = ((Node)this).convert(var1, var2, super.type, super.right);
- return var3;
- }
-
- public int costInline(int var1, Environment var2, Context var3) {
- return 2 + super.costInline(var1, var2, var3);
- }
-
- public void codeValue(Environment var1, Context var2, Assembler var3) {
- int var4 = super.left.codeLValue(var1, var2, var3);
- super.right.codeValue(var1, var2, var3);
- ((Expression)this).codeDup(var1, var2, var3, super.right.type.stackSize(), var4);
- super.left.codeStore(var1, var2, var3);
- }
-
- public void code(Environment var1, Context var2, Assembler var3) {
- super.left.codeLValue(var1, var2, var3);
- super.right.codeValue(var1, var2, var3);
- super.left.codeStore(var1, var2, var3);
- }
- }
-