Package com.oracle.truffle.sl.nodes
Class SLRootNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.ExecutableNode
com.oracle.truffle.api.nodes.RootNode
com.oracle.truffle.sl.nodes.SLRootNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,Cloneable
- Direct Known Subclasses:
SLAstRootNode,SLBytecodeRootNode,SLUndefinedFunctionRootNode
public abstract class SLRootNode
extends com.oracle.truffle.api.nodes.RootNode
The root of all SL execution trees. It is a Truffle requirement that the tree root extends the
class
is a subclass of
is a
RootNode. This class is used for both builtin and user-defined functions. For
builtin functions, the
invalid reference
#bodyNode
SLBuiltinNode. For user-defined
functions, the
invalid reference
#bodyNode
SLFunctionBodyNode.-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.Children -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionSLRootNode(SLLanguage language, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor) -
Method Summary
Modifier and TypeMethodDescriptionabstract com.oracle.truffle.api.source.SourceSectionabstract SLExpressionNodeabstract Object[]getLocalNames(com.oracle.truffle.api.frame.FrameInstance frame) abstract Object[]getLocalValues(com.oracle.truffle.api.frame.FrameInstance frame) getName()abstract com.oracle.truffle.api.source.SourceSectionabstract com.oracle.truffle.api.strings.TruffleStringbooleanvoidsetCloningAllowed(boolean isCloningAllowed) abstract voidsetLocalValues(com.oracle.truffle.api.frame.FrameInstance frame, Object[] args) toString()Methods inherited from class com.oracle.truffle.api.nodes.RootNode
cloneUninitialized, computeSize, copy, countsTowardsStackTraceLimit, createConstantNode, execute, findAsynchronousFrames, findBytecodeIndex, findInstrumentableCallNode, getCallTarget, getFrameDescriptor, getParentFrameDescriptor, getQualifiedName, isCaptureFramesForTrace, isCaptureFramesForTrace, isCaptureFramesForTrace, isCloneUninitializedSupported, isInstrumentable, isInternal, isSameFrame, isTrivial, prepareForAOT, prepareForInstrumentation, translateStackTraceElementMethods inherited from class com.oracle.truffle.api.nodes.ExecutableNode
getLanguage, getLanguageInfoMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, reportReplace
-
Field Details
-
isCloningAllowed
protected transient boolean isCloningAllowed
-
-
Constructor Details
-
SLRootNode
public SLRootNode(SLLanguage language, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor)
-
-
Method Details
-
getSourceSection
public abstract com.oracle.truffle.api.source.SourceSection getSourceSection()- Overrides:
getSourceSectionin classcom.oracle.truffle.api.nodes.Node
-
getBodyNode
-
getName
- Overrides:
getNamein classcom.oracle.truffle.api.nodes.RootNode
-
getTSName
public abstract com.oracle.truffle.api.strings.TruffleString getTSName() -
setCloningAllowed
public void setCloningAllowed(boolean isCloningAllowed) -
isCloningAllowed
public boolean isCloningAllowed()- Overrides:
isCloningAllowedin classcom.oracle.truffle.api.nodes.RootNode
-
toString
- Overrides:
toStringin classcom.oracle.truffle.api.nodes.Node
-
getLocalValues
-
getLocalNames
-
setLocalValues
public abstract void setLocalValues(com.oracle.truffle.api.frame.FrameInstance frame, Object[] args) -
ensureSourceSection
public abstract com.oracle.truffle.api.source.SourceSection ensureSourceSection()
-