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 String |
doBigInt(BigInt operand) |
protected String |
doBoolean(boolean operand) |
protected String |
doDouble(double operand) |
protected String |
doInt(int operand) |
protected String |
doJavaObject(Object operand) |
protected String |
doJSFunction(com.oracle.truffle.api.object.DynamicObject operand) |
protected String |
doJSObjectOnly(com.oracle.truffle.api.object.DynamicObject operand) |
protected String |
doJSProxy(com.oracle.truffle.api.object.DynamicObject operand,
TypeOfNode typeofNode,
com.oracle.truffle.api.profiles.BranchProfile revokedProxyBranch) |
protected String |
doNull(Object operand) |
protected String |
doString(CharSequence operand) |
protected String |
doSymbol(Symbol operand) |
protected String |
doTruffleObject(Object operand,
com.oracle.truffle.api.interop.InteropLibrary interop) |
protected String |
doUndefined(Object operand) |
abstract String |
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, 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 static final int MAX_CLASSES
protected TypeOfNode(JavaScriptNode operand)
public static TypeOfNode create(JavaScriptNode operand)
public static TypeOfNode create()
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 String doString(CharSequence operand)
protected String doInt(int operand)
protected String doDouble(double operand)
protected String doBoolean(boolean operand)
protected String doJSFunction(com.oracle.truffle.api.object.DynamicObject operand)
protected String doJSObjectOnly(com.oracle.truffle.api.object.DynamicObject operand)
protected String doJSProxy(com.oracle.truffle.api.object.DynamicObject operand, TypeOfNode typeofNode, com.oracle.truffle.api.profiles.BranchProfile revokedProxyBranch)
protected String doTruffleObject(Object operand, com.oracle.truffle.api.interop.InteropLibrary interop)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode