public abstract class JSToInt32Node extends JSUnaryNode
operandNodeINTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
JSToInt32Node(JavaScriptNode operand) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static JSToInt32Node |
create() |
static JavaScriptNode |
create(JavaScriptNode child) |
protected int |
doBigInt(BigInt value) |
protected int |
doBoolean(boolean value) |
protected int |
doDouble(double value) |
protected int |
doDoubleFitsInt(double value) |
protected int |
doDoubleRepresentableAsLong(double value) |
protected int |
doDoubleRepresentableAsSafeInteger(double value) |
protected static int |
doForeignObject(Object object,
JSToPrimitiveNode toPrimitiveNode,
JSToInt32Node toInt32Node) |
protected int |
doInteger(int value) |
protected int |
doJSObject(com.oracle.truffle.api.object.DynamicObject value,
JSToDoubleNode toDoubleNode) |
protected int |
doLong(long value) |
protected int |
doNull(Object value) |
protected int |
doSafeInteger(SafeInteger value) |
protected int |
doString(String value,
JSStringToNumberNode stringToNumberNode) |
protected int |
doSymbol(Symbol value) |
protected int |
doUndefined(Object 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 int |
executeInt(Object operand) |
abstract int |
executeInt(com.oracle.truffle.api.frame.VirtualFrame frame)
Like
JavaScriptNode.execute(VirtualFrame) except that it tries to convert the result value to an
int. |
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, executeBoolean, executeDouble, 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 JSToInt32Node(JavaScriptNode operand)
public final Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeexecute in class JavaScriptNodeframe - the frame of the currently executing guest language methodpublic 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 abstract int executeInt(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeJavaScriptNode.execute(VirtualFrame) except that it tries to convert the result value to an
int. A node can override this method if it has a better way to producing a value of type int.executeInt in class JavaScriptNodeframe - the frame of the currently executing guest language methodpublic abstract int executeInt(Object operand)
public static JavaScriptNode create(JavaScriptNode child)
public static JSToInt32Node create()
public boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType in class JavaScriptNodeprotected int doInteger(int value)
protected int doSafeInteger(SafeInteger value)
protected int doBoolean(boolean value)
protected int doLong(long value)
protected int doDoubleFitsInt(double value)
protected int doDoubleRepresentableAsSafeInteger(double value)
protected int doDoubleRepresentableAsLong(double value)
protected int doDouble(double value)
protected int doUndefined(Object value)
protected int doNull(Object value)
protected int doString(String value, JSStringToNumberNode stringToNumberNode)
protected final int doSymbol(Symbol value)
protected int doBigInt(BigInt value)
protected int doJSObject(com.oracle.truffle.api.object.DynamicObject value,
JSToDoubleNode toDoubleNode)
protected static int doForeignObject(Object object, JSToPrimitiveNode toPrimitiveNode, JSToInt32Node toInt32Node)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode