public final class ExprBlockNode extends AbstractBlockNode implements SequenceNode
statementsEMPTYINTERMEDIATE_VALUE| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized() |
static JavaScriptNode |
createExprBlock(JavaScriptNode[] statements) |
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 |
executeBoolean(com.oracle.truffle.api.frame.VirtualFrame frame,
JavaScriptNode node,
int index,
int argument) |
double |
executeDouble(com.oracle.truffle.api.frame.VirtualFrame frame)
Like
JavaScriptNode.execute(VirtualFrame) except that it tries to convert the result value to a
double. |
double |
executeDouble(com.oracle.truffle.api.frame.VirtualFrame frame,
JavaScriptNode node,
int index,
int argument) |
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. |
int |
executeInt(com.oracle.truffle.api.frame.VirtualFrame frame,
JavaScriptNode node,
int index,
int argument) |
boolean |
isResultAlwaysOfType(Class<?> clazz) |
execute, executeGeneric, executeVoid, executeVoid, filterStatements, getStatements, newListFromRangeexecuteConditionAsBooleanaddCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeByte, executeCharacter, executeDynamicObject, executeFloat, executeLargeInteger, executeLong, executeObjectArray, executeString, executeTruffleObject, expressionToString, getSourceSection, hasSourceSection, hasTag, 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, reportPolymorphicSpecializeclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetStatementspublic static JavaScriptNode createExprBlock(JavaScriptNode[] statements)
public boolean executeBoolean(com.oracle.truffle.api.frame.VirtualFrame frame)
throws com.oracle.truffle.api.nodes.UnexpectedResultException
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 methodcom.oracle.truffle.api.nodes.UnexpectedResultException - if a loss-free conversion of the result to double is not
possiblepublic int executeInt(com.oracle.truffle.api.frame.VirtualFrame frame)
throws com.oracle.truffle.api.nodes.UnexpectedResultException
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 methodcom.oracle.truffle.api.nodes.UnexpectedResultException - if a loss-free conversion of the result to int is not
possiblepublic double executeDouble(com.oracle.truffle.api.frame.VirtualFrame frame)
throws com.oracle.truffle.api.nodes.UnexpectedResultException
JavaScriptNodeJavaScriptNode.execute(VirtualFrame) except that it tries to convert the result value to a
double. A node can override this method if it has a better way to producing a value of type
double.executeDouble in class JavaScriptNodeframe - the frame of the currently executing guest language methodcom.oracle.truffle.api.nodes.UnexpectedResultException - if a loss-free conversion of the result to double is not
possiblepublic boolean executeBoolean(com.oracle.truffle.api.frame.VirtualFrame frame,
JavaScriptNode node,
int index,
int argument)
throws com.oracle.truffle.api.nodes.UnexpectedResultException
executeBoolean in interface com.oracle.truffle.api.nodes.BlockNode.ElementExecutor<JavaScriptNode>com.oracle.truffle.api.nodes.UnexpectedResultExceptionpublic int executeInt(com.oracle.truffle.api.frame.VirtualFrame frame,
JavaScriptNode node,
int index,
int argument)
throws com.oracle.truffle.api.nodes.UnexpectedResultException
executeInt in interface com.oracle.truffle.api.nodes.BlockNode.ElementExecutor<JavaScriptNode>com.oracle.truffle.api.nodes.UnexpectedResultExceptionpublic double executeDouble(com.oracle.truffle.api.frame.VirtualFrame frame,
JavaScriptNode node,
int index,
int argument)
throws com.oracle.truffle.api.nodes.UnexpectedResultException
executeDouble in interface com.oracle.truffle.api.nodes.BlockNode.ElementExecutor<JavaScriptNode>com.oracle.truffle.api.nodes.UnexpectedResultExceptionprotected JavaScriptNode copyUninitialized()
copyUninitialized in class JavaScriptNodepublic boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType in class JavaScriptNode