Class JSIdenticalNode

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

public abstract class JSIdenticalNode extends JSCompareNode
IsStrictlyEqual(x, y) aka === operator.
See Also:
  • Field Details

    • STRICT_EQUALITY_COMPARISON

      protected static final int STRICT_EQUALITY_COMPARISON
      See Also:
    • SAME_VALUE

      protected static final int SAME_VALUE
      See Also:
    • SAME_VALUE_ZERO

      protected static final int SAME_VALUE_ZERO
      See Also:
    • type

      protected final int type
  • Constructor Details

  • Method Details

    • createStrictEqualityComparison

      public static JSIdenticalNode createStrictEqualityComparison()
    • createSameValue

      public static JSIdenticalNode createSameValue()
    • createSameValue

      public static JSIdenticalNode createSameValue(JavaScriptNode left, JavaScriptNode right)
    • createSameValueZero

      public static JSIdenticalNode createSameValueZero()
    • createUnoptimized

      public static JavaScriptNode createUnoptimized(JavaScriptNode left, JavaScriptNode right)
    • create

      public static JavaScriptNode create(JavaScriptNode left, JavaScriptNode right)
    • executeBoolean

      public abstract boolean executeBoolean(Object left, Object right)
    • doInt

      protected static boolean doInt(int a, int b)
    • doDouble

      protected final boolean doDouble(double a, double b)
    • doBoolean

      protected static boolean doBoolean(boolean a, boolean b)
    • doBigInt

      protected static boolean doBigInt(BigInt a, BigInt b)
    • doBigIntDouble

      protected static boolean doBigIntDouble(BigInt a, double b)
    • doDoubleBigInt

      protected static boolean doDoubleBigInt(double a, BigInt b)
    • doUndefinedA

      protected static boolean doUndefinedA(Object a, Object b)
    • doUndefinedB

      protected static boolean doUndefinedB(Object a, Object b)
    • doJSObjectA

      protected static boolean doJSObjectA(JSObject a, Object b)
    • doJSObjectB

      protected static boolean doJSObjectB(Object a, JSObject b)
    • doNullNull

      protected static boolean doNullNull(Object a, Object b)
    • doNullA

      protected static boolean doNullA(Object a, Object b, com.oracle.truffle.api.interop.InteropLibrary nullInterop)
    • doNullB

      protected static boolean doNullB(Object a, Object b, com.oracle.truffle.api.interop.InteropLibrary nullInterop)
    • doTruffleStringIdentity

      protected static boolean doTruffleStringIdentity(com.oracle.truffle.api.strings.TruffleString a, com.oracle.truffle.api.strings.TruffleString b)
    • doTruffleString

      protected static boolean doTruffleString(com.oracle.truffle.api.strings.TruffleString a, com.oracle.truffle.api.strings.TruffleString b, com.oracle.truffle.api.strings.TruffleString.EqualNode equalsNode)
    • doSymbol

      protected static boolean doSymbol(Symbol a, Symbol b)
    • doBooleanNotBoolean

      protected static boolean doBooleanNotBoolean(Object a, Object b)
    • doSymbolNotSymbol

      protected static boolean doSymbolNotSymbol(Object a, Object b)
    • doStringNotString

      protected static boolean doStringNotString(Object a, Object b)
    • doLong

      protected static boolean doLong(long a, long b)
    • doForeignObject

      protected final boolean doForeignObject(Object a, Object b, boolean isAForeign, boolean isBForeign, com.oracle.truffle.api.interop.InteropLibrary aInterop, com.oracle.truffle.api.interop.InteropLibrary bInterop)
    • doFallback

      protected static boolean doFallback(Object a, Object b)
    • copyUninitialized

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