public class ObjectLiteralNode extends JavaScriptNode
| Modifier and Type | Class and Description |
|---|---|
static class |
ObjectLiteralNode.AutoAccessorDataMemberNode |
static class |
ObjectLiteralNode.ClassElementNode
Base class for object members that can be used as ES class elements.
|
static class |
ObjectLiteralNode.ComputedAutoAccessorDataMemberNode |
static class |
ObjectLiteralNode.ComputedObjectLiteralDataMemberNode |
static class |
ObjectLiteralNode.MakeMethodNode |
static class |
ObjectLiteralNode.ObjectLiteralAccessorMemberNode |
static class |
ObjectLiteralNode.ObjectLiteralMemberNode |
static class |
ObjectLiteralNode.PrivateAccessorMemberNode |
static class |
ObjectLiteralNode.PrivateAutoAccessorMemberNode |
static class |
ObjectLiteralNode.PrivateClassElementNode
Base class for all private class elements.
|
static class |
ObjectLiteralNode.PrivateMethodMemberNode |
INTERMEDIATE_VALUE| Constructor and Description |
|---|
ObjectLiteralNode(ObjectLiteralNode.ObjectLiteralMemberNode[] members,
CreateObjectNode objectCreateNode) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static ObjectLiteralNode |
create(JSContext context,
ObjectLiteralNode.ObjectLiteralMemberNode[] members) |
JSDynamicObject |
execute(com.oracle.truffle.api.frame.VirtualFrame frame)
Executes this node using the specified context and frame and returns the result value.
|
protected JSDynamicObject |
executeWithObject(com.oracle.truffle.api.frame.VirtualFrame frame,
JSDynamicObject ret,
JSRealm realm) |
protected static Object |
executeWithRealm(JavaScriptNode valueNode,
com.oracle.truffle.api.frame.VirtualFrame frame,
JSRealm realm) |
Object |
getNodeObject() |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
boolean |
isResultAlwaysOfType(Class<?> clazz) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newAccessorMember(Object name,
boolean isStatic,
int attributes,
JavaScriptNode getterNode,
JavaScriptNode setterNode) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newAccessorMember(com.oracle.truffle.api.strings.TruffleString name,
boolean isStatic,
boolean enumerable,
JavaScriptNode getterNode,
JavaScriptNode setterNode) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newAutoAccessor(com.oracle.truffle.api.strings.TruffleString name,
boolean isStatic,
boolean enumerable,
JavaScriptNode valueNode) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newComputedAccessorMember(JavaScriptNode name,
boolean isStatic,
boolean enumerable,
JavaScriptNode getter,
JavaScriptNode setter) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newComputedAutoAccessor(JavaScriptNode keyNode,
boolean isStatic,
boolean enumerable,
JavaScriptNode valueNode) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newComputedDataMember(JavaScriptNode name,
boolean isStatic,
boolean enumerable,
JavaScriptNode valueNode,
boolean isField,
boolean isAnonymousFunctionDefinition) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newComputedDataMember(JavaScriptNode name,
boolean isStatic,
int attributes,
JavaScriptNode valueNode) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newDataMember(Object name,
boolean isStatic,
int attributes,
JavaScriptNode valueNode) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newDataMember(com.oracle.truffle.api.strings.TruffleString name,
boolean isStatic,
boolean enumerable,
JavaScriptNode valueNode,
boolean isField) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newPrivateAccessorMember(boolean isStatic,
JavaScriptNode getterNode,
JavaScriptNode setterNode,
JSWriteFrameSlotNode writePrivateNode,
int privateBrandSlotIndex) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newPrivateAutoAccessorMember(boolean isStatic,
JavaScriptNode valueNode,
JSWriteFrameSlotNode writePrivateAccessor,
JavaScriptNode storageKey,
int privateBrandSlotIndex) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newPrivateFieldMember(JavaScriptNode name,
boolean isStatic,
JavaScriptNode valueNode,
JSWriteFrameSlotNode writePrivateNode) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newPrivateMethodMember(com.oracle.truffle.api.strings.TruffleString privateName,
boolean isStatic,
JavaScriptNode valueNode,
JSWriteFrameSlotNode writePrivateNode,
int privateBrandSlotIndex) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newProtoMember(com.oracle.truffle.api.strings.TruffleString name,
boolean isStatic,
JavaScriptNode valueNode) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newSpreadObjectMember(boolean isStatic,
JavaScriptNode valueNode) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newStaticBlockMember(JavaScriptNode valueNode) |
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeBoolean, executeDouble, executeInt, executeLong, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsgetLanguage, getRealm, hasOverloadedOperatorsaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecializepublic ObjectLiteralNode(ObjectLiteralNode.ObjectLiteralMemberNode[] members, CreateObjectNode objectCreateNode)
public boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
hasTag in interface com.oracle.truffle.api.instrumentation.InstrumentableNodehasTag in class JavaScriptNodepublic Object getNodeObject()
protected static Object executeWithRealm(JavaScriptNode valueNode, com.oracle.truffle.api.frame.VirtualFrame frame, JSRealm realm)
public static ObjectLiteralNode.ObjectLiteralMemberNode newDataMember(com.oracle.truffle.api.strings.TruffleString name, boolean isStatic, boolean enumerable, JavaScriptNode valueNode, boolean isField)
public static ObjectLiteralNode.ObjectLiteralMemberNode newAutoAccessor(com.oracle.truffle.api.strings.TruffleString name, boolean isStatic, boolean enumerable, JavaScriptNode valueNode)
public static ObjectLiteralNode.ObjectLiteralMemberNode newComputedAutoAccessor(JavaScriptNode keyNode, boolean isStatic, boolean enumerable, JavaScriptNode valueNode)
public static ObjectLiteralNode.ObjectLiteralMemberNode newAccessorMember(com.oracle.truffle.api.strings.TruffleString name, boolean isStatic, boolean enumerable, JavaScriptNode getterNode, JavaScriptNode setterNode)
public static ObjectLiteralNode.ObjectLiteralMemberNode newComputedDataMember(JavaScriptNode name, boolean isStatic, boolean enumerable, JavaScriptNode valueNode, boolean isField, boolean isAnonymousFunctionDefinition)
public static ObjectLiteralNode.ObjectLiteralMemberNode newComputedAccessorMember(JavaScriptNode name, boolean isStatic, boolean enumerable, JavaScriptNode getter, JavaScriptNode setter)
public static ObjectLiteralNode.ObjectLiteralMemberNode newDataMember(Object name, boolean isStatic, int attributes, JavaScriptNode valueNode)
public static ObjectLiteralNode.ObjectLiteralMemberNode newAccessorMember(Object name, boolean isStatic, int attributes, JavaScriptNode getterNode, JavaScriptNode setterNode)
public static ObjectLiteralNode.ObjectLiteralMemberNode newComputedDataMember(JavaScriptNode name, boolean isStatic, int attributes, JavaScriptNode valueNode)
public static ObjectLiteralNode.ObjectLiteralMemberNode newPrivateFieldMember(JavaScriptNode name, boolean isStatic, JavaScriptNode valueNode, JSWriteFrameSlotNode writePrivateNode)
public static ObjectLiteralNode.ObjectLiteralMemberNode newPrivateMethodMember(com.oracle.truffle.api.strings.TruffleString privateName, boolean isStatic, JavaScriptNode valueNode, JSWriteFrameSlotNode writePrivateNode, int privateBrandSlotIndex)
public static ObjectLiteralNode.ObjectLiteralMemberNode newPrivateAccessorMember(boolean isStatic, JavaScriptNode getterNode, JavaScriptNode setterNode, JSWriteFrameSlotNode writePrivateNode, int privateBrandSlotIndex)
public static ObjectLiteralNode.ObjectLiteralMemberNode newPrivateAutoAccessorMember(boolean isStatic, JavaScriptNode valueNode, JSWriteFrameSlotNode writePrivateAccessor, JavaScriptNode storageKey, int privateBrandSlotIndex)
public static ObjectLiteralNode.ObjectLiteralMemberNode newProtoMember(com.oracle.truffle.api.strings.TruffleString name, boolean isStatic, JavaScriptNode valueNode)
public static ObjectLiteralNode.ObjectLiteralMemberNode newSpreadObjectMember(boolean isStatic, JavaScriptNode valueNode)
public static ObjectLiteralNode.ObjectLiteralMemberNode newStaticBlockMember(JavaScriptNode valueNode)
public static ObjectLiteralNode create(JSContext context, ObjectLiteralNode.ObjectLiteralMemberNode[] members)
public JSDynamicObject execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeexecute in class JavaScriptNodeframe - the frame of the currently executing guest language methodprotected JSDynamicObject executeWithObject(com.oracle.truffle.api.frame.VirtualFrame frame, JSDynamicObject ret, JSRealm realm)
public boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType in class JavaScriptNodeprotected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode