Class StringPrototypeBuiltins.JSStringReplaceNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.JavaScriptNode
com.oracle.truffle.js.nodes.function.AbstractBodyNode
com.oracle.truffle.js.nodes.function.JSBuiltinNode
com.oracle.truffle.js.builtins.StringPrototypeBuiltins.JSStringOperationWithRegExpArgument
com.oracle.truffle.js.builtins.StringPrototypeBuiltins.JSStringReplaceBaseNode
com.oracle.truffle.js.builtins.StringPrototypeBuiltins.JSStringReplaceNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode, com.oracle.truffle.api.nodes.NodeInterface, Cloneable
- Enclosing class:
StringPrototypeBuiltins
public abstract static class StringPrototypeBuiltins.JSStringReplaceNode
extends StringPrototypeBuiltins.JSStringReplaceBaseNode
Implementation of the String.prototype.replace() method as specified by ECMAScript 5.1 in
15.5.4.11.
-
Nested Class Summary
Nested classes/interfaces inherited from class StringPrototypeBuiltins.JSStringReplaceBaseNode
StringPrototypeBuiltins.JSStringReplaceBaseNode.ReplaceStringConsumerNested classes/interfaces inherited from class JSBuiltinNode
JSBuiltinNode.Inlineable, JSBuiltinNode.InlinedNested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenNested classes/interfaces inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode -
Field Summary
Fields inherited from class StringPrototypeBuiltins.JSStringReplaceBaseNode
appendStringNode, appendSubStringNode, builderToStringNode, functionalReplaceProfile, functionReplaceCallNode, replaceNecessaryProfileFields inherited from class StringPrototypeBuiltins.JSStringOperationWithRegExpArgument
regExpIgnoreLastIndexNode, regExpNodeFields inherited from class JSBuiltinNode
ARGUMENTSFields inherited from class JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ObjectreplaceGeneric(Object thisObj, Object searchValue, Object replaceValue, com.oracle.truffle.api.nodes.Node node, IsObjectNode isObject, JSToStringNode toString2Node, JSToStringNode toString3Node, IsCallableNode isCallableNode, com.oracle.truffle.api.profiles.InlinedBranchProfile dollarProfile, com.oracle.truffle.api.profiles.InlinedConditionProfile isSpecialProfile, com.oracle.truffle.api.profiles.InlinedConditionProfile callSpecialProfile) protected ObjectreplaceString(Object thisObj, com.oracle.truffle.api.strings.TruffleString searchValue, com.oracle.truffle.api.strings.TruffleString replaceValue, com.oracle.truffle.api.nodes.Node node, com.oracle.truffle.api.profiles.InlinedBranchProfile dollarProfile) protected ObjectreplaceStringCached(com.oracle.truffle.api.strings.TruffleString thisObj, com.oracle.truffle.api.strings.TruffleString searchValue, com.oracle.truffle.api.strings.TruffleString replaceValue, com.oracle.truffle.api.nodes.Node node, com.oracle.truffle.api.strings.TruffleString cachedReplaceValue, ReplaceStringParser.Token[] cachedParsedReplaceValue, com.oracle.truffle.api.strings.TruffleString.EqualNode equalsNode, com.oracle.truffle.api.profiles.InlinedBranchProfile dollarProfile) protected final voidrequireObjectCoercible(Object target) protected inttoIntegerAsInt(Object target) protected com.oracle.truffle.api.strings.TruffleStringprotected static intwithin(int value, int min, int max) protected static intwithinNumber(Number value, int min, int max) Methods inherited from class StringPrototypeBuiltins.JSStringReplaceBaseNode
appendSubstitution, functionReplaceCall, parseReplaceValueMethods inherited from class StringPrototypeBuiltins.JSStringOperationWithRegExpArgument
call, getMethod, getRegExpIgnoreLastIndexNode, getRegExpNode, invoke, matchIgnoreLastIndexMethods inherited from class JSBuiltinNode
copyUninitialized, countsTowardsStackTraceLimit, createBuiltin, getArguments, getBuiltin, getContext, getNodeObject, hasTag, isCallerSensitive, isInlineable, isSplitImmediately, tryCreateInlinedMethods inherited from class AbstractBodyNode
executeBoolean, executeDouble, executeInt, executeVoidMethods inherited from class JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, execute, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, isResultAlwaysOfType, onReplace, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsMethods inherited from class JavaScriptBaseNode
getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, reportLoopCount, reportLoopCountMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, reportReplaceMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
createProbe, findNearestNodeAt, findNearestNodeAt, findProbe, materializeInstrumentableNodes
-
Constructor Details
-
JSStringReplaceNode
-
-
Method Details
-
replaceStringCached
protected Object replaceStringCached(com.oracle.truffle.api.strings.TruffleString thisObj, com.oracle.truffle.api.strings.TruffleString searchValue, com.oracle.truffle.api.strings.TruffleString replaceValue, com.oracle.truffle.api.nodes.Node node, com.oracle.truffle.api.strings.TruffleString cachedReplaceValue, ReplaceStringParser.Token[] cachedParsedReplaceValue, com.oracle.truffle.api.strings.TruffleString.EqualNode equalsNode, com.oracle.truffle.api.profiles.InlinedBranchProfile dollarProfile) -
replaceString
-
replaceGeneric
protected Object replaceGeneric(Object thisObj, Object searchValue, Object replaceValue, com.oracle.truffle.api.nodes.Node node, IsObjectNode isObject, JSToStringNode toString2Node, JSToStringNode toString3Node, IsCallableNode isCallableNode, com.oracle.truffle.api.profiles.InlinedBranchProfile dollarProfile, com.oracle.truffle.api.profiles.InlinedConditionProfile isSpecialProfile, com.oracle.truffle.api.profiles.InlinedConditionProfile callSpecialProfile) -
within
protected static int within(int value, int min, int max) -
withinNumber
-
requireObjectCoercible
-
toString
-
toIntegerAsInt
-