public abstract class JSFunctionExpressionNode extends JavaScriptNode implements FunctionNameHolder
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenFunctionNameHolder.Delegate| Modifier and Type | Field and Description |
|---|---|
protected JSFunctionData |
functionData |
INTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
JSFunctionExpressionNode(JSFunctionData functionData) |
| Modifier and Type | Method and Description |
|---|---|
static JSFunctionExpressionNode |
create(JSFunctionData function) |
static JSFunctionExpressionNode |
create(JSFunctionData function,
JSFrameSlot blockScopeSlot) |
static JSFunctionExpressionNode |
createLexicalThis(JSFunctionData function,
JSFrameSlot blockScopeSlot,
JavaScriptNode thisNode) |
Object |
execute(com.oracle.truffle.api.frame.VirtualFrame frame)
Executes this node using the specified context and frame and returns the result value.
|
abstract Object |
executeWithRealm(com.oracle.truffle.api.frame.VirtualFrame frame,
JSRealm realm) |
JSFunctionData |
getFunctionData() |
com.oracle.truffle.api.strings.TruffleString |
getFunctionName() |
Object |
getNodeObject() |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
com.oracle.truffle.api.instrumentation.InstrumentableNode |
materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
void |
setFunctionName(com.oracle.truffle.api.strings.TruffleString name) |
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, copyUninitialized, createWrapper, executeBoolean, executeDouble, executeInt, executeLong, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, isResultAlwaysOfType, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsgetLanguage, getRealm, hasOverloadedOperatorsaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecializeclone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitisAnonymousprotected final JSFunctionData functionData
protected JSFunctionExpressionNode(JSFunctionData functionData)
public static JSFunctionExpressionNode create(JSFunctionData function)
public static JSFunctionExpressionNode create(JSFunctionData function, JSFrameSlot blockScopeSlot)
public static JSFunctionExpressionNode createLexicalThis(JSFunctionData function, JSFrameSlot blockScopeSlot, JavaScriptNode thisNode)
public final Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeexecute in class JavaScriptNodeframe - the frame of the currently executing guest language methodpublic abstract Object executeWithRealm(com.oracle.truffle.api.frame.VirtualFrame frame, JSRealm realm)
public boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
hasTag in interface com.oracle.truffle.api.instrumentation.InstrumentableNodehasTag in class JavaScriptNodepublic Object getNodeObject()
getNodeObject in interface com.oracle.truffle.api.instrumentation.InstrumentableNodepublic com.oracle.truffle.api.instrumentation.InstrumentableNode materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
materializeInstrumentableNodes in interface com.oracle.truffle.api.instrumentation.InstrumentableNodepublic final JSFunctionData getFunctionData()
public com.oracle.truffle.api.strings.TruffleString getFunctionName()
getFunctionName in interface FunctionNameHolderpublic void setFunctionName(com.oracle.truffle.api.strings.TruffleString name)
setFunctionName in interface FunctionNameHolder