public abstract class InstanceofNode extends JSBinaryNode
| Modifier and Type | Class and Description |
|---|---|
static class |
InstanceofNode.IsBoundFunctionCacheNode
Caches on the passed function and its property of being a "bound function exotic object".
|
static class |
InstanceofNode.OrdinaryHasInstanceNode |
| Modifier and Type | Field and Description |
|---|---|
protected JSContext |
context |
leftNode, rightNodeINTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
InstanceofNode(JSContext context,
JavaScriptNode left,
JavaScriptNode right) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static InstanceofNode |
create(JSContext context) |
static InstanceofNode |
create(JSContext context,
JavaScriptNode left,
JavaScriptNode right) |
protected boolean |
doBigIntTarget(Object obj,
BigInt target) |
protected boolean |
doBooleanTarget(Object obj,
boolean target) |
protected boolean |
doDoubleTarget(Object obj,
double target) |
protected boolean |
doForeignTargetJSType(com.oracle.truffle.api.object.DynamicObject instance,
Object target) |
protected boolean |
doForeignTargetOther(Object instance,
Object target,
com.oracle.truffle.api.interop.InteropLibrary interop) |
protected boolean |
doJSObject(Object obj,
com.oracle.truffle.api.object.DynamicObject target,
IsJSObjectNode isObjectNode,
GetMethodNode getMethodHasInstanceNode,
JSToBooleanNode toBooleanNode,
JSFunctionCallNode callHasInstanceNode,
com.oracle.truffle.api.profiles.ConditionProfile hasInstanceProfile,
com.oracle.truffle.api.profiles.BranchProfile errorBranch,
com.oracle.truffle.api.profiles.BranchProfile proxyBranch) |
protected boolean |
doNullOrUndefinedTarget(Object obj,
com.oracle.truffle.api.object.DynamicObject target) |
protected boolean |
doStringTarget(Object obj,
String target) |
protected boolean |
doSymbolTarget(Object obj,
Symbol target) |
abstract boolean |
executeBoolean(Object left,
Object right) |
boolean |
isResultAlwaysOfType(Class<?> clazz) |
ensureBothSameNumericType, expressionToString, getLeft, getNodeObject, getRight, hasTag, largerThan2e32addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, execute, executeBoolean, 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 final JSContext context
protected InstanceofNode(JSContext context, JavaScriptNode left, JavaScriptNode right)
public static InstanceofNode create(JSContext context)
public static InstanceofNode create(JSContext context, JavaScriptNode left, JavaScriptNode right)
public boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType in class JavaScriptNodeprotected boolean doJSObject(Object obj, com.oracle.truffle.api.object.DynamicObject target, IsJSObjectNode isObjectNode, GetMethodNode getMethodHasInstanceNode, JSToBooleanNode toBooleanNode, JSFunctionCallNode callHasInstanceNode, com.oracle.truffle.api.profiles.ConditionProfile hasInstanceProfile, com.oracle.truffle.api.profiles.BranchProfile errorBranch, com.oracle.truffle.api.profiles.BranchProfile proxyBranch)
protected boolean doNullOrUndefinedTarget(Object obj, com.oracle.truffle.api.object.DynamicObject target)
protected boolean doDoubleTarget(Object obj, double target)
protected boolean doBooleanTarget(Object obj, boolean target)
protected boolean doForeignTargetJSType(com.oracle.truffle.api.object.DynamicObject instance,
Object target)
protected boolean doForeignTargetOther(Object instance, Object target, com.oracle.truffle.api.interop.InteropLibrary interop)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode