public abstract class JSFunctionObject extends JSNonProxyObject
| Modifier and Type | Class and Description |
|---|---|
static class |
JSFunctionObject.Bound |
static class |
JSFunctionObject.Unbound |
JSObject.GetMembersJSDynamicObject.IsIdenticalOrUndefinedCONSTRUCTOR, EMPTY_STRING_ARRAY, HIDDEN_PROTO, NO_SUCH_METHOD_NAME, NO_SUCH_PROPERTY_NAME, PROTO, PROTOTYPE| Modifier | Constructor and Description |
|---|---|
protected |
JSFunctionObject(com.oracle.truffle.api.object.Shape shape,
JSFunctionData functionData,
com.oracle.truffle.api.frame.MaterializedFrame enclosingFrame,
JSRealm realm,
Object classPrototype) |
| Modifier and Type | Method and Description |
|---|---|
static JSFunctionObject |
create(com.oracle.truffle.api.object.Shape shape,
JSFunctionData functionData,
com.oracle.truffle.api.frame.MaterializedFrame enclosingFrame,
JSRealm realm,
Object classPrototype) |
static JSFunctionObject |
createBound(com.oracle.truffle.api.object.Shape shape,
JSFunctionData functionData,
JSRealm realm,
Object classPrototype,
com.oracle.truffle.api.object.DynamicObject boundTargetFunction,
Object boundThis,
Object[] boundArguments) |
Object |
execute(Object[] args,
JavaScriptLanguage language,
JSInteropExecuteNode callNode,
ExportValueNode exportNode) |
String |
getBuiltinToStringTag()
Returns builtinTag from step 14 of ES6+ 19.1.3.6.
|
String |
getClassName()
The [[Class]] internal property.
|
Object |
getClassPrototype() |
com.oracle.truffle.api.frame.MaterializedFrame |
getEnclosingFrame() |
JSFunctionData |
getFunctionData() |
Object |
getLexicalThis() |
Object |
getMetaObjectName() |
JSRealm |
getRealm() |
com.oracle.truffle.api.source.SourceSection |
getSourceLocation() |
boolean |
hasSourceLocation() |
Object |
instantiate(Object[] args,
JavaScriptLanguage language,
JSInteropInstantiateNode callNode,
ExportValueNode exportNode) |
boolean |
isExecutable(IsCallableNode isCallable) |
boolean |
isInstantiable() |
boolean |
isMetaInstance(Object instance) |
boolean |
isMetaObject() |
void |
setClassPrototype(Object classPrototype) |
getMetaObject, getMetaObjectImpl, hasMetaObjectdefineOwnProperty, delete, delete, getHelper, getHelper, getMethodHelper, getOwnHelper, getOwnHelper, getOwnProperty, getOwnPropertyKeys, getPrototypeOf, hasOnlyShapeProperties, hasOwnProperty, hasOwnProperty, hasProperty, hasProperty, isExtensible, preventExtensions, set, set, setIntegrityLevel, setPrototypeOf, testIntegrityLevel, toDisplayStringImpl, toStringcopyWithoutProperties, defaultToString, defineOwnProperty, defineOwnProperty, delete, delete, delete, delete, delete, delete, enumerableOwnNames, filterEnumerableNames, get, get, get, get, get, get, getArray, getClassName, getIterator, getJSClass, getJSContext, getLanguage, getMethod, getOrDefault, getOrDefault, getOrDefault, getOrDefault, getOwnProperty, getOwnProperty, getPrototype, getPrototype, getUncachedRead, getUncachedWrite, getWithReceiver, hasArray, hasIterator, hasLanguage, hasMemberReadSideEffects, hasMembers, hasMemberWriteSideEffects, hasOwnProperty, hasOwnProperty, hasOwnProperty, hasOwnProperty, hasProperty, hasProperty, hasProperty, hasProperty, invokeMember, isExtensible, isExtensible, isFrozen, isJSObject, isMemberInsertable, isMemberInvocable, isMemberModifiable, isMemberReadable, isMemberRemovable, isSealed, ordinaryToPrimitive, ownPropertyKeys, ownPropertyKeys, preventExtensions, preventExtensions, readMember, removeMember, set, set, set, set, setArray, setIntegrityLevel, setIntegrityLevel, setPrototype, setPrototype, setWithReceiver, setWithReceiver, testIntegrityLevel, toDisplayString, toDisplayString, toPrimitive, toPrimitive, writeMemberdefaultToString, getDynamicType, getIntOrDefault, getJSClass, getJSContext, getJSSharedData, getKeyArray, getObjectFlags, getOrDefault, getOrNull, getProperty, getPropertyArray, getPropertyFlags, getValue, getValue, identityHashCode, isJSDynamicObject, ownPropertyKeys, removeKey, setJSClass, setObjectFlags, setPropertyFlags, testProperties, updatePropertyFlagsprotected JSFunctionObject(com.oracle.truffle.api.object.Shape shape,
JSFunctionData functionData,
com.oracle.truffle.api.frame.MaterializedFrame enclosingFrame,
JSRealm realm,
Object classPrototype)
public final JSFunctionData getFunctionData()
public final com.oracle.truffle.api.frame.MaterializedFrame getEnclosingFrame()
public final JSRealm getRealm()
public final Object getClassPrototype()
public void setClassPrototype(Object classPrototype)
public Object getLexicalThis()
public String getClassName()
JSDynamicObjectgetClassName in class JSClassObjectpublic String getBuiltinToStringTag()
JSDynamicObjectgetBuiltinToStringTag in class JSClassObjectJSDynamicObject.defaultToString()public final boolean isExecutable(IsCallableNode isCallable)
public final Object execute(Object[] args, JavaScriptLanguage language, JSInteropExecuteNode callNode, ExportValueNode exportNode) throws com.oracle.truffle.api.interop.UnsupportedMessageException
com.oracle.truffle.api.interop.UnsupportedMessageExceptionpublic final boolean isInstantiable()
public final Object instantiate(Object[] args, JavaScriptLanguage language, JSInteropInstantiateNode callNode, ExportValueNode exportNode) throws com.oracle.truffle.api.interop.UnsupportedMessageException
com.oracle.truffle.api.interop.UnsupportedMessageExceptionpublic final boolean hasSourceLocation()
public final com.oracle.truffle.api.source.SourceSection getSourceLocation()
throws com.oracle.truffle.api.interop.UnsupportedMessageException
com.oracle.truffle.api.interop.UnsupportedMessageExceptionpublic final boolean isMetaObject()
public final Object getMetaObjectName()
public final boolean isMetaInstance(Object instance)
public static JSFunctionObject create(com.oracle.truffle.api.object.Shape shape, JSFunctionData functionData, com.oracle.truffle.api.frame.MaterializedFrame enclosingFrame, JSRealm realm, Object classPrototype)
public static JSFunctionObject createBound(com.oracle.truffle.api.object.Shape shape, JSFunctionData functionData, JSRealm realm, Object classPrototype, com.oracle.truffle.api.object.DynamicObject boundTargetFunction, Object boundThis, Object[] boundArguments)