Class JSToStringNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.cast.JSToStringNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,Cloneable
This implements ECMA 9.8. ToString.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.Children -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedprotectedJSToStringNode(boolean undefinedToEmpty, boolean symbolToString) -
Method Summary
Modifier and TypeMethodDescriptionstatic JSToStringNodecreate()static JSToStringNodeCreates a ToString node that returns the SymbolDescriptiveString for a symbol.static JSToStringNodeCreates a node that returns the empty string forundefined.protected com.oracle.truffle.api.strings.TruffleStringprotected com.oracle.truffle.api.strings.TruffleStringdoBoolean(boolean value) protected com.oracle.truffle.api.strings.TruffleStringdoDouble(double d, JSDoubleToStringNode doubleToStringNode) protected com.oracle.truffle.api.strings.TruffleStringdoInteger(int value, JSDoubleToStringNode doubleToStringNode) protected com.oracle.truffle.api.strings.TruffleStringdoJSObject(JSDynamicObject value, JSToPrimitiveNode toPrimitiveHintStringNode, JSToStringNode toStringNode) protected com.oracle.truffle.api.strings.TruffleStringdoLong(long value, JSDoubleToStringNode doubleToStringNode) protected com.oracle.truffle.api.strings.TruffleStringprotected com.oracle.truffle.api.strings.TruffleStringdoString(com.oracle.truffle.api.strings.TruffleString value) protected com.oracle.truffle.api.strings.TruffleStringprotected com.oracle.truffle.api.strings.TruffleStringdoTruffleObject(Object object, JSToPrimitiveNode toPrimitiveHintStringNode, JSToStringNode toStringNode) protected com.oracle.truffle.api.strings.TruffleStringdoUndefined(Object value) abstract com.oracle.truffle.api.strings.TruffleStringexecuteString(Object operand) Methods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
copy, getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, onReplace, reportLoopCount, reportLoopCountMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, reportReplace, toString
-
Constructor Details
-
JSToStringNode
protected JSToStringNode() -
JSToStringNode
protected JSToStringNode(boolean undefinedToEmpty, boolean symbolToString)
-
-
Method Details
-
create
-
createUndefinedToEmpty
Creates a node that returns the empty string forundefined. -
createSymbolToString
Creates a ToString node that returns the SymbolDescriptiveString for a symbol. Used by the String function if called without new (ES6 21.1.1.1 "String(value)"). -
executeString
-
doString
protected com.oracle.truffle.api.strings.TruffleString doString(com.oracle.truffle.api.strings.TruffleString value) -
doNull
-
doUndefined
-
doBoolean
protected com.oracle.truffle.api.strings.TruffleString doBoolean(boolean value) -
doInteger
protected com.oracle.truffle.api.strings.TruffleString doInteger(int value, JSDoubleToStringNode doubleToStringNode) -
doBigInt
-
doLong
protected com.oracle.truffle.api.strings.TruffleString doLong(long value, JSDoubleToStringNode doubleToStringNode) -
doDouble
protected com.oracle.truffle.api.strings.TruffleString doDouble(double d, JSDoubleToStringNode doubleToStringNode) -
doJSObject
protected com.oracle.truffle.api.strings.TruffleString doJSObject(JSDynamicObject value, JSToPrimitiveNode toPrimitiveHintStringNode, JSToStringNode toStringNode) -
doSymbol
-
doTruffleObject
protected com.oracle.truffle.api.strings.TruffleString doTruffleObject(Object object, JSToPrimitiveNode toPrimitiveHintStringNode, JSToStringNode toStringNode)
-