public class LambdaFunction extends BaseFunction
ScriptableObject.KeyComparator
CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST
NOT_FOUND
Constructor and Description |
---|
LambdaFunction(Scriptable scope,
int length,
Callable target)
Create a new built-in function, with no name, and no default prototype.
|
LambdaFunction(Scriptable scope,
java.lang.String name,
int length,
Callable target)
Create a new function.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
call(Context cx,
Scriptable scope,
Scriptable thisObj,
java.lang.Object[] args)
Should be overridden.
|
Scriptable |
construct(Context cx,
Scriptable scope,
java.lang.Object[] args)
Call the function as a constructor.
|
int |
getArity() |
java.lang.String |
getFunctionName() |
int |
getLength() |
createObject, execIdCall, fillConstructorProperties, findInstanceIdInfo, findPrototypeId, getClassName, getClassPrototype, getInstanceIdName, getInstanceIdValue, getMaxInstanceId, getPrototypeProperty, getTypeOf, hasInstance, hasPrototypeProperty, initPrototypeId, isGeneratorFunction, setImmunePrototypeProperty, setInstanceIdAttributes, setInstanceIdValue, setPrototypeProperty, setPrototypePropertyAttributes, setStandardPropertyAttributes, setupDefaultPrototype
activatePrototypeMap, addIdFunctionProperty, defaultGet, defaultHas, defaultPut, defineOwnProperty, delete, delete, ensureType, exportAsJSClass, findInstanceIdInfo, findPrototypeId, get, get, getAttributes, getAttributes, getOwnPropertyDescriptor, has, has, hasPrototypeMap, initPrototypeConstructor, initPrototypeMethod, initPrototypeMethod, initPrototypeMethod, initPrototypeValue, initPrototypeValue, instanceIdInfo, put, put, setAttributes
applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, ensureSymbolScriptable, equivalentValues, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getDefaultValue, getExternalArrayData, getExternalArrayLength, getFunctionPrototype, getGeneratorFunctionPrototype, getGetterOrSetter, getGetterOrSetter, getIds, getObjectPrototype, getParentScope, getProperty, getProperty, getProperty, getPropertyIds, getPrototype, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, has, hasProperty, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, putConst, putConstProperty, putProperty, putProperty, putProperty, querySlot, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setCommonDescriptorProperties, setExternalArrayData, setGetterOrSetter, setParentScope, setPrototype, size
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
delete, delete, get, get, getDefaultValue, getIds, getParentScope, getPrototype, has, has, put, put, setParentScope, setPrototype
public LambdaFunction(Scriptable scope, java.lang.String name, int length, Callable target)
scope
- scope of the calling contextname
- name of the functionlength
- the arity of the functiontarget
- an object that implements the function in Java. Since Callable is a
single-function interface this will typically be implemented as a lambda.public LambdaFunction(Scriptable scope, int length, Callable target)
public java.lang.Object call(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
BaseFunction
call
in interface Callable
call
in interface Function
call
in class BaseFunction
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
objectargs
- the array of argumentspublic Scriptable construct(Context cx, Scriptable scope, java.lang.Object[] args)
Function
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.
construct
in interface Constructable
construct
in interface Function
construct
in class BaseFunction
cx
- the current Context for this threadscope
- an enclosing scope of the caller except when the function is called from a
closure.args
- the array of argumentspublic int getLength()
getLength
in class BaseFunction
public int getArity()
getArity
in class BaseFunction
public java.lang.String getFunctionName()
getFunctionName
in class BaseFunction