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.Value; 35 36 39 public class PostIncrementExpr extends UnaryExpr { 40 protected final int _incr; 41 42 public PostIncrementExpr(Location location, Expr expr, int incr) 43 { 44 super(location, expr); 46 47 _incr = incr; 48 } 49 50 public PostIncrementExpr(Expr expr, int incr) 51 { 52 super(expr); 53 54 _incr = incr; 55 } 56 57 public Value eval(Env env) 58 { 59 Value var = _expr.evalRef(env); 60 61 return var.postincr(_incr); 62 } 63 64 67 public boolean isDouble() 68 { 69 return _expr.isDouble(); 70 } 71 72 75 public boolean isLong() 76 { 77 return _expr.isLong(); 78 } 79 80 83 public boolean isNumber() 84 { 85 return true; 86 } 87 88 public String toString() 89 { 90 if (_incr > 0) 91 return _expr + "++"; 92 else 93 return _expr + "--"; 94 } 95 } 96 97 | Popular Tags |