Class StringPrototypeBuiltins.JSStringReplaceES5Node
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.JSStringReplaceES5Node
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode, com.oracle.truffle.api.nodes.NodeInterface, Cloneable
- Enclosing class:
StringPrototypeBuiltins
public abstract static class StringPrototypeBuiltins.JSStringReplaceES5Node
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 ClassesModifier and TypeClassDescriptionprotected static final classprotected static final classNested 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 final Objectmatch(JSRegExpObject regExp, com.oracle.truffle.api.strings.TruffleString input) protected Objectreplace(Object thisObj, Object searchValue, Object replaceValue, com.oracle.truffle.api.nodes.Node node, JSToStringNode toString2Node, JSToStringNode toString3Node, com.oracle.truffle.api.profiles.InlinedCountingConditionProfile ifIsMatch, com.oracle.truffle.api.profiles.InlinedConditionProfile isRegExp, com.oracle.truffle.api.profiles.InlinedCountingConditionProfile isFnRepl, TRegexUtil.InteropReadIntMemberNode readGroupCount, TRegexUtil.InteropReadBooleanMemberNode readIsMatch, TRegexUtil.TRegexCompiledRegexSingleFlagAccessorNode getGlobalFlag, com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch) 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
-
JSStringReplaceES5Node
-
-
Method Details
-
replace
protected Object replace(Object thisObj, Object searchValue, Object replaceValue, com.oracle.truffle.api.nodes.Node node, JSToStringNode toString2Node, JSToStringNode toString3Node, com.oracle.truffle.api.profiles.InlinedCountingConditionProfile ifIsMatch, com.oracle.truffle.api.profiles.InlinedConditionProfile isRegExp, com.oracle.truffle.api.profiles.InlinedCountingConditionProfile isFnRepl, TRegexUtil.InteropReadIntMemberNode readGroupCount, TRegexUtil.InteropReadBooleanMemberNode readIsMatch, TRegexUtil.TRegexCompiledRegexSingleFlagAccessorNode getGlobalFlag, com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch) -
match
protected final Object match(JSRegExpObject regExp, com.oracle.truffle.api.strings.TruffleString input) -
within
protected static int within(int value, int min, int max) -
withinNumber
-
requireObjectCoercible
-
toString
-
toIntegerAsInt
-