public final class ExprBlockNode extends AbstractBlockNode implements SequenceNode
statements
EMPTY
INTERMEDIATE_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, newListFromRange
executeConditionAsBoolean
addCallTag, 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, transferSourceSectionAndTags
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, lookupContextReference, lookupLanguageReference, notifyInserted, replace, replace, reportPolymorphicSpecialize
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getStatements
public static JavaScriptNode createExprBlock(JavaScriptNode[] statements)
public boolean executeBoolean(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.nodes.UnexpectedResultException
JavaScriptNode
JavaScriptNode.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 JavaScriptNode
frame
- 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
JavaScriptNode
JavaScriptNode.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 JavaScriptNode
frame
- 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
JavaScriptNode
JavaScriptNode.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 JavaScriptNode
frame
- 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.UnexpectedResultException
public 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.UnexpectedResultException
public 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.UnexpectedResultException
protected JavaScriptNode copyUninitialized()
copyUninitialized
in class JavaScriptNode
public boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType
in class JavaScriptNode