Class StringPrototypeBuiltins.JSStringSplitNode
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.JSStringSplitNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,Cloneable
- Enclosing class:
StringPrototypeBuiltins
public abstract static class StringPrototypeBuiltins.JSStringSplitNode
extends StringPrototypeBuiltins.JSStringOperationWithRegExpArgument
Implementation of the String.prototype.split() method as specified by ECMAScript 5.1 in
15.5.4.14.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.js.nodes.function.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 com.oracle.truffle.js.builtins.StringPrototypeBuiltins.JSStringOperationWithRegExpArgument
regExpIgnoreLastIndexNode, regExpNodeFields inherited from class com.oracle.truffle.js.nodes.function.JSBuiltinNode
ARGUMENTSFields inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected final booleanprotected booleanisFastPath(Object thisObj, Object separator, Object limit) protected final voidrequireObjectCoercible(Object target) protected ObjectsplitES5(Object thisObj, Object separator, Object limitObj, com.oracle.truffle.api.profiles.InlinedBranchProfile isUndefinedBranch, com.oracle.truffle.api.profiles.InlinedBranchProfile isRegexpBranch, com.oracle.truffle.api.profiles.InlinedBranchProfile isStringBranch, com.oracle.truffle.js.builtins.StringPrototypeBuiltins.JSStringSplitNode.StringSplitter stringSplitter, com.oracle.truffle.js.builtins.StringPrototypeBuiltins.JSStringSplitNode.RegExpSplitter regexpSplitter, com.oracle.truffle.api.profiles.InlinedConditionProfile zeroLimit, TRegexUtil.InteropReadIntMemberNode readGroupCount) protected ObjectsplitES6Generic(Object thisObj, Object separator, Object limit, com.oracle.truffle.js.builtins.StringPrototypeBuiltins.JSStringSplitNode.StringSplitter stringSplitter, com.oracle.truffle.api.profiles.InlinedConditionProfile zeroLimit, com.oracle.truffle.api.profiles.InlinedConditionProfile isSpecialProfile, com.oracle.truffle.api.profiles.InlinedConditionProfile callSpecialProfile) protected ObjectsplitES6StrStrUndefined(com.oracle.truffle.api.strings.TruffleString thisStr, com.oracle.truffle.api.strings.TruffleString sepStr, JSDynamicObject limit, com.oracle.truffle.js.builtins.StringPrototypeBuiltins.JSStringSplitNode.StringSplitter stringSplitter, com.oracle.truffle.api.profiles.InlinedConditionProfile zeroLimit) 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 com.oracle.truffle.js.builtins.StringPrototypeBuiltins.JSStringOperationWithRegExpArgument
call, getMethod, getRegExpIgnoreLastIndexNode, getRegExpNode, invoke, matchIgnoreLastIndexMethods inherited from class com.oracle.truffle.js.nodes.function.JSBuiltinNode
copyUninitialized, countsTowardsStackTraceLimit, createBuiltin, getArguments, getBuiltin, getContext, getNodeObject, hasTag, isCallerSensitive, isInlineable, isSplitImmediately, tryCreateInlinedMethods inherited from class com.oracle.truffle.js.nodes.function.AbstractBodyNode
executeBoolean, executeDouble, executeInt, executeVoidMethods inherited from class com.oracle.truffle.js.nodes.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 com.oracle.truffle.js.nodes.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 java.lang.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
-
JSStringSplitNode
-
-
Method Details
-
isES6OrNewer
protected final boolean isES6OrNewer() -
splitES5
protected Object splitES5(Object thisObj, Object separator, Object limitObj, com.oracle.truffle.api.profiles.InlinedBranchProfile isUndefinedBranch, com.oracle.truffle.api.profiles.InlinedBranchProfile isRegexpBranch, com.oracle.truffle.api.profiles.InlinedBranchProfile isStringBranch, com.oracle.truffle.js.builtins.StringPrototypeBuiltins.JSStringSplitNode.StringSplitter stringSplitter, com.oracle.truffle.js.builtins.StringPrototypeBuiltins.JSStringSplitNode.RegExpSplitter regexpSplitter, com.oracle.truffle.api.profiles.InlinedConditionProfile zeroLimit, TRegexUtil.InteropReadIntMemberNode readGroupCount) -
isFastPath
-
splitES6StrStrUndefined
protected Object splitES6StrStrUndefined(com.oracle.truffle.api.strings.TruffleString thisStr, com.oracle.truffle.api.strings.TruffleString sepStr, JSDynamicObject limit, com.oracle.truffle.js.builtins.StringPrototypeBuiltins.JSStringSplitNode.StringSplitter stringSplitter, com.oracle.truffle.api.profiles.InlinedConditionProfile zeroLimit) -
splitES6Generic
protected Object splitES6Generic(Object thisObj, Object separator, Object limit, com.oracle.truffle.js.builtins.StringPrototypeBuiltins.JSStringSplitNode.StringSplitter stringSplitter, com.oracle.truffle.api.profiles.InlinedConditionProfile zeroLimit, 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
-