Class JSAddSubNumericUnitNode

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

public abstract class JSAddSubNumericUnitNode extends JSUnaryNode implements Truncatable
  • Constructor Details

    • JSAddSubNumericUnitNode

      protected JSAddSubNumericUnitNode(JavaScriptNode operand, boolean isAddition, boolean truncate)
  • 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
    • getNodeObject

      public Object getNodeObject()
      Specified by:
      getNodeObject in interface com.oracle.truffle.api.instrumentation.InstrumentableNode
      Overrides:
      getNodeObject in class JSUnaryNode
    • doInt

      protected int doInt(int a)
    • doDouble

      protected double doDouble(double a)
    • doBigInt

      protected BigInt doBigInt(BigInt a)
    • doJavaNumber

      protected double doJavaNumber(Object a)
    • doOverloaded

      protected Object doOverloaded(JSOverloadedOperatorsObject a, JSOverloadedUnaryNode overloadedOperatorNode)
    • getOverloadedOperatorName

      protected com.oracle.truffle.api.strings.TruffleString getOverloadedOperatorName()
    • setTruncate

      public void setTruncate()
      Specified by:
      setTruncate in interface Truncatable
    • create

      public static JSAddSubNumericUnitNode create(JavaScriptNode operand, boolean isAddition, boolean truncate)
    • copyUninitialized

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