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 / SubtractExpression.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-08  |  1.8 KB  |  45 lines

  1. package sun.tools.tree;
  2.  
  3. import sun.tools.asm.Assembler;
  4. import sun.tools.java.Environment;
  5.  
  6. public class SubtractExpression extends BinaryArithmeticExpression {
  7.    public SubtractExpression(int var1, Expression var2, Expression var3) {
  8.       super(30, var1, var2, var3);
  9.    }
  10.  
  11.    Expression eval(int var1, int var2) {
  12.       return new IntExpression(super.where, var1 - var2);
  13.    }
  14.  
  15.    Expression eval(long var1, long var3) {
  16.       return new LongExpression(super.where, var1 - var3);
  17.    }
  18.  
  19.    Expression eval(float var1, float var2) {
  20.       return new FloatExpression(super.where, var1 - var2);
  21.    }
  22.  
  23.    Expression eval(double var1, double var3) {
  24.       return new DoubleExpression(super.where, var1 - var3);
  25.    }
  26.  
  27.    Expression simplify() {
  28.       if (super.type.inMask(62)) {
  29.          if (super.left.equals(0)) {
  30.             return new NegativeExpression(super.where, super.right);
  31.          }
  32.  
  33.          if (super.right.equals(0)) {
  34.             return super.left;
  35.          }
  36.       }
  37.  
  38.       return this;
  39.    }
  40.  
  41.    void codeOperation(Environment var1, Context var2, Assembler var3) {
  42.       var3.add(super.where, 100 + super.type.getTypeCodeOffset());
  43.    }
  44. }
  45.