Class JSEqualNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.JavaScriptNode
com.oracle.truffle.js.nodes.binary.JSBinaryNode
com.oracle.truffle.js.nodes.binary.JSCompareNode
com.oracle.truffle.js.nodes.binary.JSEqualNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,Cloneable
IsLooselyEqual(x, y) aka
== operator.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenNested classes/interfaces inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode -
Field Summary
Fields inherited from class com.oracle.truffle.js.nodes.binary.JSBinaryNode
leftNode, rightNodeFields inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected JavaScriptNodecopyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) static JSEqualNodecreate()static JavaScriptNodecreate(JavaScriptNode left, JavaScriptNode right) static JavaScriptNodecreateUnoptimized(JavaScriptNode left, JavaScriptNode right) protected static booleanprotected static booleandoBigIntAndInt(BigInt a, int b) protected static booleandoBigIntAndNumber(BigInt a, double b) protected static booleandoBigIntBoolean(BigInt a, boolean b) protected static booleandoBigIntString(BigInt a, com.oracle.truffle.api.strings.TruffleString b) protected static booleandoBoolean(boolean a, boolean b) protected static booleandoBooleanBigInt(boolean a, BigInt b) protected static booleandoBooleanDouble(boolean a, double b) protected static booleandoBooleanInt(boolean a, int b) protected static booleandoBooleanString(boolean a, com.oracle.truffle.api.strings.TruffleString b, JSStringToNumberNode stringToDouble) protected static booleanprotected static booleandoDouble(double a, double b) protected static booleandoDoubleBoolean(double a, boolean b) protected static booleandoDoubleString(double a, com.oracle.truffle.api.strings.TruffleString b, JSStringToNumberNode stringToDouble) protected static booleandoFallback(Object a, Object b) protected final booleandoForeign(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) protected static booleandoInt(int a, int b) protected static booleandoIntAndBigInt(int a, BigInt b) protected static booleandoIntBoolean(int a, boolean b) protected static booleanprotected static booleanprotected static booleandoJSObjectVsPrimitive(JSObject a, Object b, com.oracle.truffle.api.interop.InteropLibrary bInterop, JSToPrimitiveNode toPrimitiveNode, IsPrimitiveNode isPrimitiveNode, JSEqualNode nestedEqualNode) protected static booleandoJSObjectVsPrimitive(Object a, JSObject b, com.oracle.truffle.api.interop.InteropLibrary aInterop, JSToPrimitiveNode toPrimitiveNode, IsPrimitiveNode isPrimitiveNode, JSEqualNode nestedEqualNode) protected static booleandoLeftNullOrUndefined(Object a, Object b, com.oracle.truffle.api.interop.InteropLibrary bInterop) protected static booleandoLong(long a, long b) protected static booleandoNumberAndBigInt(double a, BigInt b) protected static booleandoOverloaded(Object a, Object b, com.oracle.truffle.api.nodes.Node node, JSOverloadedBinaryNode overloadedOperatorNode, JSToBooleanNode toBooleanNode) protected static booleandoRightNullOrUndefined(Object a, Object b, com.oracle.truffle.api.interop.InteropLibrary aInterop) protected static booleandoString(com.oracle.truffle.api.strings.TruffleString a, com.oracle.truffle.api.strings.TruffleString b, com.oracle.truffle.api.strings.TruffleString.EqualNode equalsNode) protected static booleandoStringBigInt(com.oracle.truffle.api.strings.TruffleString a, BigInt b) protected static booleandoStringBoolean(com.oracle.truffle.api.strings.TruffleString a, boolean b, JSStringToNumberNode stringToDouble) protected static booleandoStringDouble(com.oracle.truffle.api.strings.TruffleString a, double b, JSStringToNumberNode stringToDouble) protected static booleandoStringIdentity(com.oracle.truffle.api.strings.TruffleString a, com.oracle.truffle.api.strings.TruffleString b) protected static booleanprotected static booleandoSymbolNotSymbol(Symbol a, Object b, IsObjectNode isObjectNode) protected static booleandoSymbolNotSymbol(Object a, Symbol b, IsObjectNode isObjectNode) abstract booleanexecuteBoolean(Object left, Object right) protected static com.oracle.truffle.api.strings.TruffleStringprotected static booleanMethods inherited from class com.oracle.truffle.js.nodes.binary.JSCompareNode
execute, executeBoolean, isResultAlwaysOfTypeMethods inherited from class com.oracle.truffle.js.nodes.binary.JSBinaryNode
ensureBothSameNumericType, expressionToString, getLeft, getNodeObject, getRight, hasTag, largerThan2e32Methods inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeDouble, executeInt, executeVoid, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, onReplace, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperatorsMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecializeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
findNearestNodeAt, findNearestNodeAt, materializeInstrumentableNodes
-
Constructor Details
-
JSEqualNode
-
-
Method Details
-
create
-
create
-
createUnoptimized
-
executeBoolean
-
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
-
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
-
doBigIntString
-
doBooleanBigInt
-
doBigIntBoolean
-
doBothNullOrUndefined
-
doLeftNullOrUndefined
-
doRightNullOrUndefined
-
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
-
doJSObject
-
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
-
doBigIntAndNumber
-
doIntAndBigInt
-
doNumberAndBigInt
-
doSymbol
-
doSymbolNotSymbol
-
doSymbolNotSymbol
-
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
-
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:
copyUninitializedin classJavaScriptNode
-