Class TruffleString.CopyToByteArrayNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.strings.TruffleString.CopyToByteArrayNode
- All Implemented Interfaces:
NodeInterface, Cloneable
- Enclosing class:
TruffleString
Node to copy a region of a string into a byte array. See
execute(AbstractTruffleString, int, byte[], int, int, TruffleString.Encoding)
for
details.- Since:
- 22.1
-
Nested Class Summary
Nested classes/interfaces inherited from class Node
Node.Child, Node.Children
Modifier and TypeClassDescriptionstatic @interface
Marks fields that represent child nodes of this node.static @interface
Marks array fields that are children of this node. -
Method Summary
Modifier and TypeMethodDescriptioncreate()
Create a newTruffleString.CopyToByteArrayNode
.abstract void
execute
(AbstractTruffleString a, int byteFromIndexA, byte[] dst, int byteFromIndexDst, int byteLength, TruffleString.Encoding expectedEncoding) Copy a region of the givenTruffleString
a
, bounded bybyteFromIndexA
andbyteLength
into the given byte array, at starting atbyteFromIndexDst
.final byte[]
execute
(AbstractTruffleString string, TruffleString.Encoding expectedEncoding) Copy the entire string to a byte[] and return it.Get the uncached version ofTruffleString.CopyToByteArrayNode
.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, toString
Modifier and TypeMethodDescriptionfinal void
accept
(NodeVisitor nodeVisitor) Invokes theNodeVisitor.visit(Node)
method for this node and recursively also for all child nodes.final void
final void
final <T> T
copy()
Creates a shallow copy of this node.deepCopy()
Creates a deep copy of this node.Iterator over the children of this node.getCost()
Deprecated.in 24.1 without replacementReturns properties of this node interesting for debugging and can be overwritten by subclasses to add their own custom properties.Returns a user-readable description of the purpose of the Node, or "" if no description is available.Retrieves the segment of guest language source code that is represented by this Node, if present; otherwise retrieves the segment represented by the nearest AST ancestor that has this information.protected final Lock
getLock()
Returns a lock object that can be used to synchronize modifications to the AST.final Node
The current parent node of this node.final RootNode
Get the root node of the tree a node belongs to.Retrieves the segment of guest language source code that is represented by this Node.final <T extends Node>
Tinsert
(T newChild) final <T extends Node>
T[]insert
(T[] newChildren) boolean
Returnstrue
if this node can be adopted by a parent.final boolean
isSafelyReplaceableBy
(Node newNode) Checks if this node can be replaced by another node: tree structure & type.protected final void
notifyInserted
(Node node) Notifies the framework about the insertion of one or more nodes during execution.protected void
onReplace
(Node newNode, CharSequence reason) Intended to be implemented by subclasses ofNode
to receive a notification when the node is rewritten.final <T extends Node>
Treplace
(T newNode) Replaces this node with another node.final <T extends Node>
Treplace
(T newNode, CharSequence reason) Replaces this node with another node.final void
Notifies the runtime that this node specialized to a polymorphic state.protected final void
reportReplace
(Node oldNode, Node newNode, CharSequence reason) Reports thatoldNode
was replaced withnewNode
, notifying anyreplace observers
and invalidating any compiled call targets.toString()
Converts this node to a textual representation useful for debugging.
-
Method Details
-
execute
Copy the entire string to a byte[] and return it.- Since:
- 22.2
-
execute
public abstract void execute(AbstractTruffleString a, int byteFromIndexA, byte[] dst, int byteFromIndexDst, int byteLength, TruffleString.Encoding expectedEncoding) Copy a region of the givenTruffleString
a
, bounded bybyteFromIndexA
andbyteLength
into the given byte array, at starting atbyteFromIndexDst
.- Since:
- 22.1
-
create
Create a newTruffleString.CopyToByteArrayNode
.- Since:
- 22.1
-
getUncached
Get the uncached version ofTruffleString.CopyToByteArrayNode
.- Since:
- 22.1
-