Class ObjectLiteralNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.JavaScriptNode
com.oracle.truffle.js.nodes.access.ObjectLiteralNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,Cloneable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classBase class for object members that can be used as ES class elements.static classstatic classstatic final classstatic classstatic classstatic classstatic classstatic classBase class for all private class elements.static classNested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenNested classes/interfaces inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode -
Field Summary
Fields inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
ConstructorsConstructorDescriptionObjectLiteralNode(ObjectLiteralNode.ObjectLiteralMemberNode[] members, CreateObjectNode objectCreateNode) -
Method Summary
Modifier and TypeMethodDescriptionprotected JavaScriptNodecopyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) static ObjectLiteralNodecreate(JSContext context, ObjectLiteralNode.ObjectLiteralMemberNode[] members) execute(com.oracle.truffle.api.frame.VirtualFrame frame) Executes this node using the specified context and frame and returns the result value.protected static ObjectexecuteWithRealm(JavaScriptNode valueNode, com.oracle.truffle.api.frame.VirtualFrame frame, JSRealm realm) booleanbooleanisResultAlwaysOfType(Class<?> clazz) newAccessorMember(com.oracle.truffle.api.strings.TruffleString name, boolean isStatic, boolean enumerable, JavaScriptNode getterNode, JavaScriptNode setterNode) newAccessorMember(Object name, boolean isStatic, int attributes, JavaScriptNode getterNode, JavaScriptNode setterNode) newAutoAccessor(com.oracle.truffle.api.strings.TruffleString name, boolean isStatic, boolean enumerable, JavaScriptNode valueNode) newComputedAccessorMember(JavaScriptNode name, boolean isStatic, boolean enumerable, JavaScriptNode getter, JavaScriptNode setter) newComputedAutoAccessor(JavaScriptNode keyNode, boolean isStatic, boolean enumerable, JavaScriptNode valueNode) newComputedDataMember(JavaScriptNode name, boolean isStatic, boolean enumerable, JavaScriptNode valueNode, boolean isField, boolean isAnonymousFunctionDefinition) newComputedDataMember(JavaScriptNode name, boolean isStatic, int attributes, JavaScriptNode valueNode) newDataMember(com.oracle.truffle.api.strings.TruffleString name, boolean isStatic, boolean enumerable, JavaScriptNode valueNode, boolean isField) newDataMember(Object name, boolean isStatic, int attributes, JavaScriptNode valueNode) newPrivateAccessorMember(boolean isStatic, JavaScriptNode getterNode, JavaScriptNode setterNode, JSWriteFrameSlotNode writePrivateNode, int privateBrandSlotIndex) newPrivateAutoAccessorMember(boolean isStatic, JavaScriptNode valueNode, JSWriteFrameSlotNode writePrivateAccessor, JavaScriptNode storageKey, int privateBrandSlotIndex) newPrivateFieldMember(JavaScriptNode name, boolean isStatic, JavaScriptNode valueNode, JSWriteFrameSlotNode writePrivateNode) newPrivateMethodMember(com.oracle.truffle.api.strings.TruffleString privateName, boolean isStatic, JavaScriptNode valueNode, JSWriteFrameSlotNode writePrivateNode, int privateBrandSlotIndex) newProtoMember(com.oracle.truffle.api.strings.TruffleString name, boolean isStatic, JavaScriptNode valueNode) newSpreadObjectMember(boolean isStatic, JavaScriptNode valueNode) newStaticBlockMember(JavaScriptNode valueNode) Methods inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeBoolean, executeDouble, executeInt, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, onReplace, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, reportLoopCount, reportLoopCountMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, reportReplaceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
createProbe, findNearestNodeAt, findNearestNodeAt, findProbe, materializeInstrumentableNodes
-
Constructor Details
-
ObjectLiteralNode
public ObjectLiteralNode(ObjectLiteralNode.ObjectLiteralMemberNode[] members, CreateObjectNode objectCreateNode)
-
-
Method Details
-
hasTag
- Specified by:
hasTagin interfacecom.oracle.truffle.api.instrumentation.InstrumentableNode- Overrides:
hasTagin classJavaScriptNode
-
getNodeObject
-
executeWithRealm
protected static Object executeWithRealm(JavaScriptNode valueNode, com.oracle.truffle.api.frame.VirtualFrame frame, JSRealm realm) -
newDataMember
public static ObjectLiteralNode.ObjectLiteralMemberNode newDataMember(com.oracle.truffle.api.strings.TruffleString name, boolean isStatic, boolean enumerable, JavaScriptNode valueNode, boolean isField) -
newAutoAccessor
public static ObjectLiteralNode.ObjectLiteralMemberNode newAutoAccessor(com.oracle.truffle.api.strings.TruffleString name, boolean isStatic, boolean enumerable, JavaScriptNode valueNode) -
newComputedAutoAccessor
public static ObjectLiteralNode.ObjectLiteralMemberNode newComputedAutoAccessor(JavaScriptNode keyNode, boolean isStatic, boolean enumerable, JavaScriptNode valueNode) -
newAccessorMember
public static ObjectLiteralNode.ObjectLiteralMemberNode newAccessorMember(com.oracle.truffle.api.strings.TruffleString name, boolean isStatic, boolean enumerable, JavaScriptNode getterNode, JavaScriptNode setterNode) -
newComputedDataMember
public static ObjectLiteralNode.ObjectLiteralMemberNode newComputedDataMember(JavaScriptNode name, boolean isStatic, boolean enumerable, JavaScriptNode valueNode, boolean isField, boolean isAnonymousFunctionDefinition) -
newComputedAccessorMember
public static ObjectLiteralNode.ObjectLiteralMemberNode newComputedAccessorMember(JavaScriptNode name, boolean isStatic, boolean enumerable, JavaScriptNode getter, JavaScriptNode setter) -
newDataMember
public static ObjectLiteralNode.ObjectLiteralMemberNode newDataMember(Object name, boolean isStatic, int attributes, JavaScriptNode valueNode) -
newAccessorMember
public static ObjectLiteralNode.ObjectLiteralMemberNode newAccessorMember(Object name, boolean isStatic, int attributes, JavaScriptNode getterNode, JavaScriptNode setterNode) -
newComputedDataMember
public static ObjectLiteralNode.ObjectLiteralMemberNode newComputedDataMember(JavaScriptNode name, boolean isStatic, int attributes, JavaScriptNode valueNode) -
newPrivateFieldMember
public static ObjectLiteralNode.ObjectLiteralMemberNode newPrivateFieldMember(JavaScriptNode name, boolean isStatic, JavaScriptNode valueNode, JSWriteFrameSlotNode writePrivateNode) -
newPrivateMethodMember
public static ObjectLiteralNode.ObjectLiteralMemberNode newPrivateMethodMember(com.oracle.truffle.api.strings.TruffleString privateName, boolean isStatic, JavaScriptNode valueNode, JSWriteFrameSlotNode writePrivateNode, int privateBrandSlotIndex) -
newPrivateAccessorMember
public static ObjectLiteralNode.ObjectLiteralMemberNode newPrivateAccessorMember(boolean isStatic, JavaScriptNode getterNode, JavaScriptNode setterNode, JSWriteFrameSlotNode writePrivateNode, int privateBrandSlotIndex) -
newPrivateAutoAccessorMember
public static ObjectLiteralNode.ObjectLiteralMemberNode newPrivateAutoAccessorMember(boolean isStatic, JavaScriptNode valueNode, JSWriteFrameSlotNode writePrivateAccessor, JavaScriptNode storageKey, int privateBrandSlotIndex) -
newProtoMember
public static ObjectLiteralNode.ObjectLiteralMemberNode newProtoMember(com.oracle.truffle.api.strings.TruffleString name, boolean isStatic, JavaScriptNode valueNode) -
newSpreadObjectMember
public static ObjectLiteralNode.ObjectLiteralMemberNode newSpreadObjectMember(boolean isStatic, JavaScriptNode valueNode) -
newStaticBlockMember
public static ObjectLiteralNode.ObjectLiteralMemberNode newStaticBlockMember(JavaScriptNode valueNode) -
create
public static ObjectLiteralNode create(JSContext context, ObjectLiteralNode.ObjectLiteralMemberNode[] members) -
execute
Description copied from class:JavaScriptNodeExecutes this node using the specified context and frame and returns the result value.- Specified by:
executein classJavaScriptNode- Parameters:
frame- the frame of the currently executing guest language method- Returns:
- the value of the execution
-
isResultAlwaysOfType
- Overrides:
isResultAlwaysOfTypein classJavaScriptNode
-
copyUninitialized
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) - Overrides:
copyUninitializedin classJavaScriptNode
-