1 29 30 package com.caucho.quercus.expr; 31 32 import com.caucho.quercus.Location; 33 import com.caucho.quercus.env.Env; 34 import com.caucho.quercus.env.RefVar; 35 import com.caucho.quercus.env.Value; 36 import com.caucho.quercus.env.Var; 37 38 41 public class RefExpr extends UnaryExpr { 42 public RefExpr(Location location, Expr expr) 43 { 44 super(location, expr); 45 } 46 47 public RefExpr(Expr expr) 48 { 49 super(expr); 50 } 51 52 55 public boolean isRef() 56 { 57 return true; 58 } 59 60 67 public Value eval(Env env) 68 { 69 Value value = getExpr().evalRef(env); 71 72 if (value instanceof Var) 73 return new RefVar((Var) value); 74 else 75 return value; 76 } 77 78 85 public Value evalRef(Env env) 86 { 87 Value value = getExpr().evalRef(env); 88 89 return value; 91 97 } 98 99 public String toString() 100 { 101 return _expr.toString(); 102 } 103 } 104 105 | Popular Tags |