Class JSEqualNode

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

public abstract class JSEqualNode extends JSCompareNode
IsLooselyEqual(x, y) aka == operator.
See Also:
  • Constructor Details

  • Method Details

    • create

      public static JSEqualNode create()
    • create

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

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

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

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

      protected static boolean doIntBoolean(int a, boolean b)
    • doLong

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

      protected static boolean doDouble(double a, double b)
    • doBigInt

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

      protected static boolean doDoubleString(double a, com.oracle.truffle.api.strings.TruffleString b, JSStringToNumberNode stringToDouble)
    • doDoubleBoolean

      protected static boolean doDoubleBoolean(double a, boolean b)
    • doBoolean

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

      protected static boolean doBooleanInt(boolean a, int b)
    • doBooleanDouble

      protected static boolean doBooleanDouble(boolean a, double b)
    • doBooleanString

      protected static boolean doBooleanString(boolean a, com.oracle.truffle.api.strings.TruffleString b, JSStringToNumberNode stringToDouble)
    • doStringIdentity

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

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

      protected static boolean doStringDouble(com.oracle.truffle.api.strings.TruffleString a, double b, JSStringToNumberNode stringToDouble)
    • doStringBoolean

      protected static boolean doStringBoolean(com.oracle.truffle.api.strings.TruffleString a, boolean b, JSStringToNumberNode stringToDouble)
    • doStringBigInt

      protected static boolean doStringBigInt(com.oracle.truffle.api.strings.TruffleString a, BigInt b)
    • doBigIntString

      protected static boolean doBigIntString(BigInt a, com.oracle.truffle.api.strings.TruffleString b)
    • doBooleanBigInt

      protected static boolean doBooleanBigInt(boolean a, BigInt b)
    • doBigIntBoolean

      protected static boolean doBigIntBoolean(BigInt a, boolean b)
    • doBothNullOrUndefined

      protected static boolean doBothNullOrUndefined(Object a, Object b)
    • doLeftNullOrUndefined

      protected static boolean doLeftNullOrUndefined(Object a, Object b, com.oracle.truffle.api.interop.InteropLibrary bInterop)
    • doRightNullOrUndefined

      protected static boolean doRightNullOrUndefined(Object a, Object b, com.oracle.truffle.api.interop.InteropLibrary aInterop)
    • doOverloaded

      protected static boolean doOverloaded(Object a, Object b, com.oracle.truffle.api.nodes.Node node, JSOverloadedBinaryNode overloadedOperatorNode, JSToBooleanNode toBooleanNode)
    • getOverloadedOperatorName

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

      protected static boolean doJSObject(JSObject a, JSDynamicObject b)
    • doJSObject

      protected static boolean doJSObject(JSDynamicObject a, JSObject b)
    • doJSObjectVsPrimitive

      protected static boolean doJSObjectVsPrimitive(JSObject a, Object b, com.oracle.truffle.api.interop.InteropLibrary bInterop, JSToPrimitiveNode toPrimitiveNode, IsPrimitiveNode isPrimitiveNode, JSEqualNode nestedEqualNode)
    • doJSObjectVsPrimitive

      protected static boolean doJSObjectVsPrimitive(Object a, JSObject b, com.oracle.truffle.api.interop.InteropLibrary aInterop, JSToPrimitiveNode toPrimitiveNode, IsPrimitiveNode isPrimitiveNode, JSEqualNode nestedEqualNode)
    • doBigIntAndInt

      protected static boolean doBigIntAndInt(BigInt a, int b)
    • doBigIntAndNumber

      protected static boolean doBigIntAndNumber(BigInt a, double b)
    • doIntAndBigInt

      protected static boolean doIntAndBigInt(int a, BigInt b)
    • doNumberAndBigInt

      protected static boolean doNumberAndBigInt(double a, BigInt b)
    • doSymbol

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

      protected static boolean doSymbolNotSymbol(Symbol a, Object b, IsObjectNode isObjectNode)
    • doSymbolNotSymbol

      protected static boolean doSymbolNotSymbol(Object a, Symbol b, IsObjectNode isObjectNode)
    • doForeign

      protected final boolean doForeign(Object a, Object b, boolean isAForeign, boolean isBForeign, com.oracle.truffle.api.interop.InteropLibrary aInterop, com.oracle.truffle.api.interop.InteropLibrary bInterop, JSToPrimitiveNode toPrimitiveNode, IsPrimitiveNode isPrimitiveNode, JSEqualNode nestedEqualNode, LongToBigIntNode longToBigIntA, LongToBigIntNode longToBigIntB)
    • doFallback

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

      protected static boolean isNullish(Object value, com.oracle.truffle.api.interop.InteropLibrary interop)
    • copyUninitialized

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