public abstract class AbstractVarExpr extends Expr
COMPILE_ARG_MAX, NULL_ARGS
Constructor and Description |
---|
AbstractVarExpr() |
AbstractVarExpr(Location location) |
Modifier and Type | Method and Description |
---|---|
void |
assign(QuercusParser parser)
Marks the value as assigned
|
Expr |
createAssign(QuercusParser parser,
Expr value)
Creates the assignment.
|
Expr |
createAssignRef(QuercusParser parser,
Expr value)
Creates the assignment.
|
Expr |
createCopy(ExprFactory factory)
Creates the copy.
|
Expr |
createRef(QuercusParser parser)
Creates the reference
|
Statement |
createUnset(ExprFactory factory,
Location location)
Creates the assignment.
|
abstract Value |
eval(Env env)
Evaluates the expression, returning a Value.
|
Value |
evalArg(Env env,
boolean isTop)
Evaluates the expression as an argument.
|
Value |
evalArray(Env env)
Evaluates the expression as an array.
|
abstract Value |
evalAssignRef(Env env,
Value value)
Assign the variable with a new reference value.
|
Value |
evalAssignValue(Env env,
Value value)
Evaluates the expression.
|
Value |
evalCopy(Env env)
Evaluates the expression and copies the result for an assignment.
|
Value |
evalObject(Env env)
Evaluates the expression as an object.
|
Value |
evalRef(Env env)
Evaluates the expression as a reference when possible.
|
abstract void |
evalUnset(Env env)
Evaluates the expression as an argument.
|
abstract Var |
evalVar(Env env)
Evaluates the expression as a reference (by RefExpr).
|
boolean |
isVar()
Returns true if the expression is a var/left-hand-side.
|
canRead, createAssignFrom, createCall, createClassConst, createClassConst, createClassField, createClassField, createDeref, createFieldGet, createFieldGet, createIsset, equals, evalArgs, evalArrayAssign, evalArrayAssignRef, evalArrayAssignRef, evalArrayAssignTail, evalAssignRef, evalAssignValue, evalBoolean, evalChar, evalConstant, evalConstantPrefix, evalConstantSuffix, evalDirty, evalDouble, evalEmpty, evalIsset, evalIssetValue, evalLong, evalPostIncrement, evalPreIncrement, evalQuercusClass, evalString, evalStringValue, evalTop, evalUnsetArray, evalValue, getFileName, getFunctionLocation, getLine, getLocation, getLocationLine, isArray, isAssign, isBoolean, isConstant, isDouble, isFalse, isLiteral, isLong, isNumber, isRef, isString, isTrue, print, toString
public AbstractVarExpr(Location location)
public AbstractVarExpr()
public boolean isVar()
public void assign(QuercusParser parser)
public Expr createAssign(QuercusParser parser, Expr value)
createAssign
in class Expr
public Expr createAssignRef(QuercusParser parser, Expr value)
createAssignRef
in class Expr
public Expr createRef(QuercusParser parser)
public Expr createCopy(ExprFactory factory)
createCopy
in class Expr
location
- public Statement createUnset(ExprFactory factory, Location location)
createUnset
in class Expr
public Value evalCopy(Env env)
public Value evalObject(Env env)
evalObject
in class Expr
env
- the calling environment.public abstract void evalUnset(Env env)
env
- the calling environment.public Value evalAssignValue(Env env, Value value)
evalAssignValue
in class Expr
env
- the calling environment.public abstract Value evalAssignRef(Env env, Value value)
evalAssignRef
in class Expr
env
- the calling environment.