public abstract class JSIdenticalNode extends JSCompareNode
=== operator.JSEqualNode| Modifier and Type | Field and Description |
|---|---|
protected static int |
MAX_CLASSES |
protected static int |
SAME_VALUE |
protected static int |
SAME_VALUE_ZERO |
protected static int |
STRICT_EQUALITY_COMPARISON |
protected int |
type |
leftNode, rightNodeINTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
JSIdenticalNode(JavaScriptNode left,
JavaScriptNode right,
int type) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static JavaScriptNode |
create(JavaScriptNode left,
JavaScriptNode right) |
static JSIdenticalNode |
createSameValue() |
static JSIdenticalNode |
createSameValue(JavaScriptNode left,
JavaScriptNode right) |
static JSIdenticalNode |
createSameValueZero() |
static JSIdenticalNode |
createStrictEqualityComparison() |
static JavaScriptNode |
createUnoptimized(JavaScriptNode left,
JavaScriptNode right) |
protected static boolean |
doBigInt(BigInt a,
BigInt b) |
protected static boolean |
doBigIntDouble(BigInt a,
double b) |
protected static boolean |
doBoolean(boolean a,
boolean b) |
protected static boolean |
doBooleanNotBoolean(Object a,
Object b) |
protected boolean |
doDouble(double a,
double b) |
protected static boolean |
doDoubleBigInt(double a,
BigInt b) |
protected static boolean |
doFallback(Object a,
Object b) |
protected boolean |
doForeignObject(Object a,
Object b,
boolean isAForeign,
boolean isBForeign,
com.oracle.truffle.api.interop.InteropLibrary aInterop,
com.oracle.truffle.api.interop.InteropLibrary bInterop) |
protected static boolean |
doInt(int a,
int b) |
protected static boolean |
doJSObjectA(JSObject a,
Object b) |
protected static boolean |
doJSObjectB(Object a,
JSObject b) |
protected static boolean |
doLong(long a,
long b) |
protected static boolean |
doNullA(Object a,
Object b,
com.oracle.truffle.api.interop.InteropLibrary nullInterop) |
protected static boolean |
doNullB(Object a,
Object b,
com.oracle.truffle.api.interop.InteropLibrary nullInterop) |
protected static boolean |
doNullNull(Object a,
Object b) |
protected static boolean |
doNullUndefined(Object a,
Object b) |
protected static boolean |
doStringNotString(Object a,
Object b) |
protected static boolean |
doSymbol(Symbol a,
Symbol b) |
protected static boolean |
doSymbolNotSymbol(Object a,
Object b) |
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) |
protected static boolean |
doTruffleStringIdentity(com.oracle.truffle.api.strings.TruffleString a,
com.oracle.truffle.api.strings.TruffleString b) |
protected static boolean |
doUndefinedA(Object a,
Object b) |
protected static boolean |
doUndefinedB(Object a,
Object b) |
protected static boolean |
doUndefinedNull(Object a,
Object b) |
abstract boolean |
executeBoolean(Object left,
Object right) |
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 static final int MAX_CLASSES
protected static final int STRICT_EQUALITY_COMPARISON
protected static final int SAME_VALUE
protected static final int SAME_VALUE_ZERO
protected final int type
protected JSIdenticalNode(JavaScriptNode left, JavaScriptNode right, int type)
public static JSIdenticalNode createStrictEqualityComparison()
public static JSIdenticalNode createSameValue()
public static JSIdenticalNode createSameValue(JavaScriptNode left, JavaScriptNode right)
public static JSIdenticalNode createSameValueZero()
public static JavaScriptNode createUnoptimized(JavaScriptNode left, JavaScriptNode right)
public static JavaScriptNode create(JavaScriptNode left, JavaScriptNode right)
protected static boolean doInt(int a,
int b)
protected final boolean doDouble(double a,
double b)
protected static boolean doBoolean(boolean a,
boolean b)
protected static boolean doBigIntDouble(BigInt a, double b)
protected static boolean doDoubleBigInt(double a,
BigInt b)
protected static boolean doNullA(Object a, Object b, com.oracle.truffle.api.interop.InteropLibrary nullInterop)
protected static boolean doNullB(Object a, Object b, com.oracle.truffle.api.interop.InteropLibrary nullInterop)
protected static boolean doTruffleStringIdentity(com.oracle.truffle.api.strings.TruffleString a,
com.oracle.truffle.api.strings.TruffleString b)
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)
protected static boolean doLong(long a,
long b)
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)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode