public class SLRootNode
extends com.oracle.truffle.api.nodes.RootNode
RootNode. This class is used for both builtin and user-defined functions. For
builtin functions, the SLRootNode.bodyNode is a subclass of SLBuiltinNode. For user-defined
functions, the SLRootNode.bodyNode is a SLFunctionBodyNode.| Constructor and Description |
|---|
SLRootNode(SLLanguage language,
com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor,
SLExpressionNode bodyNode,
com.oracle.truffle.api.source.SourceSection sourceSection,
com.oracle.truffle.api.strings.TruffleString name) |
| Modifier and Type | Method and Description |
|---|---|
Object |
execute(com.oracle.truffle.api.frame.VirtualFrame frame) |
SLExpressionNode |
getBodyNode() |
SLWriteLocalVariableNode[] |
getDeclaredArguments() |
String |
getName() |
com.oracle.truffle.api.source.SourceSection |
getSourceSection() |
com.oracle.truffle.api.strings.TruffleString |
getTSName() |
boolean |
isCloningAllowed() |
void |
setCloningAllowed(boolean isCloningAllowed) |
String |
toString() |
cloneUninitialized, copy, countsTowardsStackTraceLimit, createConstantNode, findAsynchronousFrames, getCallTarget, getFrameDescriptor, getQualifiedName, isCaptureFramesForTrace, isCloneUninitializedSupported, isInstrumentable, isInternal, isTrivial, prepareForAOT, translateStackTraceElementgetLanguage, getLanguageInfoaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecializepublic SLRootNode(SLLanguage language, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor, SLExpressionNode bodyNode, com.oracle.truffle.api.source.SourceSection sourceSection, com.oracle.truffle.api.strings.TruffleString name)
public com.oracle.truffle.api.source.SourceSection getSourceSection()
getSourceSection in class com.oracle.truffle.api.nodes.Nodepublic Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
execute in class com.oracle.truffle.api.nodes.RootNodepublic SLExpressionNode getBodyNode()
public String getName()
getName in class com.oracle.truffle.api.nodes.RootNodepublic com.oracle.truffle.api.strings.TruffleString getTSName()
public void setCloningAllowed(boolean isCloningAllowed)
public boolean isCloningAllowed()
isCloningAllowed in class com.oracle.truffle.api.nodes.RootNodepublic String toString()
toString in class com.oracle.truffle.api.nodes.Nodepublic final SLWriteLocalVariableNode[] getDeclaredArguments()