Class AbstractAwaitNode

java.lang.Object
com.oracle.truffle.api.nodes.Node
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
  • Field Details

  • Constructor Details

  • Method Details

    • hasTag

      public boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
      Specified by:
      hasTag in interface com.oracle.truffle.api.instrumentation.InstrumentableNode
      Overrides:
      hasTag in class JavaScriptNode
    • suspendAwait

      protected final Object suspendAwait(com.oracle.truffle.api.frame.VirtualFrame frame, Object value)
    • getNodeObject

      public Object getNodeObject()
      Specified by:
      getNodeObject in interface com.oracle.truffle.api.instrumentation.InstrumentableNode
    • resumeAwait

      protected final Object resumeAwait(com.oracle.truffle.api.frame.VirtualFrame frame)
    • echoInput

      protected void echoInput(com.oracle.truffle.api.frame.VirtualFrame frame, Object value)
    • 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)