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 |
static class |
InstanceofNode.OrdinaryHasInstanceRootNode |
| 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(JSDynamicObject instance,
Object target) |
protected boolean |
doForeignTargetOther(Object instance,
Object target,
com.oracle.truffle.api.interop.InteropLibrary interop) |
protected boolean |
doJSObject(Object obj,
JSDynamicObject target,
com.oracle.truffle.api.nodes.Node node,
IsJSObjectNode isObjectNode,
GetMethodNode getMethodHasInstanceNode,
JSToBooleanNode toBooleanNode,
JSFunctionCallNode callHasInstanceNode,
IsCallableNode isCallableNode,
com.oracle.truffle.api.profiles.InlinedConditionProfile hasInstanceProfile,
com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch) |
protected boolean |
doNullOrUndefinedTarget(Object obj,
JSDynamicObject target) |
protected boolean |
doStringTarget(Object obj,
com.oracle.truffle.api.strings.TruffleString 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, 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 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, JSDynamicObject target, com.oracle.truffle.api.nodes.Node node, IsJSObjectNode isObjectNode, GetMethodNode getMethodHasInstanceNode, JSToBooleanNode toBooleanNode, JSFunctionCallNode callHasInstanceNode, IsCallableNode isCallableNode, com.oracle.truffle.api.profiles.InlinedConditionProfile hasInstanceProfile, com.oracle.truffle.api.profiles.InlinedBranchProfile errorBranch)
protected boolean doNullOrUndefinedTarget(Object obj, JSDynamicObject target)
protected boolean doStringTarget(Object obj, com.oracle.truffle.api.strings.TruffleString target)
protected boolean doDoubleTarget(Object obj, double target)
protected boolean doBooleanTarget(Object obj, boolean target)
protected boolean doForeignTargetJSType(JSDynamicObject 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