com.caucho.quercus.expr
Class CallVarExpr

java.lang.Object
  extended by com.caucho.quercus.expr.Expr
      extended by com.caucho.quercus.expr.CallVarExpr
Direct Known Subclasses:
CallVarExprPro

public class CallVarExpr
extends Expr

A "$foo(...)" function call.


Field Summary
protected  Expr[] _args
           
protected  Expr _name
           
 
Fields inherited from class com.caucho.quercus.expr.Expr
COMPILE_ARG_MAX
 
Constructor Summary
CallVarExpr(Expr name, java.util.ArrayList<Expr> args)
           
CallVarExpr(Expr name, Expr[] args)
           
CallVarExpr(Location location, Expr name, java.util.ArrayList<Expr> args)
           
CallVarExpr(Location location, Expr name, Expr[] args)
           
 
Method Summary
 Expr createCopy(ExprFactory factory)
          Returns the copy of the value.
 Expr createRef(QuercusParser parser)
          Returns the reference of the value.
 Value eval(Env env)
          Evaluates the expression, returning a Value, never a Var.
 Value evalCopy(Env env)
          Evaluates the expression as a copy.
 Value evalImpl(Env env, boolean isRef, boolean isCopy)
          Evaluates the expression.
 Value evalRef(Env env)
          Evaluates the expression, returning a Var for variables, and a Value for values.
 java.lang.String toString()
           
 
Methods inherited from class com.caucho.quercus.expr.Expr
assign, canRead, createAssign, createAssignFrom, createAssignRef, createCall, createClassConst, createClassField, createClassField, createDeref, createFieldGet, createFieldGet, createIsset, createUnset, evalArg, evalArgs, evalArray, evalArrayAssign, evalAssignRef, evalAssignValue, evalBoolean, evalChar, evalConstant, evalConstantPrefix, evalConstantSuffix, evalDirty, evalDouble, evalIsset, evalLong, evalObject, evalPostIncrement, evalPreIncrement, evalString, evalStringValue, evalTop, evalUnsetArray, evalValue, evalVar, getFileName, getFunctionLocation, getLine, getLocation, getLocationLine, isArray, isAssign, isBoolean, isConstant, isDouble, isFalse, isLiteral, isLong, isNumber, isRef, isString, isTrue, isVar, print
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_name

protected final Expr _name

_args

protected final Expr[] _args
Constructor Detail

CallVarExpr

public CallVarExpr(Location location,
                   Expr name,
                   java.util.ArrayList<Expr> args)

CallVarExpr

public CallVarExpr(Location location,
                   Expr name,
                   Expr[] args)

CallVarExpr

public CallVarExpr(Expr name,
                   java.util.ArrayList<Expr> args)

CallVarExpr

public CallVarExpr(Expr name,
                   Expr[] args)
Method Detail

createRef

public Expr createRef(QuercusParser parser)
Returns the reference of the value.

Overrides:
createRef in class Expr
Parameters:
location -

createCopy

public Expr createCopy(ExprFactory factory)
Returns the copy of the value.

Overrides:
createCopy in class Expr
Parameters:
location -

eval

public Value eval(Env env)
Description copied from class: Expr
Evaluates the expression, returning a Value, never a Var.

Specified by:
eval in class Expr
Parameters:
env - the calling environment.
Returns:
the expression value.

evalRef

public Value evalRef(Env env)
Description copied from class: Expr
Evaluates the expression, returning a Var for variables, and a Value for values.

Overrides:
evalRef in class Expr
Parameters:
env - the calling environment.
Returns:
the expression value.

evalCopy

public Value evalCopy(Env env)
Description copied from class: Expr
Evaluates the expression as a copy. The default is not to copy because the absence of copying is more testable.

Overrides:
evalCopy in class Expr
Parameters:
env - the calling environment.
Returns:
the expression value.

evalImpl

public Value evalImpl(Env env,
                      boolean isRef,
                      boolean isCopy)
Evaluates the expression.

Parameters:
env - the calling environment.
Returns:
the expression value.

toString

public java.lang.String toString()
Overrides:
toString in class Expr