Class AbstractAwaitNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.JavaScriptNode
com.oracle.truffle.js.nodes.control.AbstractAwaitNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,ResumableNode,SuspendNode,Cloneable
- Direct Known Subclasses:
AsyncGeneratorYieldNode,AsyncIteratorCloseWrapperNode,AsyncIteratorNextNode,AwaitNode
public abstract class AbstractAwaitNode
extends JavaScriptNode
implements ResumableNode, SuspendNode
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenNested classes/interfaces inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNodeNested classes/interfaces inherited from interface com.oracle.truffle.js.nodes.control.ResumableNode
ResumableNode.WithIntState, ResumableNode.WithObjectState -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final JSContextprotected JavaScriptNodeprotected JSReadFrameSlotNodeprotected JSReadFrameSlotNodeprotected final intFields inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractAwaitNode(JSContext context, int stateSlot, JavaScriptNode expression, JSReadFrameSlotNode readAsyncContextNode, JSReadFrameSlotNode readAsyncResultNode) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidstatic List<com.oracle.truffle.api.TruffleStackTraceElement> findAsyncStackFramesFromHandler(JSFunctionObject handlerFunction, Object argument) static List<com.oracle.truffle.api.TruffleStackTraceElement> booleanprotected final ObjectresumeAwait(com.oracle.truffle.api.frame.VirtualFrame frame) protected final ObjectsuspendAwait(com.oracle.truffle.api.frame.VirtualFrame frame, Object value) Methods inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, copyUninitialized, createWrapper, execute, executeBoolean, executeDouble, executeInt, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, isResultAlwaysOfType, onReplace, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperatorsMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecializeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
findNearestNodeAt, findNearestNodeAt, materializeInstrumentableNodesMethods inherited from interface com.oracle.truffle.js.nodes.control.ResumableNode
asResumableNode, getStateSlotKind, resetState, resume
-
Field Details
-
stateSlot
protected final int stateSlot -
expression
-
readAsyncResultNode
-
readAsyncContextNode
-
context
-
-
Constructor Details
-
AbstractAwaitNode
protected AbstractAwaitNode(JSContext context, int stateSlot, JavaScriptNode expression, JSReadFrameSlotNode readAsyncContextNode, JSReadFrameSlotNode readAsyncResultNode)
-
-
Method Details
-
hasTag
- Specified by:
hasTagin interfacecom.oracle.truffle.api.instrumentation.InstrumentableNode- Overrides:
hasTagin classJavaScriptNode
-
suspendAwait
-
getNodeObject
- Specified by:
getNodeObjectin interfacecom.oracle.truffle.api.instrumentation.InstrumentableNode
-
resumeAwait
-
echoInput
-
findAsyncStackFramesFromPromise
public static List<com.oracle.truffle.api.TruffleStackTraceElement> findAsyncStackFramesFromPromise(JSDynamicObject promise) -
findAsyncStackFramesFromHandler
public static List<com.oracle.truffle.api.TruffleStackTraceElement> findAsyncStackFramesFromHandler(JSFunctionObject handlerFunction, Object argument)
-