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, toStringpublic 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.