public abstract class JSIsNullOrUndefinedNode extends JSUnaryNode
JSEqualNode for optimizing a == undefined; and a == null;operandNodeINTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
JSIsNullOrUndefinedNode(JavaScriptNode operand,
boolean isUndefined,
boolean isLeft) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static JSIsNullOrUndefinedNode |
create() |
static JSIsNullOrUndefinedNode |
create(JavaScriptNode value) |
static JSIsNullOrUndefinedNode |
createFromEquals(JavaScriptNode left,
JavaScriptNode right) |
protected static boolean |
doBigInt(BigInt operand) |
protected static boolean |
doJSObject(Object object) |
protected static boolean |
doJSObjectCached(Object object,
Class<?> cachedClass) |
protected boolean |
doJSValueOrForeign(Object operand,
com.oracle.truffle.api.interop.InteropLibrary interop) |
protected static boolean |
doNull(Object operand) |
protected static boolean |
doSafeInteger(SafeInteger operand) |
protected static boolean |
doSymbol(Symbol operand) |
protected static boolean |
doTString(com.oracle.truffle.api.strings.TruffleString operand) |
protected static boolean |
doUndefined(Object operand) |
abstract boolean |
executeBoolean(Object input) |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
boolean |
isResultAlwaysOfType(Class<?> clazz) |
com.oracle.truffle.api.instrumentation.InstrumentableNode |
materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
createWrapper, execute, expressionToString, getNodeObject, getOperandaddCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, execute, executeBoolean, 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 JSIsNullOrUndefinedNode(JavaScriptNode operand, boolean isUndefined, boolean isLeft)
public abstract boolean executeBoolean(Object input)
public boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
hasTag in interface com.oracle.truffle.api.instrumentation.InstrumentableNodehasTag in class JavaScriptNodepublic com.oracle.truffle.api.instrumentation.InstrumentableNode materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
protected static boolean doNull(Object operand)
protected static boolean doUndefined(Object operand)
protected static boolean doSymbol(Symbol operand)
protected static boolean doTString(com.oracle.truffle.api.strings.TruffleString operand)
protected static boolean doSafeInteger(SafeInteger operand)
protected static boolean doBigInt(BigInt operand)
protected static boolean doJSObject(Object object)
protected boolean doJSValueOrForeign(Object operand, com.oracle.truffle.api.interop.InteropLibrary interop)
public static JSIsNullOrUndefinedNode createFromEquals(JavaScriptNode left, JavaScriptNode right)
public static JSIsNullOrUndefinedNode create(JavaScriptNode value)
public static JSIsNullOrUndefinedNode create()
public boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType in class JavaScriptNodeprotected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode