public abstract class AbstractAwaitNode extends JavaScriptNode implements ResumableNode, SuspendNode
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenResumableNode.WithIntState, ResumableNode.WithObjectState| Modifier and Type | Field and Description |
|---|---|
protected JSContext |
context |
protected JavaScriptNode |
expression |
protected JSReadFrameSlotNode |
readAsyncContextNode |
protected JSReadFrameSlotNode |
readAsyncResultNode |
protected int |
stateSlot |
INTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
AbstractAwaitNode(JSContext context,
int stateSlot,
JavaScriptNode expression,
JSReadFrameSlotNode readAsyncContextNode,
JSReadFrameSlotNode readAsyncResultNode) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
echoInput(com.oracle.truffle.api.frame.VirtualFrame frame,
Object value) |
static List<com.oracle.truffle.api.TruffleStackTraceElement> |
findAsyncStackFramesFromHandler(JSFunctionObject handlerFunction) |
static List<com.oracle.truffle.api.TruffleStackTraceElement> |
findAsyncStackFramesFromPromise(JSDynamicObject promise) |
Object |
getNodeObject() |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
protected Object |
resumeAwait(com.oracle.truffle.api.frame.VirtualFrame frame) |
protected Object |
suspendAwait(com.oracle.truffle.api.frame.VirtualFrame frame,
Object value) |
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, copyUninitialized, createWrapper, execute, 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, waitasResumableNode, createResumableNode, getStateSlotKind, resetState, resumeprotected final int stateSlot
protected JavaScriptNode expression
protected JSReadFrameSlotNode readAsyncResultNode
protected JSReadFrameSlotNode readAsyncContextNode
protected final JSContext context
protected AbstractAwaitNode(JSContext context, int stateSlot, JavaScriptNode expression, JSReadFrameSlotNode readAsyncContextNode, JSReadFrameSlotNode readAsyncResultNode)
public boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
hasTag in interface com.oracle.truffle.api.instrumentation.InstrumentableNodehasTag in class JavaScriptNodeprotected final Object suspendAwait(com.oracle.truffle.api.frame.VirtualFrame frame, Object value)
public Object getNodeObject()
getNodeObject in interface com.oracle.truffle.api.instrumentation.InstrumentableNodeprotected final Object resumeAwait(com.oracle.truffle.api.frame.VirtualFrame frame)
protected void echoInput(com.oracle.truffle.api.frame.VirtualFrame frame,
Object value)
public static List<com.oracle.truffle.api.TruffleStackTraceElement> findAsyncStackFramesFromPromise(JSDynamicObject promise)
public static List<com.oracle.truffle.api.TruffleStackTraceElement> findAsyncStackFramesFromHandler(JSFunctionObject handlerFunction)