public final class ClassDefinitionNode extends NamedEvaluationTargetNode implements FunctionNameHolder, ResumableNode.WithObjectState
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenFunctionNameHolder.DelegateResumableNode.WithIntState, ResumableNode.WithObjectStateINTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
ClassDefinitionNode(JSContext context,
JSFunctionExpressionNode constructorFunctionNode,
JavaScriptNode classHeritageNode,
ObjectLiteralNode.ObjectLiteralMemberNode[] memberNodes,
JSWriteFrameSlotNode writeClassBindingNode,
JSWriteFrameSlotNode writeInternalConstructorBrand,
JavaScriptNode[] classDecorators,
DecoratorListEvaluationNode[] memberDecorators,
com.oracle.truffle.api.strings.TruffleString className,
int instanceElementsCount,
int staticElementCount,
boolean hasPrivateInstanceMethods,
boolean hasInstanceFieldsOrAccessors,
int blockScopeSlot) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static ClassDefinitionNode |
create(JSContext context,
JSFunctionExpressionNode constructorFunction,
JavaScriptNode classHeritage,
ObjectLiteralNode.ObjectLiteralMemberNode[] members,
JSWriteFrameSlotNode writeClassBinding,
JSWriteFrameSlotNode writeInternalConstructorBrand,
com.oracle.truffle.api.strings.TruffleString className,
JavaScriptNode[] classDecorators,
DecoratorListEvaluationNode[] memberDecorators,
int instanceFieldCount,
int staticElementCount,
boolean hasPrivateInstanceMethods,
boolean hasInstanceFieldsOrAccessors,
JSFrameSlot blockScopeSlot) |
Object |
execute(com.oracle.truffle.api.frame.VirtualFrame frame)
Executes this node using the specified context and frame and returns the result value.
|
Object |
executeWithName(com.oracle.truffle.api.frame.VirtualFrame frame,
Object name) |
com.oracle.truffle.api.strings.TruffleString |
getClassName() |
com.oracle.truffle.api.strings.TruffleString |
getFunctionName() |
boolean |
isResultAlwaysOfType(Class<?> clazz) |
Object |
resume(com.oracle.truffle.api.frame.VirtualFrame frame,
int stateSlot) |
void |
setFunctionName(com.oracle.truffle.api.strings.TruffleString name) |
createWrapperaddCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, executeBoolean, executeDouble, executeInt, executeLong, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, hasTag, 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, reportPolymorphicSpecializeclone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitisAnonymousgetState, getStateAndReset, getStateSlotKind, setStateasResumableNode, createResumableNode, resetStateprotected ClassDefinitionNode(JSContext context, JSFunctionExpressionNode constructorFunctionNode, JavaScriptNode classHeritageNode, ObjectLiteralNode.ObjectLiteralMemberNode[] memberNodes, JSWriteFrameSlotNode writeClassBindingNode, JSWriteFrameSlotNode writeInternalConstructorBrand, JavaScriptNode[] classDecorators, DecoratorListEvaluationNode[] memberDecorators, com.oracle.truffle.api.strings.TruffleString className, int instanceElementsCount, int staticElementCount, boolean hasPrivateInstanceMethods, boolean hasInstanceFieldsOrAccessors, int blockScopeSlot)
public static ClassDefinitionNode create(JSContext context, JSFunctionExpressionNode constructorFunction, JavaScriptNode classHeritage, ObjectLiteralNode.ObjectLiteralMemberNode[] members, JSWriteFrameSlotNode writeClassBinding, JSWriteFrameSlotNode writeInternalConstructorBrand, com.oracle.truffle.api.strings.TruffleString className, JavaScriptNode[] classDecorators, DecoratorListEvaluationNode[] memberDecorators, int instanceFieldCount, int staticElementCount, boolean hasPrivateInstanceMethods, boolean hasInstanceFieldsOrAccessors, JSFrameSlot blockScopeSlot)
public Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeexecute in class JavaScriptNodeframe - the frame of the currently executing guest language methodpublic Object resume(com.oracle.truffle.api.frame.VirtualFrame frame, int stateSlot)
resume in interface ResumableNodepublic Object executeWithName(com.oracle.truffle.api.frame.VirtualFrame frame, Object name)
executeWithName in class NamedEvaluationTargetNodepublic boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType in class JavaScriptNodepublic com.oracle.truffle.api.strings.TruffleString getFunctionName()
getFunctionName in interface FunctionNameHolderpublic com.oracle.truffle.api.strings.TruffleString getClassName()
public void setFunctionName(com.oracle.truffle.api.strings.TruffleString name)
setFunctionName in interface FunctionNameHolderprotected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode