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 class InstanceOfExpr extends UnaryExpr { 41 protected final String _right; 42 43 public InstanceOfExpr(Location location, Expr left, String right) 44 { 45 super(location, left); 46 47 _right = right; 48 } 49 50 public InstanceOfExpr(Expr left, String right) 51 { 52 super(left); 53 54 _right = right; 55 } 56 57 60 public boolean isBoolean() 61 { 62 return true; 63 } 64 65 68 public Value eval(Env env) 69 { 70 return evalBoolean(env) ? BooleanValue.TRUE : BooleanValue.FALSE; 71 } 72 73 76 public boolean evalBoolean(Env env) 77 { 78 Value lValue = _expr.eval(env); 79 80 return _expr.eval(env).isA(_right); 81 } 82 83 public String toString() 84 { 85 return "(" + _expr + " instanceof " + _right + ")"; 86 } 87 } 88 89 | Popular Tags |