public abstract static class TruffleStringBuilder.ToStringNode extends Node
TruffleString.Node.Child, Node.Children| Modifier and Type | Method and Description |
|---|---|
static TruffleStringBuilder.ToStringNode |
create()
Create a new
TruffleStringBuilder.ToStringNode. |
TruffleString |
execute(TruffleStringBuilder sb)
Materialize this string builder to a
TruffleString. |
abstract TruffleString |
execute(TruffleStringBuilder sb,
boolean lazy)
Materialize this string builder to a
TruffleString. |
static TruffleStringBuilder.ToStringNode |
getUncached()
Get the uncached version of
TruffleStringBuilder.ToStringNode. |
accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, toStringpublic final TruffleString execute(TruffleStringBuilder sb)
TruffleString.public abstract TruffleString execute(TruffleStringBuilder sb, boolean lazy)
TruffleString.
If lazy is true, sb's internal storage will be re-used even if
there are unused bytes. Since the resulting string will have a reference to sb's
internal storage, and TruffleString currently does not resize/trim the
substring's internal storage at any point, the lazy variant effectively creates a
memory leak! The caller is responsible for deciding whether this is acceptable or not.public static TruffleStringBuilder.ToStringNode create()
TruffleStringBuilder.ToStringNode.public static TruffleStringBuilder.ToStringNode getUncached()
TruffleStringBuilder.ToStringNode.