public abstract class JSFunctionObject extends JSNonProxyObject
| Modifier and Type | Class and Description |
|---|---|
static class |
JSFunctionObject.Bound
Bound function exotic object.
|
static class |
JSFunctionObject.BoundOrWrapped
Bound or wrapped function exotic object.
|
static class |
JSFunctionObject.Unbound |
static class |
JSFunctionObject.Wrapped
Wrapped function exotic object.
|
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,
JSDynamicObject proto,
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,
JSDynamicObject proto,
JSFunctionData functionData,
com.oracle.truffle.api.frame.MaterializedFrame enclosingFrame,
JSRealm realm,
Object classPrototype) |
static JSFunctionObject |
createBound(com.oracle.truffle.api.object.Shape shape,
JSDynamicObject proto,
JSFunctionData functionData,
JSRealm realm,
Object classPrototype,
Object boundTargetFunction,
Object boundThis,
Object[] boundArguments) |
static JSFunctionObject |
createWrapped(com.oracle.truffle.api.object.Shape shape,
JSDynamicObject proto,
JSFunctionData functionData,
JSRealm realm,
Object boundTargetFunction) |
Object |
execute(Object[] args,
com.oracle.truffle.api.interop.InteropLibrary self,
JSInteropExecuteNode callNode,
ExportValueNode exportNode) |
com.oracle.truffle.api.strings.TruffleString |
getBuiltinToStringTag()
Returns builtinTag from step 14 of ES6+ 19.1.3.6.
|
com.oracle.truffle.api.strings.TruffleString |
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,
com.oracle.truffle.api.interop.InteropLibrary self,
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, toDisplayStringImplcopyWithoutProperties, defaultToString, defineOwnProperty, defineOwnProperty, delete, delete, delete, delete, delete, delete, enumerableOwnNames, filterEnumerableNames, get, get, get, get, getArray, getClassName, getIterator, getJSClass, getJSContext, getLanguage, getMethod, 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, language, ordinaryToPrimitive, ownPropertyKeys, ownPropertyKeys, preventExtensions, preventExtensions, readMember, removeMember, set, set, set, set, setArray, setIntegrityLevel, setIntegrityLevel, setPrototype, setPrototype, setWithReceiver, setWithReceiver, testIntegrityLevel, 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,
JSDynamicObject proto,
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 com.oracle.truffle.api.strings.TruffleString getClassName()
JSDynamicObjectgetClassName in class JSClassObjectpublic com.oracle.truffle.api.strings.TruffleString getBuiltinToStringTag()
JSDynamicObjectgetBuiltinToStringTag in class JSClassObjectJSDynamicObject.defaultToString()public final boolean isExecutable(IsCallableNode isCallable)
public final Object execute(Object[] args, com.oracle.truffle.api.interop.InteropLibrary self, 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, com.oracle.truffle.api.interop.InteropLibrary self, 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, JSDynamicObject proto, JSFunctionData functionData, com.oracle.truffle.api.frame.MaterializedFrame enclosingFrame, JSRealm realm, Object classPrototype)
public static JSFunctionObject createBound(com.oracle.truffle.api.object.Shape shape, JSDynamicObject proto, JSFunctionData functionData, JSRealm realm, Object classPrototype, Object boundTargetFunction, Object boundThis, Object[] boundArguments)
public static JSFunctionObject createWrapped(com.oracle.truffle.api.object.Shape shape, JSDynamicObject proto, JSFunctionData functionData, JSRealm realm, Object boundTargetFunction)