Class ObjectLiteralNode.ClassElementNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.access.ObjectLiteralNode.ObjectLiteralMemberNode
com.oracle.truffle.js.nodes.access.ObjectLiteralNode.ClassElementNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,Cloneable
- Direct Known Subclasses:
ObjectLiteralNode.AutoAccessorDataMemberNode,ObjectLiteralNode.ComputedObjectLiteralDataMemberNode,ObjectLiteralNode.ObjectLiteralAccessorMemberNode,ObjectLiteralNode.PrivateClassElementNode
- Enclosing class:
ObjectLiteralNode
public abstract static class ObjectLiteralNode.ClassElementNode
extends ObjectLiteralNode.ObjectLiteralMemberNode
Base class for object members that can be used as ES class elements.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.Children -
Field Summary
Fields inherited from class com.oracle.truffle.js.nodes.access.ObjectLiteralNode.ObjectLiteralMemberNode
attributes, EMPTY, isAnonymousFunctionDefinition, isFieldOrStaticBlock, isStatic -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedClassElementNode(boolean isStatic, int attributes) protectedClassElementNode(boolean isStatic, int attributes, boolean isFieldOrStaticBlock, boolean isAnonymousFunctionDefinition) -
Method Summary
Modifier and TypeMethodDescriptionprotected final voidcheckNoElementsAssumption(JSObject obj, Object key) abstract voiddefineClassElement(com.oracle.truffle.api.frame.VirtualFrame frame, JSObject homeObject, ClassElementDefinitionRecord classElement) abstract ClassElementDefinitionRecordevaluateClassElementDefinition(com.oracle.truffle.api.frame.VirtualFrame frame, JSObject homeObject, JSRealm realm, Object[] decorators) voidexecuteVoid(com.oracle.truffle.api.frame.VirtualFrame frame, JSObject receiver, JSObject homeObject, JSRealm realm) Unused in case of class element definition evaluation.Methods inherited from class com.oracle.truffle.js.nodes.access.ObjectLiteralNode.ObjectLiteralMemberNode
cloneUninitialized, copyUninitialized, evaluateWithHomeObject, executeVoid, getAttributes, isAnonymousFunctionDefinition, isFieldOrStaticBlock, isMethodNode, isPrivate, isStaticMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
copy, getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, onReplaceMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, toString
-
Constructor Details
-
ClassElementNode
protected ClassElementNode(boolean isStatic, int attributes, boolean isFieldOrStaticBlock, boolean isAnonymousFunctionDefinition) -
ClassElementNode
protected ClassElementNode(boolean isStatic, int attributes)
-
-
Method Details
-
evaluateClassElementDefinition
public abstract ClassElementDefinitionRecord evaluateClassElementDefinition(com.oracle.truffle.api.frame.VirtualFrame frame, JSObject homeObject, JSRealm realm, Object[] decorators) - Overrides:
evaluateClassElementDefinitionin classObjectLiteralNode.ObjectLiteralMemberNode
-
defineClassElement
public abstract void defineClassElement(com.oracle.truffle.api.frame.VirtualFrame frame, JSObject homeObject, ClassElementDefinitionRecord classElement) - Overrides:
defineClassElementin classObjectLiteralNode.ObjectLiteralMemberNode
-
executeVoid
public void executeVoid(com.oracle.truffle.api.frame.VirtualFrame frame, JSObject receiver, JSObject homeObject, JSRealm realm) Unused in case of class element definition evaluation.- Specified by:
executeVoidin classObjectLiteralNode.ObjectLiteralMemberNode
-
checkNoElementsAssumption
-