public abstract class JSEqualNode extends JSCompareNode
== operator.JSIdenticalNodeleftNode, rightNodeINTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
JSEqualNode(JavaScriptNode left,
JavaScriptNode right) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static JSEqualNode |
create() |
static JavaScriptNode |
create(JavaScriptNode left,
JavaScriptNode right) |
static JavaScriptNode |
createUnoptimized(JavaScriptNode left,
JavaScriptNode right) |
protected static boolean |
doBigInt(BigInt a,
BigInt b) |
protected static boolean |
doBigIntAndInt(BigInt a,
int b) |
protected static boolean |
doBigIntAndNumber(BigInt a,
double b) |
protected static boolean |
doBigIntBoolean(BigInt a,
boolean b) |
protected static boolean |
doBigIntString(BigInt a,
com.oracle.truffle.api.strings.TruffleString b) |
protected static boolean |
doBoolean(boolean a,
boolean b) |
protected static boolean |
doBooleanBigInt(boolean a,
BigInt b) |
protected static boolean |
doBooleanDouble(boolean a,
double b) |
protected static boolean |
doBooleanInt(boolean a,
int b) |
protected static boolean |
doBooleanString(boolean a,
com.oracle.truffle.api.strings.TruffleString b,
JSStringToNumberNode stringToDouble) |
protected static boolean |
doBothNullOrUndefined(Object a,
Object b) |
protected static boolean |
doDouble(double a,
double b) |
protected static boolean |
doDoubleBoolean(double a,
boolean b) |
protected static boolean |
doDoubleString(double a,
com.oracle.truffle.api.strings.TruffleString b,
JSStringToNumberNode stringToDouble) |
protected static boolean |
doFallback(Object a,
Object b) |
protected 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) |
protected static boolean |
doInt(int a,
int b) |
protected static boolean |
doIntAndBigInt(int a,
BigInt b) |
protected static boolean |
doIntBoolean(int a,
boolean b) |
protected static boolean |
doJSObject(JSDynamicObject a,
JSObject b) |
protected static boolean |
doJSObject(JSObject a,
JSDynamicObject b) |
protected static boolean |
doJSObjectVsPrimitive(JSObject a,
Object b,
com.oracle.truffle.api.interop.InteropLibrary bInterop,
JSToPrimitiveNode toPrimitiveNode,
IsPrimitiveNode isPrimitiveNode,
JSEqualNode nestedEqualNode) |
protected static boolean |
doJSObjectVsPrimitive(Object a,
JSObject b,
com.oracle.truffle.api.interop.InteropLibrary aInterop,
JSToPrimitiveNode toPrimitiveNode,
IsPrimitiveNode isPrimitiveNode,
JSEqualNode nestedEqualNode) |
protected static boolean |
doLeftNullOrUndefined(Object a,
Object b,
com.oracle.truffle.api.interop.InteropLibrary bInterop) |
protected static boolean |
doLong(long a,
long b) |
protected static boolean |
doNumberAndBigInt(double a,
BigInt b) |
protected static boolean |
doOverloaded(Object a,
Object b,
com.oracle.truffle.api.nodes.Node node,
JSOverloadedBinaryNode overloadedOperatorNode,
JSToBooleanNode toBooleanNode) |
protected static boolean |
doRightNullOrUndefined(Object a,
Object b,
com.oracle.truffle.api.interop.InteropLibrary aInterop) |
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) |
protected static boolean |
doStringBigInt(com.oracle.truffle.api.strings.TruffleString a,
BigInt b) |
protected static boolean |
doStringBoolean(com.oracle.truffle.api.strings.TruffleString a,
boolean b,
JSStringToNumberNode stringToDouble) |
protected static boolean |
doStringDouble(com.oracle.truffle.api.strings.TruffleString a,
double b,
JSStringToNumberNode stringToDouble) |
protected static boolean |
doStringIdentity(com.oracle.truffle.api.strings.TruffleString a,
com.oracle.truffle.api.strings.TruffleString b) |
protected static boolean |
doSymbol(Symbol a,
Symbol b) |
protected static boolean |
doSymbolNotSymbol(Object a,
Symbol b,
IsObjectNode isObjectNode) |
protected static boolean |
doSymbolNotSymbol(Symbol a,
Object b,
IsObjectNode isObjectNode) |
abstract boolean |
executeBoolean(Object left,
Object right) |
protected static com.oracle.truffle.api.strings.TruffleString |
getOverloadedOperatorName() |
protected static boolean |
isNullish(Object value,
com.oracle.truffle.api.interop.InteropLibrary interop) |
execute, executeBoolean, isResultAlwaysOfTypeensureBothSameNumericType, expressionToString, getLeft, getNodeObject, getRight, hasTag, largerThan2e32addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeDouble, executeInt, executeLong, executeVoid, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsgetLanguage, getRealm, hasOverloadedOperatorsaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecializeprotected JSEqualNode(JavaScriptNode left, JavaScriptNode right)
public static JSEqualNode create()
public static JavaScriptNode create(JavaScriptNode left, JavaScriptNode right)
public static JavaScriptNode createUnoptimized(JavaScriptNode left, JavaScriptNode right)
protected static boolean doInt(int a,
int b)
protected static boolean doIntBoolean(int a,
boolean b)
protected static boolean doLong(long a,
long b)
protected static boolean doDouble(double a,
double b)
protected static boolean doDoubleString(double a,
com.oracle.truffle.api.strings.TruffleString b,
JSStringToNumberNode stringToDouble)
protected static boolean doDoubleBoolean(double a,
boolean b)
protected static boolean doBoolean(boolean a,
boolean b)
protected static boolean doBooleanInt(boolean a,
int b)
protected static boolean doBooleanDouble(boolean a,
double b)
protected static boolean doBooleanString(boolean a,
com.oracle.truffle.api.strings.TruffleString b,
JSStringToNumberNode stringToDouble)
protected static boolean doStringIdentity(com.oracle.truffle.api.strings.TruffleString a,
com.oracle.truffle.api.strings.TruffleString b)
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)
protected static boolean doStringDouble(com.oracle.truffle.api.strings.TruffleString a,
double b,
JSStringToNumberNode stringToDouble)
protected static boolean doStringBoolean(com.oracle.truffle.api.strings.TruffleString a,
boolean b,
JSStringToNumberNode stringToDouble)
protected static boolean doStringBigInt(com.oracle.truffle.api.strings.TruffleString a,
BigInt b)
protected static boolean doBigIntString(BigInt a, com.oracle.truffle.api.strings.TruffleString b)
protected static boolean doBooleanBigInt(boolean a,
BigInt b)
protected static boolean doBigIntBoolean(BigInt a, boolean b)
protected static boolean doLeftNullOrUndefined(Object a, Object b, com.oracle.truffle.api.interop.InteropLibrary bInterop)
protected static boolean doRightNullOrUndefined(Object a, Object b, com.oracle.truffle.api.interop.InteropLibrary aInterop)
protected static boolean doOverloaded(Object a, Object b, com.oracle.truffle.api.nodes.Node node, JSOverloadedBinaryNode overloadedOperatorNode, JSToBooleanNode toBooleanNode)
protected static com.oracle.truffle.api.strings.TruffleString getOverloadedOperatorName()
protected static boolean doJSObject(JSObject a, JSDynamicObject b)
protected static boolean doJSObject(JSDynamicObject a, JSObject b)
protected static boolean doJSObjectVsPrimitive(JSObject a, Object b, com.oracle.truffle.api.interop.InteropLibrary bInterop, JSToPrimitiveNode toPrimitiveNode, IsPrimitiveNode isPrimitiveNode, JSEqualNode nestedEqualNode)
protected static boolean doJSObjectVsPrimitive(Object a, JSObject b, com.oracle.truffle.api.interop.InteropLibrary aInterop, JSToPrimitiveNode toPrimitiveNode, IsPrimitiveNode isPrimitiveNode, JSEqualNode nestedEqualNode)
protected static boolean doBigIntAndInt(BigInt a, int b)
protected static boolean doBigIntAndNumber(BigInt a, double b)
protected static boolean doIntAndBigInt(int a,
BigInt b)
protected static boolean doNumberAndBigInt(double a,
BigInt b)
protected static boolean doSymbolNotSymbol(Symbol a, Object b, IsObjectNode isObjectNode)
protected static boolean doSymbolNotSymbol(Object a, Symbol b, IsObjectNode isObjectNode)
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)
protected static boolean isNullish(Object value, com.oracle.truffle.api.interop.InteropLibrary interop)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode