com.caucho.quercus.program
Class MethodDeclaration

java.lang.Object
  extended by com.caucho.quercus.env.Value
      extended by com.caucho.quercus.env.Callback
          extended by com.caucho.quercus.function.AbstractFunction
              extended by com.caucho.quercus.program.Function
                  extended by com.caucho.quercus.program.MethodDeclaration
All Implemented Interfaces:
Callable, java.io.Serializable
Direct Known Subclasses:
ProMethodDeclaration

public class MethodDeclaration
extends Function

Declaration for an abstract function or interface.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.caucho.quercus.program.Function
_args, _closureUseArgs, _comment, _hasReturn, _info, _isReturnsReference, _name, _statement
 
Fields inherited from class com.caucho.quercus.function.AbstractFunction
_bindingClass, _declaringClassName, _isClosure, _isConstructor, _isFinal, _isStatic, _parseIndex, _visibility
 
Fields inherited from class com.caucho.quercus.env.Value
NULL_VALUE_ARRAY, SCALAR_V
 
Constructor Summary
MethodDeclaration(ExprFactory exprFactory, Location location, ClassDef qClass, java.lang.String name, FunctionInfo info, Arg[] argList)
           
 
Method Summary
 Expr[] bindArguments(Env env, Expr fun, Expr[] args)
          Binds the user's arguments to the actual arguments.
 Value call(Env env, Value[] args)
          Evaluates the function.
 boolean isAbstract()
          Returns true for an abstract function.
 boolean isObjectMethod()
           
 java.lang.String toString()
           
 
Methods inherited from class com.caucho.quercus.program.Function
call, callCopy, callCopy, callImpl, callMethod, callMethodRef, callRef, callRef, evalArguments, execute, getArgs, getClosureUseArgs, getComment, getDeclaringClass, getDeclaringClassName, getInfo, getName, isMethod, isReturnsReference, setClosureUseArgs, setComment
 
Methods inherited from class com.caucho.quercus.function.AbstractFunction
call, call, call, call, call, call, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callMethodRef, callRef, callRef, callRef, callRef, callRef, callRef, errorPrivateAccess, errorProtectedAccess, getActualFunction, getBindingClass, getBindingClassName, getCallbackName, getCompilationName, getLocation, getType, isBoolean, isCallUsesSymbolTable, isCallUsesVariableArgs, isClosure, isConstructor, isDouble, isFinal, isGlobal, isInternal, isLong, isObject, isPrivate, isProtected, isPublic, isStatic, isString, isValid, setBindingClass, setClosure, setConstructor, setDeclaringClassName, setFinal, setGlobal, setParseIndex, setStatic, setVisibility, toFun
 
Methods inherited from class com.caucho.quercus.env.Callback
callArray, callArray, callArray, toCallable
 
Methods inherited from class com.caucho.quercus.env.Value
abs, add, add, addOne, append, appendTo, appendTo, appendTo, appendTo, bitAnd, bitOr, bitXor, 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, 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, getArg, getArray, getArray, getBaseIterator, getCallableName, getCalledClass, getClassName, getCount, getCountRecursive, getDirty, getField, getFieldArg, getFieldArgRef, getFieldArray, getFieldObject, getFieldVar, getHashCode, getIterator, getKeyArray, getKeyIterator, getObject, getObject, getQuercusClass, getRef, getResourceType, getSize, getThisField, getThisFieldArg, getThisFieldArgRef, getThisFieldArray, getThisFieldObject, getThisFieldVar, getValueArray, getValueIterator, getValueType, getVar, gt, hasCurrent, hashCode, increment, initField, isA, isA, isArray, isBinary, isCallable, isDefault, isDoubleConvertible, isEmpty, isFieldInit, isLongConvertible, isNull, isNumberConvertible, isNumeric, isResource, isset, isset, issetField, issetThisField, 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, printRImpl, 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, toArray, toArrayValue, toAutoArray, toAutoObject, toBigDecimal, toBigInteger, toBinaryValue, toBinaryValue, toBinaryValue, toBinaryValueMarshalCost, toBoolean, toBooleanMarshalCost, toByteArrayMarshalCost, toByteMarshalCost, toChar, toCharArrayMarshalCost, toCharMarshalCost, toDebugString, toDouble, 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, toLocalRef, toLocalThis, toLocalValue, toLocalValueReadOnly, toLocalVar, toLocalVarDeclAsRef, toLong, toLongMarshalCost, toLongValue, toObject, toRef, toRefValue, toShortMarshalCost, toString, toStringBuilder, toStringBuilder, toStringBuilder, toStringBuilder, toStringMarshalCost, toStringValue, toStringValue, toStringValueMarshalCost, toUnicode, toUnicodeValue, toUnicodeValue, toUnicodeValueMarshalCost, toValue, toVar, unsetArray, unsetField, unsetThisArray, unsetThisField, valuesToArray, varDump, varDumpImpl, varExport
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MethodDeclaration

public MethodDeclaration(ExprFactory exprFactory,
                         Location location,
                         ClassDef qClass,
                         java.lang.String name,
                         FunctionInfo info,
                         Arg[] argList)
Method Detail

isAbstract

public boolean isAbstract()
Description copied from class: AbstractFunction
Returns true for an abstract function.

Overrides:
isAbstract in class AbstractFunction

isObjectMethod

public boolean isObjectMethod()
Overrides:
isObjectMethod in class Function

bindArguments

public Expr[] bindArguments(Env env,
                            Expr fun,
                            Expr[] args)
Binds the user's arguments to the actual arguments.

Parameters:
args - the user's arguments
Returns:
the user arguments augmented by any defaults

call

public Value call(Env env,
                  Value[] args)
Evaluates the function.

Specified by:
call in interface Callable
Overrides:
call in class Function
Parameters:
env - the calling environment

toString

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