home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VPage / Java.bin / CLASSES.ZIP / sun / tools / tree / AssignExpression.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-08  |  1.9 KB  |  43 lines

  1. package sun.tools.tree;
  2.  
  3. import java.util.Hashtable;
  4. import sun.tools.asm.Assembler;
  5. import sun.tools.java.Environment;
  6.  
  7. public class AssignExpression extends BinaryAssignExpression {
  8.    public AssignExpression(int var1, Expression var2, Expression var3) {
  9.       super(1, var1, var2, var3);
  10.    }
  11.  
  12.    public Vset checkValue(Environment var1, Context var2, Vset var3, Hashtable var4) {
  13.       if (super.left instanceof IdentifierExpression) {
  14.          var3 = super.right.checkValue(var1, var2, var3, var4);
  15.          var3 = super.left.checkLHS(var1, var2, var3, var4);
  16.       } else {
  17.          var3 = super.left.checkLHS(var1, var2, var3, var4);
  18.          var3 = super.right.checkValue(var1, var2, var3, var4);
  19.       }
  20.  
  21.       super.type = super.left.type;
  22.       super.right = ((Node)this).convert(var1, var2, super.type, super.right);
  23.       return var3;
  24.    }
  25.  
  26.    public int costInline(int var1, Environment var2, Context var3) {
  27.       return 2 + super.costInline(var1, var2, var3);
  28.    }
  29.  
  30.    public void codeValue(Environment var1, Context var2, Assembler var3) {
  31.       int var4 = super.left.codeLValue(var1, var2, var3);
  32.       super.right.codeValue(var1, var2, var3);
  33.       ((Expression)this).codeDup(var1, var2, var3, super.right.type.stackSize(), var4);
  34.       super.left.codeStore(var1, var2, var3);
  35.    }
  36.  
  37.    public void code(Environment var1, Context var2, Assembler var3) {
  38.       super.left.codeLValue(var1, var2, var3);
  39.       super.right.codeValue(var1, var2, var3);
  40.       super.left.codeStore(var1, var2, var3);
  41.    }
  42. }
  43.