com.caucho.quercus.env
Class ArgGetValue

java.lang.Object
  extended by com.caucho.quercus.env.Value
      extended by com.caucho.quercus.env.ArgValue
          extended by com.caucho.quercus.env.ArgGetValue
All Implemented Interfaces:
java.io.Serializable

public class ArgGetValue
extends ArgValue
implements java.io.Serializable

Represents an array-get argument which might be a call to a reference. foo($a[0]), where is not known if foo is defined as foo($a) or foo(&$a)

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.caucho.quercus.env.Value
L, NULL_ARGS, NULL_VALUE_ARRAY, SCALAR_V
 
Constructor Summary
ArgGetValue(Value obj, Value index)
           
 
Method Summary
 Value getArg(Value index, boolean isTop)
          Returns the arg object for a field reference, e.g.
 Value getFieldArg(Env env, StringValue index, boolean isTop)
          Returns the arg object for a field reference, e.g.
 Value toAutoArray()
          Converts to an array if null.
 Value toAutoObject(Env env)
          Converts to an object if null.
 Value toLocalRef()
          Converts to a value.
 Value toLocalValue()
          Converts to a value.
 Value toLocalValueReadOnly()
          Converts to a read-only value.
 Var toLocalVarDeclAsRef()
          Converts to a reference variable.
 Value toRefValue()
          Convert to a function argument reference value, e.g.
 java.lang.Object writeReplace()
           
 
Methods inherited from class com.caucho.quercus.env.ArgValue
printRImpl, toArray, toArrayValue, toBoolean, toDouble, toStringValue, toStringValue, toValue, varDumpImpl
 
Methods inherited from class com.caucho.quercus.env.Value
abs, add, add, addOne, append, appendTo, appendTo, appendTo, appendTo, bitAnd, bitOr, bitXor, call, call, call, call, call, call, call, callCopy, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callRef, callRef, callRef, callRef, callRef, callRef, callRef, charValueAt, checkPrivate, checkProtected, clone, cmp, containsKey, copy, copy, copy, copyArrayItem, copyReturn, copySaveFunArg, copyStringBuilder, copyTree, current, div, div, end, eq, eql, eqValue, findFunction, generate, geq, get, getArray, getArray, getBaseIterator, getCallableName, getCalledClass, getClassName, getCount, getCountRecursive, getDirty, getField, getFieldArgRef, getFieldArray, getFieldObject, getFieldVar, getHashCode, getIterator, getKeyArray, getKeyIterator, getObject, getObject, getQuercusClass, getRef, getResourceType, getSize, getThisField, getThisFieldArg, getThisFieldArgRef, getThisFieldArray, getThisFieldObject, getThisFieldVar, getType, getValueArray, getValueIterator, getValueType, getVar, gt, hasCurrent, hashCode, increment, initField, isA, isA, isArray, isBinary, isBoolean, isCallable, isDefault, isDouble, isDoubleConvertible, isEmpty, isFieldInit, isLong, isLongConvertible, isNull, isNumberConvertible, isNumeric, isObject, isResource, isset, isset, issetField, issetThisField, isString, isUnicode, isVar, jsonEncode, key, keyExists, length, leq, lshift, lt, mod, mul, mul, neg, next, nextIndex, pop, pos, postdecr, postincr, postincr, predecr, preincr, preincr, prev, print, print, printDepth, printJavaChar, printJavaString, printR, put, put, put, putField, putField, putField, putObject, putThisField, putThisField, putVar, remove, reset, rshift, serialize, serialize, set, setCharValueAt, setFieldInit, setJavaObject, shuffle, sub_rev, sub, sub, subOne, toArgRef, toBigDecimal, toBigInteger, toBinaryValue, toBinaryValue, toBinaryValue, toBinaryValueMarshalCost, toBooleanMarshalCost, toByteArrayMarshalCost, toByteMarshalCost, toCallable, toChar, toCharArrayMarshalCost, toCharMarshalCost, toDebugString, toDoubleMarshalCost, toDoubleValue, toException, toFloatMarshalCost, toInputStream, toInt, toIntegerMarshalCost, toInternString, toJavaBoolean, toJavaByte, toJavaCalendar, toJavaCharacter, toJavaCollection, toJavaDate, toJavaDouble, toJavaFloat, toJavaInteger, toJavaList, toJavaLong, toJavaMap, toJavaObject, toJavaObject, toJavaObjectMarshalCost, toJavaObjectNotNull, toJavaShort, toJavaString, toJavaURL, toKey, toLocalThis, toLocalVar, toLong, toLongMarshalCost, toLongValue, toObject, toRef, toShortMarshalCost, toString, toStringBuilder, toStringBuilder, toStringBuilder, toStringBuilder, toStringMarshalCost, toStringValueMarshalCost, toUnicode, toUnicodeValue, toUnicodeValue, toUnicodeValueMarshalCost, toVar, unsetArray, unsetField, unsetThisArray, unsetThisField, valuesToArray, varDump, varExport
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArgGetValue

public ArgGetValue(Value obj,
                   Value index)
Method Detail

toRefValue

public Value toRefValue()
Description copied from class: Value
Convert to a function argument reference value, e.g. for function foo(&$a) where $a is never assigned in the function

Overrides:
toRefValue in class Value

getArg

public Value getArg(Value index,
                    boolean isTop)
Returns the arg object for a field reference, e.g. foo($a[0][1])

Overrides:
getArg in class Value

getFieldArg

public Value getFieldArg(Env env,
                         StringValue index,
                         boolean isTop)
Returns the arg object for a field reference, e.g. foo($a[0]->x)

Overrides:
getFieldArg in class Value

toLocalVarDeclAsRef

public Var toLocalVarDeclAsRef()
Converts to a reference variable.

Overrides:
toLocalVarDeclAsRef in class Value

toAutoArray

public Value toAutoArray()
Description copied from class: Value
Converts to an array if null.

Overrides:
toAutoArray in class Value

toAutoObject

public Value toAutoObject(Env env)
Description copied from class: Value
Converts to an object if null.

Overrides:
toAutoObject in class ArgValue

toLocalValueReadOnly

public Value toLocalValueReadOnly()
Converts to a read-only value.

Overrides:
toLocalValueReadOnly in class Value

toLocalValue

public Value toLocalValue()
Converts to a value.

Overrides:
toLocalValue in class Value

toLocalRef

public Value toLocalRef()
Converts to a value.

Overrides:
toLocalRef in class Value

writeReplace

public java.lang.Object writeReplace()