com.caucho.quercus.expr
Class ArrayGetExpr

java.lang.Object
  extended by com.caucho.quercus.expr.Expr
      extended by com.caucho.quercus.expr.AbstractVarExpr
          extended by com.caucho.quercus.expr.ArrayGetExpr
Direct Known Subclasses:
ArrayGetExprPro, ArrayGetGetExprPro

public class ArrayGetExpr
extends AbstractVarExpr

Represents a PHP array reference expression.


Field Summary
protected  Expr _expr
           
protected  Expr _index
           
 
Fields inherited from class com.caucho.quercus.expr.Expr
COMPILE_ARG_MAX
 
Constructor Summary
ArrayGetExpr(Expr expr, Expr index)
           
ArrayGetExpr(Location location, Expr expr, Expr index)
           
 
Method Summary
 Value eval(Env env)
          Evaluates the expression.
 Value evalArg(Env env, boolean isTop)
          Evaluates the expression.
 Value evalArray(Env env)
          Evaluates the expression, creating an array if the value is unset..
 Value evalAssignRef(Env env, Value value)
          Evaluates the expression.
 Value evalAssignValue(Env env, Value value)
          Evaluates the expression.
 Value evalCopy(Env env)
          Evaluates the expression as a copyable result.
 Value evalDirty(Env env)
          Evaluates the expression, marking as dirty.
 boolean evalIsset(Env env)
          Evaluates the expression as an isset().
 Value evalObject(Env env)
          Evaluates the expression, creating an object if the value is unset.
 void evalUnset(Env env)
          Evaluates the expression.
 Var evalVar(Env env)
          Evaluates the expression.
 Expr getExpr()
          Returns the expr.
 Expr getIndex()
          Returns the index.
 java.lang.String toString()
           
 
Methods inherited from class com.caucho.quercus.expr.AbstractVarExpr
assign, createAssign, createAssignRef, createCopy, createRef, createUnset, evalRef, isVar
 
Methods inherited from class com.caucho.quercus.expr.Expr
canRead, createAssignFrom, createCall, createClassConst, createClassField, createClassField, createDeref, createFieldGet, createFieldGet, createIsset, evalArgs, evalArrayAssign, evalBoolean, evalChar, evalConstant, evalConstantPrefix, evalConstantSuffix, evalDouble, 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

_index

protected final Expr _index
Constructor Detail

ArrayGetExpr

public ArrayGetExpr(Location location,
                    Expr expr,
                    Expr index)

ArrayGetExpr

public ArrayGetExpr(Expr expr,
                    Expr index)
Method Detail

getExpr

public Expr getExpr()
Returns the expr.


getIndex

public Expr getIndex()
Returns the index.


eval

public Value eval(Env env)
Evaluates the expression.

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

evalCopy

public Value evalCopy(Env env)
Evaluates the expression as a copyable result.

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

evalArray

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

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

evalDirty

public Value evalDirty(Env env)
Evaluates the expression, marking as dirty.

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

evalObject

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

Overrides:
evalObject 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.

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.

evalIsset

public boolean evalIsset(Env env)
Evaluates the expression as an isset().

Overrides:
evalIsset in class Expr

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