public abstract class InitializeInstanceElementsNode extends JavaScriptNode
InitializeInstanceElementsNode.executeStaticElements(java.lang.Object, com.oracle.truffle.js.nodes.function.ClassElementDefinitionRecord[])).| Modifier and Type | Field and Description |
|---|---|
protected JSTargetableNode |
brandNode |
protected JavaScriptNode |
constructorNode |
protected JSContext |
context |
protected JSTargetableNode |
fieldsNode |
protected JSTargetableNode |
initializersNode |
protected JavaScriptNode |
targetNode |
INTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
InitializeInstanceElementsNode(JSContext context,
JavaScriptNode targetNode,
JavaScriptNode constructorNode) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static InitializeInstanceElementsNode |
create(JSContext context) |
static JavaScriptNode |
create(JSContext context,
JavaScriptNode targetNode,
JavaScriptNode constructorNode) |
protected abstract Object |
executeEvaluated(Object target,
Object constructor,
ClassElementDefinitionRecord[] fields,
Object[] initializers,
Object brand) |
Object |
executeStaticElements(Object targetConstructor,
ClassElementDefinitionRecord[] staticElements) |
protected static Object |
privateBrandAdd(Object target,
Object constructor,
Object fields,
Object initializers,
Object brand,
PrivateFieldAddNode privateBrandAddNode) |
protected static Object |
withFields(Object target,
Object constructor,
ClassElementDefinitionRecord[] fields,
Object[] initializers,
Object brand,
PrivateFieldAddNode privateBrandAddNode,
com.oracle.truffle.js.nodes.access.InitializeInstanceElementsNode.InitializeFieldOrAccessorNode[] fieldNodes,
JSFunctionCallNode callInit) |
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, execute, executeBoolean, executeDouble, executeInt, executeLong, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, hasTag, isInstrumentable, isResultAlwaysOfType, 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, reportPolymorphicSpecializeprotected JavaScriptNode targetNode
protected JavaScriptNode constructorNode
protected JSTargetableNode fieldsNode
protected JSTargetableNode initializersNode
protected JSTargetableNode brandNode
protected final JSContext context
protected InitializeInstanceElementsNode(JSContext context, JavaScriptNode targetNode, JavaScriptNode constructorNode)
public static JavaScriptNode create(JSContext context, JavaScriptNode targetNode, JavaScriptNode constructorNode)
public static InitializeInstanceElementsNode create(JSContext context)
public final Object executeStaticElements(Object targetConstructor, ClassElementDefinitionRecord[] staticElements)
protected abstract Object executeEvaluated(Object target, Object constructor, ClassElementDefinitionRecord[] fields, Object[] initializers, Object brand)
protected static Object withFields(Object target, Object constructor, ClassElementDefinitionRecord[] fields, Object[] initializers, Object brand, PrivateFieldAddNode privateBrandAddNode, com.oracle.truffle.js.nodes.access.InitializeInstanceElementsNode.InitializeFieldOrAccessorNode[] fieldNodes, JSFunctionCallNode callInit)
protected static Object privateBrandAdd(Object target, Object constructor, Object fields, Object initializers, Object brand, PrivateFieldAddNode privateBrandAddNode)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode