public abstract static class TruffleString.CodeRangeEqualsNode extends Node
TruffleString.CodeRange
. See
TruffleString.CodeRangeEqualsNode.execute(AbstractTruffleString, TruffleString.CodeRange)
for details.Node.Child, Node.Children
Modifier and Type | Method and Description |
---|---|
static TruffleString.CodeRangeEqualsNode |
create()
Create a new
TruffleString.CodeRangeEqualsNode . |
abstract boolean |
execute(AbstractTruffleString a,
TruffleString.CodeRange codeRange)
Returns
true if the string's code range is equal to the given TruffleString.CodeRange . |
static TruffleString.CodeRangeEqualsNode |
getUncached()
Get the uncached version of
TruffleString.CodeRangeEqualsNode . |
accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, toString
public abstract boolean execute(AbstractTruffleString a, TruffleString.CodeRange codeRange)
true
if the string's code range is equal to the given TruffleString.CodeRange
.
Use this operation when caching code range instances, e.g.:
@Specialization(guards = "codeRangeEqualsNode.execute(a, cachedCodeRange)")
static void someOperation(TString a,
@Cached TruffleString.GetCodeRangeNode getCodeRangeNode,
@Cached TruffleString.CodeRangeEqualsNode codeRangeEqualsNode,
@Cached("getCodeRangeNode.execute(this, a)") CodeRange cachedCodeRange) {
// ...
}
public static TruffleString.CodeRangeEqualsNode create()
TruffleString.CodeRangeEqualsNode
.public static TruffleString.CodeRangeEqualsNode getUncached()
TruffleString.CodeRangeEqualsNode
.