com.caucho.quercus.expr
Class ThisFieldVarExpr

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

public class ThisFieldVarExpr
extends AbstractVarExpr

Represents a PHP field reference.


Field Summary
protected  Expr _nameExpr
           
protected  ThisExpr _qThis
           
 
Fields inherited from class com.caucho.quercus.expr.Expr
COMPILE_ARG_MAX
 
Constructor Summary
ThisFieldVarExpr(ThisExpr qThis, Expr nameExpr)
           
 
Method Summary
 Expr createCall(QuercusParser parser, Location location, java.util.ArrayList<Expr> args)
          Creates a function call expression
 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 field is unset.
 Value evalArrayAssign(Env env, Value index, Value value)
          Evaluates as an array index assign ($a[index] = value).
 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, creating an object if the field is unset.
 void evalUnset(Env env)
          Evaluates the expression.
 Var evalVar(Env env)
          Evaluates the expression.
 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
canRead, createAssignFrom, createClassConst, createClassField, createClassField, createDeref, createFieldGet, createFieldGet, createIsset, evalArgs, 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

_qThis

protected final ThisExpr _qThis

_nameExpr

protected final Expr _nameExpr
Constructor Detail

ThisFieldVarExpr

public ThisFieldVarExpr(ThisExpr qThis,
                        Expr nameExpr)
Method Detail

createCall

public Expr createCall(QuercusParser parser,
                       Location location,
                       java.util.ArrayList<Expr> args)
                throws java.io.IOException
Creates a function call expression

Overrides:
createCall in class Expr
Throws:
java.io.IOException

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.

eval

public Value eval(Env env)
Evaluates the expression.

Specified by:
eval 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.

evalArrayAssign

public Value evalArrayAssign(Env env,
                             Value index,
                             Value value)
Evaluates as an array index assign ($a[index] = value).

Overrides:
evalArrayAssign in class Expr
Returns:
what was assigned

evalArray

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

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

evalObject

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

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