public final class ClassDefinitionNode extends JavaScriptNode implements FunctionNameHolder
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenFunctionNameHolder.DelegateINTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
ClassDefinitionNode(JSContext context,
JSFunctionExpressionNode constructorFunctionNode,
JavaScriptNode classHeritageNode,
ObjectLiteralNode.ObjectLiteralMemberNode[] memberNodes,
JSWriteFrameSlotNode writeClassBindingNode,
boolean hasName,
int instanceFieldCount,
int staticFieldCount,
boolean hasPrivateInstanceMethods) |
| 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,
boolean hasName,
int instanceFieldCount,
int staticFieldCount,
boolean hasPrivateInstanceMethods) |
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 |
executeWithClassName(com.oracle.truffle.api.frame.VirtualFrame frame,
Object className) |
String |
getFunctionName() |
boolean |
isResultAlwaysOfType(Class<?> clazz) |
void |
setFunctionName(String name) |
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeBoolean, executeDouble, executeInt, executeLong, executeSafeInteger, executeString, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, hasTag, isInstrumentable, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, lookupContextReference, lookupLanguageReference, notifyInserted, replace, replace, reportPolymorphicSpecializeclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitisAnonymousprotected ClassDefinitionNode(JSContext context, JSFunctionExpressionNode constructorFunctionNode, JavaScriptNode classHeritageNode, ObjectLiteralNode.ObjectLiteralMemberNode[] memberNodes, JSWriteFrameSlotNode writeClassBindingNode, boolean hasName, int instanceFieldCount, int staticFieldCount, boolean hasPrivateInstanceMethods)
public static ClassDefinitionNode create(JSContext context, JSFunctionExpressionNode constructorFunction, JavaScriptNode classHeritage, ObjectLiteralNode.ObjectLiteralMemberNode[] members, JSWriteFrameSlotNode writeClassBinding, boolean hasName, int instanceFieldCount, int staticFieldCount, boolean hasPrivateInstanceMethods)
public com.oracle.truffle.api.object.DynamicObject execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeexecute in class JavaScriptNodeframe - the frame of the currently executing guest language methodpublic com.oracle.truffle.api.object.DynamicObject executeWithClassName(com.oracle.truffle.api.frame.VirtualFrame frame,
Object className)
public boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType in class JavaScriptNodepublic String getFunctionName()
getFunctionName in interface FunctionNameHolderpublic void setFunctionName(String name)
setFunctionName in interface FunctionNameHolderprotected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode