Class TagTreeNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.bytecode.TagTreeNode
- All Implemented Interfaces:
TagTree, NodeInterface, Cloneable
Class that implements tag tree
NodeLibrary
dispatch for tag tree items. This class is
only intended to be used when implementing a custom tag tree node library
.
All implementations of this class are intended to be generated and are not supposed to be implemented manually.
- Since:
- 24.2
-
Nested Class Summary
Nested classes/interfaces inherited from class Node
Node.Child, Node.Children
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
TagTreeNode
(Object token) Internal constructor for generated code. -
Method Summary
Modifier and TypeMethodDescriptionfinal Object
createDefaultScope
(Frame frame, boolean nodeEnter) Creates a default scope implementation based of this tag tree node.protected Class
<?> dispatch()
Returns the currently usedNodeLibrary
exports for this tag library.Returns the bytecode node associated with this node.protected abstract Class
<? extends TruffleLanguage<?>> Allows to access the language instance associated with this node.final String
toString()
Converts this node to a textual representation useful for debugging.Methods inherited from class Node
accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, reportReplace
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface TagTree
getEnterBytecodeIndex, getReturnBytecodeIndex, getSourceSection, getSourceSections, getTags, getTreeChildren, hasTag
-
Constructor Details
-
TagTreeNode
Internal constructor for generated code. Do not use.- Since:
- 24.2
-
-
Method Details
-
getLanguage
Allows to access the language instance associated with this node.- Since:
- 24.2
-
dispatch
Returns the currently usedNodeLibrary
exports for this tag library.- Since:
- 24.2
-
getBytecodeNode
Returns the bytecode node associated with this node.- Since:
- 24.2
-
createDefaultScope
Creates a default scope implementation based of this tag tree node. The scope returned represents the default scope implementation in use without any configuration inGenerateBytecode
. The scope respects your interpreter's choice ofblock/root scoping
. Use this method if the default scope implementation is usable for your language but other methods inNodeLibrary
need to be implemented differently.The scope used for a tag tree node can be customized by setting
GenerateBytecode.tagTreeNodeLibrary()
and overridingNodeLibrary.getScope(Object, Frame, boolean)
.- Since:
- 24.2
-
toString
-