public abstract class JSToObjectArrayNode extends JavaScriptBaseNode
By default, throws TypeError for null or
undefined (can be changed by using JSToObjectArrayNode.create(JSContext, boolean)).
| Modifier and Type | Field and Description |
|---|---|
protected JSContext |
context |
protected boolean |
nullOrUndefinedAsEmptyArray |
| Modifier | Constructor and Description |
|---|---|
protected |
JSToObjectArrayNode(JSContext context,
boolean nullOrUndefinedAsEmptyArray) |
| Modifier and Type | Method and Description |
|---|---|
static JSToObjectArrayNode |
create(JSContext context) |
static JSToObjectArrayNode |
create(JSContext context,
boolean nullOrUndefinedAsEmptyArray) |
static JavaScriptNode |
create(JSContext context,
JavaScriptNode operand) |
protected Object[] |
doFallback(Object value,
com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch) |
protected Object[] |
doForeignObject(Object obj,
com.oracle.truffle.api.nodes.Node node,
com.oracle.truffle.api.interop.InteropLibrary interop,
com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch,
com.oracle.truffle.api.profiles.InlinedBranchProfile hasPropertiesBranch,
ImportValueNode foreignConvertNode) |
protected Object[] |
doList(Object value,
com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch) |
protected Object[] |
doNull(Object value,
com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch) |
protected Object[] |
doUndefined(Object value,
com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch) |
abstract Object[] |
executeObjectArray(Object value) |
protected Object[] |
passArray(Object[] array,
com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch) |
protected Object[] |
toArray(JSObject obj,
com.oracle.truffle.api.nodes.Node node,
JSGetLengthNode getLengthNode,
ReadElementNode readNode,
com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch) |
protected Object[] |
toArrayBoolean(boolean value,
com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch) |
protected Object[] |
toArrayDouble(double value,
com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch) |
protected Object[] |
toArrayInt(int value,
com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch) |
protected Object[] |
toArrayString(com.oracle.truffle.api.strings.TruffleString value,
com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch) |
copy, getLanguage, getRealm, hasOverloadedOperators, onReplaceaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, toStringprotected final JSContext context
protected final boolean nullOrUndefinedAsEmptyArray
protected JSToObjectArrayNode(JSContext context, boolean nullOrUndefinedAsEmptyArray)
public static JSToObjectArrayNode create(JSContext context)
public static JSToObjectArrayNode create(JSContext context, boolean nullOrUndefinedAsEmptyArray)
public static JavaScriptNode create(JSContext context, JavaScriptNode operand)
protected Object[] toArray(JSObject obj, com.oracle.truffle.api.nodes.Node node, JSGetLengthNode getLengthNode, ReadElementNode readNode, com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch)
protected Object[] doUndefined(Object value, com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch)
protected Object[] doNull(Object value, com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch)
protected Object[] toArrayString(com.oracle.truffle.api.strings.TruffleString value, com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch)
protected Object[] toArrayInt(int value, com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch)
protected Object[] toArrayDouble(double value, com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch)
protected Object[] toArrayBoolean(boolean value, com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch)
protected Object[] passArray(Object[] array, com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch)
protected Object[] doList(Object value, com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch)
protected Object[] doForeignObject(Object obj, com.oracle.truffle.api.nodes.Node node, com.oracle.truffle.api.interop.InteropLibrary interop, com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch, com.oracle.truffle.api.profiles.InlinedBranchProfile hasPropertiesBranch, ImportValueNode foreignConvertNode)