Class SLEqualNode

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

public abstract class SLEqualNode extends SLBinaryNode
The == operator of SL is defined on all types. Therefore, we need a implementation that can handle all possible types including interop types.

Note that we do not need the analogous != operator, because we can just negate the == operator.

  • Constructor Details

    • SLEqualNode

      public SLEqualNode()
  • Method Details

    • doLong

      public static boolean doLong(long left, long right)
    • doBigNumber

      public static boolean doBigNumber(SLBigInteger left, SLBigInteger right)
    • doBoolean

      public static boolean doBoolean(boolean left, boolean right)
    • doString

      public static boolean doString(String left, String right)
    • doTruffleString

      public static boolean doTruffleString(com.oracle.truffle.api.strings.TruffleString left, com.oracle.truffle.api.strings.TruffleString right, com.oracle.truffle.api.strings.TruffleString.EqualNode equalNode)
    • doNull

      public static boolean doNull(SLNull left, SLNull right)
    • doFunction

      public static boolean doFunction(SLFunction left, Object right)
    • doGeneric

      public static boolean doGeneric(Object left, Object right, com.oracle.truffle.api.interop.InteropLibrary leftInterop, com.oracle.truffle.api.interop.InteropLibrary rightInterop)