public abstract class JSToPrimitiveNode extends JavaScriptBaseNode
OrdinaryToPrimitiveNode
Modifier and Type | Class and Description |
---|---|
static class |
JSToPrimitiveNode.Hint |
Modifier and Type | Field and Description |
---|---|
protected JSToPrimitiveNode.Hint |
hint |
Modifier | Constructor and Description |
---|---|
protected |
JSToPrimitiveNode(JSToPrimitiveNode.Hint hint) |
Modifier and Type | Method and Description |
---|---|
static JSToPrimitiveNode |
create(JSToPrimitiveNode.Hint hint) |
protected PropertyGetNode |
createGetToPrimitive() |
static JSToPrimitiveNode |
createHintDefault() |
static JSToPrimitiveNode |
createHintNumber() |
static JSToPrimitiveNode |
createHintString() |
protected OrdinaryToPrimitiveNode |
createOrdinaryToPrimitive() |
protected BigInt |
doBigInt(BigInt value) |
protected boolean |
doBoolean(boolean value) |
protected double |
doDouble(double value) |
protected com.oracle.truffle.api.strings.TruffleString |
doFallback(Object value) |
protected Object |
doForeignObject(Object object,
com.oracle.truffle.api.nodes.Node node,
com.oracle.truffle.api.interop.InteropLibrary interop,
com.oracle.truffle.api.interop.InteropLibrary resultInterop,
com.oracle.truffle.api.profiles.InlinedConditionProfile exoticToPrimProfile,
ForeignObjectPrototypeNode foreignObjectPrototypeNode,
PropertyGetNode getToPrimitive,
IsPrimitiveNode isPrimitive,
JSFunctionCallNode callExoticToPrim,
com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch,
com.oracle.truffle.api.strings.TruffleString.SwitchEncodingNode switchEncoding) |
protected int |
doInt(int value) |
protected Object |
doJSObject(JSObject object,
com.oracle.truffle.api.nodes.Node node,
PropertyGetNode getToPrimitive,
IsPrimitiveNode isPrimitive,
com.oracle.truffle.api.profiles.InlinedConditionProfile exoticToPrimProfile,
JSFunctionCallNode callExoticToPrim) |
protected long |
doLong(long value) |
protected JSDynamicObject |
doNull(Object value) |
protected SafeInteger |
doSafeInteger(SafeInteger value) |
protected Object |
doString(com.oracle.truffle.api.strings.TruffleString value) |
protected Symbol |
doSymbol(Symbol value) |
protected JSDynamicObject |
doUndefined(Object value) |
abstract Object |
execute(Object value) |
static JSToPrimitiveNode |
getUncachedHintDefault() |
static JSToPrimitiveNode |
getUncachedHintNumber() |
static JSToPrimitiveNode |
getUncachedHintString() |
protected boolean |
isHintString() |
static Object |
tryHostObjectToPrimitive(Object object,
JSToPrimitiveNode.Hint hint,
com.oracle.truffle.api.interop.InteropLibrary interop) |
copy, getLanguage, getRealm, hasOverloadedOperators, onReplace
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, toString
protected final JSToPrimitiveNode.Hint hint
protected JSToPrimitiveNode(JSToPrimitiveNode.Hint hint)
public static JSToPrimitiveNode createHintDefault()
public static JSToPrimitiveNode createHintString()
public static JSToPrimitiveNode createHintNumber()
public static JSToPrimitiveNode create(JSToPrimitiveNode.Hint hint)
protected int doInt(int value)
protected SafeInteger doSafeInteger(SafeInteger value)
protected long doLong(long value)
protected double doDouble(double value)
protected boolean doBoolean(boolean value)
protected Object doString(com.oracle.truffle.api.strings.TruffleString value)
protected JSDynamicObject doNull(Object value)
protected JSDynamicObject doUndefined(Object value)
protected final Object doJSObject(JSObject object, com.oracle.truffle.api.nodes.Node node, PropertyGetNode getToPrimitive, IsPrimitiveNode isPrimitive, com.oracle.truffle.api.profiles.InlinedConditionProfile exoticToPrimProfile, JSFunctionCallNode callExoticToPrim)
protected final boolean isHintString()
protected final Object doForeignObject(Object object, com.oracle.truffle.api.nodes.Node node, com.oracle.truffle.api.interop.InteropLibrary interop, com.oracle.truffle.api.interop.InteropLibrary resultInterop, com.oracle.truffle.api.profiles.InlinedConditionProfile exoticToPrimProfile, ForeignObjectPrototypeNode foreignObjectPrototypeNode, PropertyGetNode getToPrimitive, IsPrimitiveNode isPrimitive, JSFunctionCallNode callExoticToPrim, com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch, com.oracle.truffle.api.strings.TruffleString.SwitchEncodingNode switchEncoding)
public static Object tryHostObjectToPrimitive(Object object, JSToPrimitiveNode.Hint hint, com.oracle.truffle.api.interop.InteropLibrary interop)
protected com.oracle.truffle.api.strings.TruffleString doFallback(Object value)
protected PropertyGetNode createGetToPrimitive()
protected OrdinaryToPrimitiveNode createOrdinaryToPrimitive()
public static JSToPrimitiveNode getUncachedHintDefault()
public static JSToPrimitiveNode getUncachedHintNumber()
public static JSToPrimitiveNode getUncachedHintString()