public abstract class SLExpressionNode extends SLStatementNode
TypeSystemReference specifies the SL types. Specifying it here defines the
type system for all subclasses.| Constructor and Description |
|---|
SLExpressionNode() |
| Modifier and Type | Method and Description |
|---|---|
void |
addExpressionTag()
Marks this node as being a
StandardTags.ExpressionTag for instrumentation purposes. |
com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode |
createWrapper(com.oracle.truffle.api.instrumentation.ProbeNode probe) |
boolean |
executeBoolean(com.oracle.truffle.api.frame.VirtualFrame frame) |
abstract Object |
executeGeneric(com.oracle.truffle.api.frame.VirtualFrame frame)
The execute method when no specialization is possible.
|
long |
executeLong(com.oracle.truffle.api.frame.VirtualFrame frame) |
void |
executeVoid(com.oracle.truffle.api.frame.VirtualFrame frame)
When we use an expression at places where a
statement is already
sufficient, the return value is just discarded. |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
addRootTag, addStatementTag, formatSourceSection, getSourceCharIndex, getSourceEndIndex, getSourceLength, getSourceSection, hasSource, isInstrumentable, setSourceSection, setUnavailableSourceSection, toStringfindBlock, getVisibleVariablesIndexOnEnter, hasScope, setVisibleVariablesIndexOnEnter, setVisibleVariablesIndexOnExitaccept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecializepublic abstract Object executeGeneric(com.oracle.truffle.api.frame.VirtualFrame frame)
public void executeVoid(com.oracle.truffle.api.frame.VirtualFrame frame)
statement is already
sufficient, the return value is just discarded.executeVoid in class SLStatementNodepublic com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode createWrapper(com.oracle.truffle.api.instrumentation.ProbeNode probe)
createWrapper in interface com.oracle.truffle.api.instrumentation.InstrumentableNodecreateWrapper in class SLStatementNodepublic boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
hasTag in interface com.oracle.truffle.api.instrumentation.InstrumentableNodehasTag in class SLStatementNodepublic final void addExpressionTag()
StandardTags.ExpressionTag for instrumentation purposes.public long executeLong(com.oracle.truffle.api.frame.VirtualFrame frame)
throws com.oracle.truffle.api.nodes.UnexpectedResultException
com.oracle.truffle.api.nodes.UnexpectedResultExceptionpublic boolean executeBoolean(com.oracle.truffle.api.frame.VirtualFrame frame)
throws com.oracle.truffle.api.nodes.UnexpectedResultException
com.oracle.truffle.api.nodes.UnexpectedResultException