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, toStringpublic AbstractVarExpr(Location location)
public AbstractVarExpr()
public boolean isVar()
public void assign(QuercusParser parser)
public Expr createAssign(QuercusParser parser, Expr value)
createAssign in class Exprpublic Expr createAssignRef(QuercusParser parser, Expr value)
createAssignRef in class Exprpublic Expr createRef(QuercusParser parser)
public Expr createCopy(ExprFactory factory)
createCopy in class Exprlocation - public Statement createUnset(ExprFactory factory, Location location)
createUnset in class Exprpublic Value evalCopy(Env env)
public Value evalObject(Env env)
evalObject in class Exprenv - the calling environment.public abstract void evalUnset(Env env)
env - the calling environment.public Value evalAssignValue(Env env, Value value)
evalAssignValue in class Exprenv - the calling environment.public abstract Value evalAssignRef(Env env, Value value)
evalAssignRef in class Exprenv - the calling environment.