Class IfNode

All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode, com.oracle.truffle.api.nodes.NodeInterface, ResumableNode, ResumableNode.WithIntState, Cloneable

public abstract class IfNode extends StatementNode
  • Field Details

  • Constructor Details

  • Method Details

    • create

      public static IfNode create(JavaScriptNode condition, JavaScriptNode thenPart, JavaScriptNode elsePart)
    • doBoolean

      protected Object doBoolean(com.oracle.truffle.api.frame.VirtualFrame frame, boolean conditionResult, com.oracle.truffle.api.profiles.InlinedCountingConditionProfile conditionProfile)
    • doObject

      protected Object doObject(com.oracle.truffle.api.frame.VirtualFrame frame, Object conditionResult, JSToBooleanNode toBooleanNode, com.oracle.truffle.api.profiles.InlinedCountingConditionProfile conditionProfile)
    • getCondition

      public JavaScriptNode getCondition()
    • getThenPart

      public JavaScriptNode getThenPart()
    • getElsePart

      public JavaScriptNode getElsePart()
    • copyWith

      protected com.oracle.truffle.js.nodes.control.AbstractIfNode copyWith(JavaScriptNode newCondition, JavaScriptNode newThenPart, JavaScriptNode newElsePart)
    • asResumableNode

      public JavaScriptNode asResumableNode(int stateSlot)
    • 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
    • materializeInstrumentableNodes

      public com.oracle.truffle.api.instrumentation.InstrumentableNode materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
      Specified by:
      materializeInstrumentableNodes in interface com.oracle.truffle.api.instrumentation.InstrumentableNode
    • isResultAlwaysOfType

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

      protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
      Overrides:
      copyUninitialized in class JavaScriptNode