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 41 public class InstanceOfVarExpr extends BinaryExpr { 42 43 public InstanceOfVarExpr(Location location, Expr left, Expr right) 44 { 45 super(location, left, right); 46 } 47 48 public InstanceOfVarExpr(Expr left, Expr right) 49 { 50 super(left, right); 51 } 52 53 56 public boolean isBoolean() 57 { 58 return true; 59 } 60 61 64 public Value eval(Env env) 65 { 66 return evalBoolean(env) ? BooleanValue.TRUE : BooleanValue.FALSE; 67 } 68 69 72 public boolean evalBoolean(Env env) 73 { 74 Value lValue = _left.eval(env); 75 Value rValue = _right.eval(env); 76 77 return lValue.isA(rValue.toString()); 78 } 79 80 public String toString() 81 { 82 return "(" + _left + " instanceof " + _right + ")"; 83 } 84 } 85 | Popular Tags |