public abstract class JSTypeofIdenticalNode extends JSUnaryNode
TypeOfNode,
JSRuntime.typeof(Object)| Modifier and Type | Class and Description |
|---|---|
static class |
JSTypeofIdenticalNode.Type |
| Modifier and Type | Field and Description |
|---|---|
protected JSTypeofIdenticalNode.Type |
type |
operandNodeINTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
JSTypeofIdenticalNode(JavaScriptNode childNode,
JSTypeofIdenticalNode.Type type) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static JSTypeofIdenticalNode |
create(JavaScriptNode childNode,
JSConstantNode.JSConstantStringNode constStringNode) |
static JSTypeofIdenticalNode |
create(JavaScriptNode childNode,
com.oracle.truffle.api.strings.TruffleString string) |
protected boolean |
doBigInt(BigInt value) |
protected boolean |
doBoolean(boolean value) |
protected boolean |
doForeignObject(Object value,
com.oracle.truffle.api.interop.InteropLibrary interop) |
protected boolean |
doNumber(double value) |
protected boolean |
doNumber(int value) |
protected boolean |
doNumber(long value) |
protected boolean |
doNumber(SafeInteger value) |
protected boolean |
doString(com.oracle.truffle.api.strings.TruffleString value) |
protected boolean |
doSymbol(Symbol value) |
protected boolean |
doTypeObjectOrFunctionJSFunction(Object value) |
protected boolean |
doTypeObjectOrFunctionJSProxy(JSProxyObject value,
IsCallableNode isCallableNode) |
protected boolean |
doTypeObjectOrFunctionOther(JSDynamicObject value) |
protected boolean |
doTypePrimitive(JSDynamicObject value) |
Object |
execute(com.oracle.truffle.api.frame.VirtualFrame frame)
Executes this node using the specified context and frame and returns the result value.
|
abstract boolean |
executeBoolean(com.oracle.truffle.api.frame.VirtualFrame frame)
Like
JavaScriptNode.execute(VirtualFrame) except that it tries to convert the result value to a
boolean. |
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, 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 JSTypeofIdenticalNode.Type type
protected JSTypeofIdenticalNode(JavaScriptNode childNode, JSTypeofIdenticalNode.Type type)
public static JSTypeofIdenticalNode create(JavaScriptNode childNode, JSConstantNode.JSConstantStringNode constStringNode)
public static JSTypeofIdenticalNode create(JavaScriptNode childNode, com.oracle.truffle.api.strings.TruffleString string)
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)
public boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType in class JavaScriptNodepublic final Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeexecute in class JavaScriptNodeframe - the frame of the currently executing guest language methodpublic abstract boolean executeBoolean(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeJavaScriptNode.execute(VirtualFrame) except that it tries to convert the result value to a
boolean. A node can override this method if it has a better way to producing a value of type
boolean.executeBoolean in class JavaScriptNodeframe - the frame of the currently executing guest language methodprotected final boolean doBoolean(boolean value)
protected final boolean doNumber(int value)
protected final boolean doNumber(SafeInteger value)
protected final boolean doNumber(long value)
protected final boolean doNumber(double value)
protected final boolean doSymbol(Symbol value)
protected final boolean doBigInt(BigInt value)
protected final boolean doString(com.oracle.truffle.api.strings.TruffleString value)
protected final boolean doTypeObjectOrFunctionJSFunction(Object value)
protected final boolean doTypeObjectOrFunctionJSProxy(JSProxyObject value, IsCallableNode isCallableNode)
protected final boolean doTypeObjectOrFunctionOther(JSDynamicObject value)
protected final boolean doTypePrimitive(JSDynamicObject value)
protected final boolean doForeignObject(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