org.mozilla.javascript
Class BoundFunction
java.lang.Object
org.mozilla.javascript.ScriptableObject
org.mozilla.javascript.IdScriptableObject
org.mozilla.javascript.BaseFunction
org.mozilla.javascript.BoundFunction
- All Implemented Interfaces:
- java.io.Serializable, Callable, ConstProperties, DebuggableObject, Function, IdFunctionCall, Scriptable
public class BoundFunction
- extends BaseFunction
The class for results of the Function.bind operation
EcmaScript 5 spec, 15.3.4.5
- Author:
- Raphael Speyer
- See Also:
- Serialized Form
Methods inherited from class org.mozilla.javascript.BaseFunction |
createObject, execIdCall, fillConstructorProperties, findInstanceIdInfo, findPrototypeId, getArity, getClassName, getClassPrototype, getFunctionName, getInstanceIdName, getInstanceIdValue, getMaxInstanceId, getPrototypeProperty, getTypeOf, hasPrototypeProperty, initPrototypeId, setImmunePrototypeProperty, setInstanceIdValue |
Methods inherited from class org.mozilla.javascript.IdScriptableObject |
activatePrototypeMap, addIdFunctionProperty, defaultGet, defaultPut, defineOwnProperty, delete, exportAsJSClass, get, getAttributes, getOwnPropertyDescriptor, has, hasPrototypeMap, incompatibleCallError, initPrototypeConstructor, initPrototypeMethod, initPrototypeValue, instanceIdInfo, put, setAttributes, setInstanceIdAttributes |
Methods inherited from class org.mozilla.javascript.ScriptableObject |
applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, equivalentValues, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getDefaultValue, getFunctionPrototype, getGetterOrSetter, getIds, getObjectPrototype, getParentScope, getProperty, getProperty, getPropertyIds, getPrototype, getSlot, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, has, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, putConst, putConstProperty, putProperty, putProperty, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setGetterOrSetter, setParentScope, setPrototype, size |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.mozilla.javascript.Scriptable |
delete, delete, get, get, getDefaultValue, getIds, getParentScope, getPrototype, has, has, put, put, setParentScope, setPrototype |
BoundFunction
public BoundFunction(Context cx,
Scriptable scope,
Callable targetFunction,
Scriptable boundThis,
java.lang.Object[] boundArgs)
call
public java.lang.Object call(Context cx,
Scriptable scope,
Scriptable thisObj,
java.lang.Object[] extraArgs)
- Description copied from class:
BaseFunction
- Should be overridden.
- Specified by:
call
in interface Callable
- Specified by:
call
in interface Function
- Overrides:
call
in class BaseFunction
- Parameters:
cx
- the current Context for this threadscope
- the scope to execute the function relative to. This is
set to the value returned by getParentScope() except
when the function is called from a closure.thisObj
- the JavaScript this
objectextraArgs
- the array of arguments
- Returns:
- the result of the call
construct
public Scriptable construct(Context cx,
Scriptable scope,
java.lang.Object[] extraArgs)
- Description copied from interface:
Function
- Call the function as a constructor.
This method is invoked by the runtime in order to satisfy a use
of the JavaScript
new
operator. This method is
expected to create a new object and return it.
- Specified by:
construct
in interface Function
- Overrides:
construct
in class BaseFunction
- Parameters:
cx
- the current Context for this threadscope
- an enclosing scope of the caller except
when the function is called from a closure.extraArgs
- the array of arguments
- Returns:
- the allocated object
hasInstance
public boolean hasInstance(Scriptable instance)
- Description copied from class:
BaseFunction
- Implements the instanceof operator for JavaScript Function objects.
foo = new Foo();
foo instanceof Foo; // true
- Specified by:
hasInstance
in interface Scriptable
- Overrides:
hasInstance
in class BaseFunction
- Parameters:
instance
- The value that appeared on the LHS of the instanceof
operator
- Returns:
- true if the "prototype" property of "this" appears in
value's prototype chain
getLength
public int getLength()
- Overrides:
getLength
in class BaseFunction