public abstract class JSEqualNode extends JSCompareNode
| Modifier and Type | Field and Description |
|---|---|
protected static int |
MAX_CLASSES |
leftNode, 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 boolean |
doBigIntAndInt(BigInt a,
int b) |
protected boolean |
doBigIntAndNumber(BigInt a,
double b) |
protected boolean |
doBigIntBoolean(BigInt a,
boolean b) |
protected boolean |
doBigIntString(BigInt a,
String b) |
protected static boolean |
doBoolean(boolean a,
boolean b) |
protected boolean |
doBooleanBigInt(boolean a,
BigInt b) |
protected static boolean |
doBooleanDouble(boolean a,
double b) |
protected static boolean |
doBooleanInt(boolean a,
int b) |
protected boolean |
doBooleanString(boolean a,
String b) |
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 boolean |
doDoubleString(double a,
String b) |
protected static boolean |
doFallback(Object a,
Object b) |
protected boolean |
doForeign(Object a,
Object b,
com.oracle.truffle.api.interop.InteropLibrary aInterop,
com.oracle.truffle.api.interop.InteropLibrary bInterop,
JSEqualNode nestedEqualNode) |
protected static boolean |
doInt(int a,
int b) |
protected boolean |
doIntAndBigInt(int a,
BigInt b) |
protected static boolean |
doIntBoolean(int a,
boolean b) |
protected static boolean |
doJSObject(com.oracle.truffle.api.object.DynamicObject a,
com.oracle.truffle.api.object.DynamicObject b) |
protected boolean |
doJSObject(com.oracle.truffle.api.object.DynamicObject a,
Object b,
com.oracle.truffle.api.interop.InteropLibrary bInterop,
JSToPrimitiveNode toPrimitiveNode,
JSEqualNode nestedEqualNode) |
protected boolean |
doJSObject(Object a,
com.oracle.truffle.api.object.DynamicObject b,
com.oracle.truffle.api.interop.InteropLibrary aInterop,
JSToPrimitiveNode toPrimitiveNode,
JSEqualNode nestedEqualNode) |
protected static boolean |
doLeftNullOrUndefined(Object a,
Object b,
com.oracle.truffle.api.interop.InteropLibrary bInterop) |
protected static boolean |
doNumber(Number a,
Number b) |
protected boolean |
doNumberAndBigInt(double a,
BigInt b) |
protected static boolean |
doNumberCached(Object a,
Object b,
Class<?> cachedClassA,
Class<?> cachedClassB) |
protected static boolean |
doRightNullOrUndefined(Object a,
Object b,
com.oracle.truffle.api.interop.InteropLibrary aInterop) |
protected static boolean |
doString(String a,
String b) |
protected boolean |
doStringBigInt(String a,
BigInt b) |
protected boolean |
doStringBoolean(String a,
boolean b) |
protected boolean |
doStringDouble(String a,
double b) |
protected static boolean |
doStringIdentity(String a,
String b) |
protected boolean |
doStringNumber(Object a,
String b) |
protected boolean |
doStringNumber(String a,
Object b) |
protected static boolean |
doSymbol(Symbol a,
Symbol b) |
protected static boolean |
doSymbolNotSymbol(Object a,
Symbol b) |
protected static boolean |
doSymbolNotSymbol(Symbol a,
Object b) |
abstract boolean |
executeBoolean(Object left,
Object right) |
protected static boolean |
isNullish(Object value,
com.oracle.truffle.api.interop.InteropLibrary interop) |
execute, executeBoolean, isResultAlwaysOfType, stringToDoubleensureBothSameNumericType, expressionToString, getLeft, getNodeObject, getRight, hasTag, largerThan2e32addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeDouble, executeInt, executeLong, executeSafeInteger, executeString, executeVoid, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, lookupContextReference, lookupLanguageReference, notifyInserted, replace, replace, reportPolymorphicSpecializeprotected static final int MAX_CLASSES
protected 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 doDouble(double a,
double b)
protected boolean doDoubleString(double a,
String b)
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 boolean doBooleanString(boolean a,
String b)
protected boolean doStringDouble(String a, double b)
protected boolean doStringBoolean(String a, boolean b)
protected boolean doBooleanBigInt(boolean a,
BigInt b)
protected 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 boolean doJSObject(com.oracle.truffle.api.object.DynamicObject a,
Object b,
com.oracle.truffle.api.interop.InteropLibrary bInterop,
JSToPrimitiveNode toPrimitiveNode,
JSEqualNode nestedEqualNode)
protected boolean doJSObject(Object a, com.oracle.truffle.api.object.DynamicObject b, com.oracle.truffle.api.interop.InteropLibrary aInterop, JSToPrimitiveNode toPrimitiveNode, JSEqualNode nestedEqualNode)
protected boolean doBigIntAndInt(BigInt a, int b)
protected boolean doBigIntAndNumber(BigInt a, double b)
protected boolean doIntAndBigInt(int a,
BigInt b)
protected boolean doNumberAndBigInt(double a,
BigInt b)
protected static boolean doJSObject(com.oracle.truffle.api.object.DynamicObject a,
com.oracle.truffle.api.object.DynamicObject b)
protected boolean doForeign(Object a, Object b, com.oracle.truffle.api.interop.InteropLibrary aInterop, com.oracle.truffle.api.interop.InteropLibrary bInterop, JSEqualNode nestedEqualNode)
protected static boolean doNumberCached(Object a, Object b, Class<?> cachedClassA, Class<?> cachedClassB)
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