public class AsyncGeneratorYieldNode extends AbstractAwaitNode implements ResumableNode.WithIntState
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenResumableNode.WithIntState, ResumableNode.WithObjectState| Modifier and Type | Field and Description |
|---|---|
protected ReturnNode |
returnNode |
context, expression, readAsyncContextNode, readAsyncResultNode, stateSlotINTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
AsyncGeneratorYieldNode(JSContext context,
int stateSlot,
JavaScriptNode expression,
JSReadFrameSlotNode readAsyncContextNode,
JSReadFrameSlotNode readYieldResultNode,
ReturnNode returnNode) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static AsyncGeneratorYieldNode |
createYield(JSContext context,
int stateSlot,
JavaScriptNode expression,
JSReadFrameSlotNode readAsyncContextNode,
JSReadFrameSlotNode readAsyncResultNode,
ReturnNode returnNode) |
static AsyncGeneratorYieldNode |
createYieldStar(JSContext context,
int stateSlot,
JavaScriptNode expression,
JSReadFrameSlotNode readAsyncContextNode,
JSReadFrameSlotNode readAsyncResultNode,
ReturnNode returnNode,
int iteratorTempSlot) |
Object |
execute(com.oracle.truffle.api.frame.VirtualFrame frame)
Executes this node using the specified context and frame and returns the result value.
|
protected Completion |
resumeYield(com.oracle.truffle.api.frame.VirtualFrame frame) |
protected Object |
returnValue(com.oracle.truffle.api.frame.VirtualFrame frame,
Object value) |
protected Object |
suspendYield(com.oracle.truffle.api.frame.VirtualFrame frame,
Object awaited) |
echoInput, findAsyncStackFramesFromHandler, findAsyncStackFramesFromPromise, getNodeObject, hasTag, resumeAwait, suspendAwaitaddCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeBoolean, executeDouble, executeInt, executeLong, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, 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, reportPolymorphicSpecializeclone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitgetStateAsInt, getStateAsIntAndReset, getStateSlotKind, setStateAsIntasResumableNode, createResumableNode, resetState, resumeprotected ReturnNode returnNode
protected AsyncGeneratorYieldNode(JSContext context, int stateSlot, JavaScriptNode expression, JSReadFrameSlotNode readAsyncContextNode, JSReadFrameSlotNode readYieldResultNode, ReturnNode returnNode)
public static AsyncGeneratorYieldNode createYield(JSContext context, int stateSlot, JavaScriptNode expression, JSReadFrameSlotNode readAsyncContextNode, JSReadFrameSlotNode readAsyncResultNode, ReturnNode returnNode)
public static AsyncGeneratorYieldNode createYieldStar(JSContext context, int stateSlot, JavaScriptNode expression, JSReadFrameSlotNode readAsyncContextNode, JSReadFrameSlotNode readAsyncResultNode, ReturnNode returnNode, int iteratorTempSlot)
public Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeexecute in class JavaScriptNodeframe - the frame of the currently executing guest language methodprotected final Object suspendYield(com.oracle.truffle.api.frame.VirtualFrame frame, Object awaited)
protected final Completion resumeYield(com.oracle.truffle.api.frame.VirtualFrame frame)
protected final Object returnValue(com.oracle.truffle.api.frame.VirtualFrame frame, Object value)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode