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 RootNode. This class is used for both builtin and user-defined functions. For builtin functions, the
invalid reference
#bodyNode
is a subclass of SLBuiltinNode. For user-defined functions, the
invalid reference
#bodyNode
is a 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
    Modifier and Type
    Field
    Description
    protected boolean
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    SLRootNode(SLLanguage language, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract com.oracle.truffle.api.source.SourceSection
     
     
    abstract Object[]
    getLocalNames(com.oracle.truffle.api.frame.FrameInstance frame)
     
    abstract Object[]
    getLocalValues(com.oracle.truffle.api.frame.FrameInstance frame)
     
     
    abstract com.oracle.truffle.api.source.SourceSection
     
    abstract com.oracle.truffle.api.strings.TruffleString
     
    boolean
     
    void
    setCloningAllowed(boolean isCloningAllowed)
     
    abstract void
    setLocalValues(com.oracle.truffle.api.frame.FrameInstance frame, Object[] args)
     
     

    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, translateStackTraceElement

    Methods inherited from class com.oracle.truffle.api.nodes.ExecutableNode

    getLanguage, getLanguageInfo

    Methods 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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • 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:
      getSourceSection in class com.oracle.truffle.api.nodes.Node
    • getBodyNode

      public abstract SLExpressionNode getBodyNode()
    • getName

      public String getName()
      Overrides:
      getName in class com.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:
      isCloningAllowed in class com.oracle.truffle.api.nodes.RootNode
    • toString

      public String toString()
      Overrides:
      toString in class com.oracle.truffle.api.nodes.Node
    • getLocalValues

      public abstract Object[] getLocalValues(com.oracle.truffle.api.frame.FrameInstance frame)
    • getLocalNames

      public abstract Object[] getLocalNames(com.oracle.truffle.api.frame.FrameInstance frame)
    • setLocalValues

      public abstract void setLocalValues(com.oracle.truffle.api.frame.FrameInstance frame, Object[] args)
    • ensureSourceSection

      public abstract com.oracle.truffle.api.source.SourceSection ensureSourceSection()