com.caucho.quercus.expr
Class ArrayTailExpr

java.lang.Object
  extended by com.caucho.quercus.expr.Expr
      extended by com.caucho.quercus.expr.AbstractVarExpr
          extended by com.caucho.quercus.expr.ArrayTailExpr
Direct Known Subclasses:
ArrayTailExprPro

public class ArrayTailExpr
extends AbstractVarExpr

Represents a PHP array[] reference expression.


Field Summary
protected  Expr _expr
           
 
Fields inherited from class com.caucho.quercus.expr.Expr
COMPILE_ARG_MAX
 
Constructor Summary
ArrayTailExpr(Expr expr)
           
ArrayTailExpr(Location location, Expr expr)
           
 
Method Summary
 boolean canRead()
          Returns true for an expression that can be read (only $a[] uses this)
 Value eval(Env env)
          Evaluates the expression.
 Value evalArg(Env env, boolean isTop)
          Evaluates the expression.
 Value evalArray(Env env)
          Evaluates the expression, setting an array if unset..
 Value evalAssignRef(Env env, Value value)
          Evaluates the expression.
 Value evalAssignValue(Env env, Value value)
          Evaluates the expression.
 Value evalObject(Env env)
          Evaluates the expression, assigning an object if unset..
 void evalUnset(Env env)
          Evaluates the expression.
 Var evalVar(Env env)
          Evaluates the expression.
 Expr getExpr()
          Returns the expr.
 java.lang.String toString()
           
 
Methods inherited from class com.caucho.quercus.expr.AbstractVarExpr
assign, createAssign, createAssignRef, createCopy, createRef, createUnset, evalCopy, evalRef, isVar
 
Methods inherited from class com.caucho.quercus.expr.Expr
createAssignFrom, createCall, createClassConst, createClassField, createClassField, createDeref, createFieldGet, createFieldGet, createIsset, evalArgs, evalArrayAssign, evalBoolean, evalChar, evalConstant, evalConstantPrefix, evalConstantSuffix, evalDirty, evalDouble, evalIsset, evalLong, evalPostIncrement, evalPreIncrement, evalString, evalStringValue, evalTop, evalUnsetArray, evalValue, getFileName, getFunctionLocation, getLine, getLocation, getLocationLine, isArray, isAssign, isBoolean, isConstant, isDouble, isFalse, isLiteral, isLong, isNumber, isRef, isString, isTrue, print
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_expr

protected final Expr _expr
Constructor Detail

ArrayTailExpr

public ArrayTailExpr(Location location,
                     Expr expr)

ArrayTailExpr

public ArrayTailExpr(Expr expr)
Method Detail

canRead

public boolean canRead()
Returns true for an expression that can be read (only $a[] uses this)

Overrides:
canRead in class Expr

getExpr

public Expr getExpr()
Returns the expr.


eval

public Value eval(Env env)
Evaluates the expression.

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

evalArg

public Value evalArg(Env env,
                     boolean isTop)
Evaluates the expression.

Overrides:
evalArg in class AbstractVarExpr
Parameters:
env - the calling environment.
Returns:
the expression value.

evalVar

public Var evalVar(Env env)
Evaluates the expression.

Specified by:
evalVar in class AbstractVarExpr
Parameters:
env - the calling environment.
Returns:
the expression value.

evalArray

public Value evalArray(Env env)
Evaluates the expression, setting an array if unset..

Overrides:
evalArray in class AbstractVarExpr
Parameters:
env - the calling environment.
Returns:
the expression value.

evalObject

public Value evalObject(Env env)
Evaluates the expression, assigning an object if unset..

Overrides:
evalObject in class AbstractVarExpr
Parameters:
env - the calling environment.
Returns:
the expression value.

evalAssignValue

public Value evalAssignValue(Env env,
                             Value value)
Evaluates the expression.

Overrides:
evalAssignValue in class AbstractVarExpr
Parameters:
env - the calling environment.
Returns:
the expression value.

evalAssignRef

public Value evalAssignRef(Env env,
                           Value value)
Evaluates the expression.

Specified by:
evalAssignRef in class AbstractVarExpr
Parameters:
env - the calling environment.
Returns:
the expression value.

evalUnset

public void evalUnset(Env env)
Evaluates the expression.

Specified by:
evalUnset in class AbstractVarExpr
Parameters:
env - the calling environment.

toString

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