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 / CommaExpression.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-08  |  2.1 KB  |  102 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. import sun.tools.java.Type;
  7.  
  8. public class CommaExpression extends BinaryExpression {
  9.    public CommaExpression(int var1, Expression var2, Expression var3) {
  10.       super(0, var1, var3 != null ? var3.type : Type.tVoid, var2, var3);
  11.    }
  12.  
  13.    public Vset check(Environment var1, Context var2, Vset var3, Hashtable var4) {
  14.       var3 = super.left.check(var1, var2, var3, var4);
  15.       var3 = super.right.check(var1, var2, var3, var4);
  16.       return var3;
  17.    }
  18.  
  19.    void selectType(Environment var1, Context var2, int var3) {
  20.       super.type = super.right.type;
  21.    }
  22.  
  23.    Expression simplify() {
  24.       if (super.left == null) {
  25.          return super.right;
  26.       } else {
  27.          return (Expression)(super.right == null ? super.left : this);
  28.       }
  29.    }
  30.  
  31.    public Expression inline(Environment var1, Context var2) {
  32.       if (super.left != null) {
  33.          super.left = super.left.inline(var1, var2);
  34.       }
  35.  
  36.       if (super.right != null) {
  37.          super.right = super.right.inline(var1, var2);
  38.       }
  39.  
  40.       return this.simplify();
  41.    }
  42.  
  43.    public Expression inlineValue(Environment var1, Context var2) {
  44.       if (super.left != null) {
  45.          super.left = super.left.inline(var1, var2);
  46.       }
  47.  
  48.       if (super.right != null) {
  49.          super.right = super.right.inlineValue(var1, var2);
  50.       }
  51.  
  52.       return this.simplify();
  53.    }
  54.  
  55.    int codeLValue(Environment var1, Context var2, Assembler var3) {
  56.       if (super.right == null) {
  57.          return super.codeLValue(var1, var2, var3);
  58.       } else {
  59.          if (super.left != null) {
  60.             super.left.code(var1, var2, var3);
  61.          }
  62.  
  63.          return super.right.codeLValue(var1, var2, var3);
  64.       }
  65.    }
  66.  
  67.    void codeLoad(Environment var1, Context var2, Assembler var3) {
  68.       if (super.right == null) {
  69.          super.codeLoad(var1, var2, var3);
  70.       } else {
  71.          super.right.codeLoad(var1, var2, var3);
  72.       }
  73.    }
  74.  
  75.    void codeStore(Environment var1, Context var2, Assembler var3) {
  76.       if (super.right == null) {
  77.          super.codeStore(var1, var2, var3);
  78.       } else {
  79.          super.right.codeStore(var1, var2, var3);
  80.       }
  81.    }
  82.  
  83.    public void codeValue(Environment var1, Context var2, Assembler var3) {
  84.       if (super.left != null) {
  85.          super.left.code(var1, var2, var3);
  86.       }
  87.  
  88.       super.right.codeValue(var1, var2, var3);
  89.    }
  90.  
  91.    public void code(Environment var1, Context var2, Assembler var3) {
  92.       if (super.left != null) {
  93.          super.left.code(var1, var2, var3);
  94.       }
  95.  
  96.       if (super.right != null) {
  97.          super.right.code(var1, var2, var3);
  98.       }
  99.  
  100.    }
  101. }
  102.