Class JSLogicalNode

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, ResumableNode.WithIntState, Cloneable
Direct Known Subclasses:
JSAndNode, JSNullishCoalescingNode, JSOrNode

public abstract class JSLogicalNode extends JavaScriptNode implements ResumableNode.WithIntState
  • Field Details

  • Constructor Details

  • Method Details

    • executeEvaluated

      protected abstract Object executeEvaluated(com.oracle.truffle.api.frame.VirtualFrame frame, Object leftValue)
    • resume

      public Object resume(com.oracle.truffle.api.frame.VirtualFrame frame, int stateSlot)
      Specified by:
      resume in interface ResumableNode
    • getLeft

      public final JavaScriptNode getLeft()
    • getRight

      public final JavaScriptNode getRight()
    • isResultAlwaysOfType

      public boolean isResultAlwaysOfType(Class<?> clazz)
      Overrides:
      isResultAlwaysOfType in class JavaScriptNode
    • expressionToString

      public String expressionToString()
      Overrides:
      expressionToString in class JavaScriptNode
    • 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
    • getNodeObject

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