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 |
protected FunctionRootNode |
functionNode |
INTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
JSFunctionExpressionNode(JSFunctionData functionData,
FunctionRootNode functionNode) |
| Modifier and Type | Method and Description |
|---|---|
static JSFunctionExpressionNode |
create(JSFunctionData function,
FunctionRootNode functionNode) |
static JSFunctionExpressionNode |
createEmpty(JSContext context,
int length,
String sourceName) |
static JSFunctionExpressionNode |
createLexicalThis(JSFunctionData function,
FunctionRootNode functionNode,
JavaScriptNode thisNode) |
JSFunctionData |
getFunctionData() |
String |
getFunctionName() |
FunctionRootNode |
getFunctionNode() |
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(String name) |
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, copyUninitialized, createWrapper, execute, executeBoolean, executeDouble, executeInt, executeLong, executeSafeInteger, executeString, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, isResultAlwaysOfType, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, lookupContextReference, lookupLanguageReference, notifyInserted, replace, replace, reportPolymorphicSpecializeclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitisAnonymousprotected final JSFunctionData functionData
protected final FunctionRootNode functionNode
protected JSFunctionExpressionNode(JSFunctionData functionData, FunctionRootNode functionNode)
public static JSFunctionExpressionNode create(JSFunctionData function, FunctionRootNode functionNode)
public static JSFunctionExpressionNode createLexicalThis(JSFunctionData function, FunctionRootNode functionNode, JavaScriptNode thisNode)
public static JSFunctionExpressionNode createEmpty(JSContext context, int length, String sourceName)
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 JSFunctionData getFunctionData()
public FunctionRootNode getFunctionNode()
public String getFunctionName()
getFunctionName in interface FunctionNameHolderpublic void setFunctionName(String name)
setFunctionName in interface FunctionNameHolder