1 29 30 package com.caucho.quercus.expr; 31 32 import com.caucho.quercus.Location; 33 import com.caucho.quercus.env.BooleanValue; 34 import com.caucho.quercus.env.Env; 35 import com.caucho.quercus.env.Value; 36 37 40 public final class CmpExpr extends Expr { 41 private final Expr _left; 42 private final Expr _right; 43 44 public CmpExpr(Location location, int code, Expr left, Expr right) 45 { 46 super(location); 47 _left = left; 48 _right = right; 49 } 50 51 public CmpExpr(int code, Expr left, Expr right) 52 { 53 _left = left; 54 _right = right; 55 } 56 57 60 public Value eval(Env env) 61 { 62 return evalBoolean(env) ? BooleanValue.TRUE : BooleanValue.FALSE; 63 } 64 65 68 public boolean evalBoolean(Env env) 69 { 70 Value lValue = _left.eval(env); 71 Value rValue = _right.eval(env); 72 73 return lValue.toDouble() < (rValue.toDouble()); 74 } 75 76 public String toString() 77 { 78 return "(" + _left + " + " + _right + ")"; 79 } 80 } 81 82 | Popular Tags |