public abstract class ArrayLiteralNode extends JavaScriptNode
Modifier and Type | Class and Description |
---|---|
static class |
ArrayLiteralNode.ArrayContentType |
static class |
ArrayLiteralNode.SpreadArrayNode |
Modifier and Type | Field and Description |
---|---|
protected JSContext |
context |
INTERMEDIATE_VALUE
Modifier | Constructor and Description |
---|---|
|
ArrayLiteralNode(ArrayLiteralNode copy) |
protected |
ArrayLiteralNode(JSContext context) |
Modifier and Type | Method and Description |
---|---|
static ArrayLiteralNode |
create(JSContext context,
JavaScriptNode[] elements) |
static byte[] |
createByteArray(Object[] values) |
static double[] |
createDoubleArray(Object[] values) |
static int[] |
createIntArray(Object[] values) |
static ArrayLiteralNode |
createWithSpread(JSContext context,
JavaScriptNode[] elements) |
com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode |
createWrapper(com.oracle.truffle.api.instrumentation.ProbeNode probe) |
Object |
execute(com.oracle.truffle.api.frame.VirtualFrame frame)
Executes this node using the specified context and frame and returns the result value.
|
abstract com.oracle.truffle.api.object.DynamicObject |
executeDynamicObject(com.oracle.truffle.api.frame.VirtualFrame frame) |
Object |
getNodeObject() |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
static ArrayLiteralNode.ArrayContentType |
identifyPrimitiveContentType(Object[] values,
boolean createBytes) |
boolean |
isResultAlwaysOfType(Class<?> clazz) |
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, copyUninitialized, executeBoolean, executeByte, executeCharacter, executeDouble, executeFloat, executeInt, executeLargeInteger, executeLong, executeObjectArray, executeString, executeTruffleObject, executeVoid, expressionToString, getSourceSection, hasSourceSection, isInstrumentable, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTags
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, lookupContextReference, lookupLanguageReference, notifyInserted, replace, replace, reportPolymorphicSpecialize
protected final JSContext context
public ArrayLiteralNode(ArrayLiteralNode copy)
protected ArrayLiteralNode(JSContext context)
public final Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNode
execute
in class JavaScriptNode
frame
- the frame of the currently executing guest language methodpublic boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
hasTag
in interface com.oracle.truffle.api.instrumentation.InstrumentableNode
hasTag
in class JavaScriptNode
public Object getNodeObject()
public com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode createWrapper(com.oracle.truffle.api.instrumentation.ProbeNode probe)
createWrapper
in interface com.oracle.truffle.api.instrumentation.InstrumentableNode
createWrapper
in class JavaScriptNode
public abstract com.oracle.truffle.api.object.DynamicObject executeDynamicObject(com.oracle.truffle.api.frame.VirtualFrame frame)
executeDynamicObject
in class JavaScriptNode
public static ArrayLiteralNode create(JSContext context, JavaScriptNode[] elements)
public static ArrayLiteralNode createWithSpread(JSContext context, JavaScriptNode[] elements)
public static ArrayLiteralNode.ArrayContentType identifyPrimitiveContentType(Object[] values, boolean createBytes)
public static double[] createDoubleArray(Object[] values)
public static int[] createIntArray(Object[] values)
public static byte[] createByteArray(Object[] values)
public boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType
in class JavaScriptNode