public abstract class TypeOfNode extends JSUnaryNode
JSRuntime.typeof(Object),
JSTypeofIdenticalNode| Modifier and Type | Field and Description |
|---|---|
protected static int |
MAX_CLASSES |
operandNodeINTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
TypeOfNode(JavaScriptNode operand) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static TypeOfNode |
create() |
static TypeOfNode |
create(JavaScriptNode operand) |
protected com.oracle.truffle.api.strings.TruffleString |
doBigInt(BigInt operand) |
protected com.oracle.truffle.api.strings.TruffleString |
doBoolean(boolean operand) |
protected com.oracle.truffle.api.strings.TruffleString |
doDouble(double operand) |
protected com.oracle.truffle.api.strings.TruffleString |
doInt(int operand) |
protected com.oracle.truffle.api.strings.TruffleString |
doJavaObject(Object operand) |
protected com.oracle.truffle.api.strings.TruffleString |
doJSFunction(Object operand) |
protected com.oracle.truffle.api.strings.TruffleString |
doJSObjectOnly(Object operand) |
protected com.oracle.truffle.api.strings.TruffleString |
doJSProxy(JSProxyObject operand,
TypeOfNode typeofNode) |
protected static com.oracle.truffle.api.strings.TruffleString |
doLong(long operand) |
protected com.oracle.truffle.api.strings.TruffleString |
doNull(Object operand) |
protected com.oracle.truffle.api.strings.TruffleString |
doString(com.oracle.truffle.api.strings.TruffleString operand) |
protected com.oracle.truffle.api.strings.TruffleString |
doSymbol(Symbol operand) |
protected com.oracle.truffle.api.strings.TruffleString |
doTruffleObject(Object operand,
com.oracle.truffle.api.interop.InteropLibrary interop) |
protected com.oracle.truffle.api.strings.TruffleString |
doUndefined(Object operand) |
abstract com.oracle.truffle.api.strings.TruffleString |
executeString(Object operand) |
Object |
getNodeObject() |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
boolean |
isResultAlwaysOfType(Class<?> clazz) |
createWrapper, execute, expressionToString, 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 static final int MAX_CLASSES
protected TypeOfNode(JavaScriptNode operand)
public static TypeOfNode create(JavaScriptNode operand)
public static TypeOfNode create()
public abstract com.oracle.truffle.api.strings.TruffleString executeString(Object operand)
public boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
hasTag in interface com.oracle.truffle.api.instrumentation.InstrumentableNodehasTag in class JavaScriptNodepublic Object getNodeObject()
getNodeObject in interface com.oracle.truffle.api.instrumentation.InstrumentableNodegetNodeObject in class JSUnaryNodepublic boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType in class JavaScriptNodeprotected com.oracle.truffle.api.strings.TruffleString doString(com.oracle.truffle.api.strings.TruffleString operand)
protected com.oracle.truffle.api.strings.TruffleString doInt(int operand)
protected com.oracle.truffle.api.strings.TruffleString doDouble(double operand)
protected com.oracle.truffle.api.strings.TruffleString doBoolean(boolean operand)
protected com.oracle.truffle.api.strings.TruffleString doBigInt(BigInt operand)
protected com.oracle.truffle.api.strings.TruffleString doNull(Object operand)
protected com.oracle.truffle.api.strings.TruffleString doUndefined(Object operand)
protected com.oracle.truffle.api.strings.TruffleString doJSFunction(Object operand)
protected com.oracle.truffle.api.strings.TruffleString doJSObjectOnly(Object operand)
protected com.oracle.truffle.api.strings.TruffleString doJSProxy(JSProxyObject operand, TypeOfNode typeofNode)
protected com.oracle.truffle.api.strings.TruffleString doSymbol(Symbol operand)
protected static com.oracle.truffle.api.strings.TruffleString doLong(long operand)
protected com.oracle.truffle.api.strings.TruffleString doTruffleObject(Object operand, com.oracle.truffle.api.interop.InteropLibrary interop)
protected com.oracle.truffle.api.strings.TruffleString doJavaObject(Object operand)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode