public class ObjectLiteralNode extends JavaScriptNode
Modifier and Type | Class and Description |
---|---|
static class |
ObjectLiteralNode.MakeMethodNode |
static class |
ObjectLiteralNode.ObjectLiteralMemberNode |
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) |
com.oracle.truffle.api.object.DynamicObject |
execute(com.oracle.truffle.api.frame.VirtualFrame frame)
Executes this node using the specified context and frame and returns the result value.
|
com.oracle.truffle.api.object.DynamicObject |
executeWithObject(com.oracle.truffle.api.frame.VirtualFrame frame,
com.oracle.truffle.api.object.DynamicObject ret) |
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(String name,
boolean isStatic,
boolean enumerable,
JavaScriptNode getterNode,
JavaScriptNode setterNode) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newComputedAccessorMember(JavaScriptNode name,
boolean isStatic,
boolean enumerable,
JavaScriptNode getter,
JavaScriptNode setter) |
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(String name,
boolean isStatic,
boolean enumerable,
JavaScriptNode valueNode,
boolean isField) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newPrivateAccessorMember(boolean isStatic,
JavaScriptNode getterNode,
JavaScriptNode setterNode,
JSWriteFrameSlotNode writePrivateNode) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newPrivateFieldMember(JavaScriptNode name,
boolean isStatic,
JavaScriptNode valueNode,
JSWriteFrameSlotNode writePrivateNode) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newPrivateMethodMember(boolean isStatic,
JavaScriptNode valueNode,
JSWriteFrameSlotNode writePrivateNode) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newProtoMember(String name,
boolean isStatic,
JavaScriptNode valueNode) |
static ObjectLiteralNode.ObjectLiteralMemberNode |
newSpreadObjectMember(boolean isStatic,
JavaScriptNode valueNode) |
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeBoolean, executeDouble, executeInt, executeLong, executeSafeInteger, executeString, executeVoid, expressionToString, findBlockScopeNode, 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
public 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.InstrumentableNode
hasTag
in class JavaScriptNode
public Object getNodeObject()
public static ObjectLiteralNode.ObjectLiteralMemberNode newDataMember(String name, boolean isStatic, boolean enumerable, JavaScriptNode valueNode, boolean isField)
public static ObjectLiteralNode.ObjectLiteralMemberNode newAccessorMember(String 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(boolean isStatic, JavaScriptNode valueNode, JSWriteFrameSlotNode writePrivateNode)
public static ObjectLiteralNode.ObjectLiteralMemberNode newPrivateAccessorMember(boolean isStatic, JavaScriptNode getterNode, JavaScriptNode setterNode, JSWriteFrameSlotNode writePrivateNode)
public static ObjectLiteralNode.ObjectLiteralMemberNode newProtoMember(String name, boolean isStatic, JavaScriptNode valueNode)
public static ObjectLiteralNode.ObjectLiteralMemberNode newSpreadObjectMember(boolean isStatic, JavaScriptNode valueNode)
public static ObjectLiteralNode create(JSContext context, ObjectLiteralNode.ObjectLiteralMemberNode[] members)
public com.oracle.truffle.api.object.DynamicObject execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNode
execute
in class JavaScriptNode
frame
- the frame of the currently executing guest language methodpublic com.oracle.truffle.api.object.DynamicObject executeWithObject(com.oracle.truffle.api.frame.VirtualFrame frame, com.oracle.truffle.api.object.DynamicObject ret)
public boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType
in class JavaScriptNode
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized
in class JavaScriptNode