public abstract class SLShortCircuitNode extends SLExpressionNode
SLLogicalAndNode and SLLogicalOrNode.| Constructor and Description |
|---|
SLShortCircuitNode(SLExpressionNode left,
SLExpressionNode right) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract boolean |
execute(boolean leftValue,
boolean rightValue)
Calculates the result of the short circuit operation.
|
boolean |
executeBoolean(com.oracle.truffle.api.frame.VirtualFrame frame) |
Object |
executeGeneric(com.oracle.truffle.api.frame.VirtualFrame frame)
The execute method when no specialization is possible.
|
protected abstract boolean |
isEvaluateRight(boolean leftValue)
This method is called after the left child was evaluated, but before the right child is
evaluated.
|
addExpressionTag, createWrapper, executeLong, executeVoid, hasTagaddRootTag, 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 SLShortCircuitNode(SLExpressionNode left, SLExpressionNode right)
public final Object executeGeneric(com.oracle.truffle.api.frame.VirtualFrame frame)
SLExpressionNodeexecuteGeneric in class SLExpressionNodepublic final boolean executeBoolean(com.oracle.truffle.api.frame.VirtualFrame frame)
executeBoolean in class SLExpressionNodeprotected abstract boolean isEvaluateRight(boolean leftValue)
protected abstract boolean execute(boolean leftValue,
boolean rightValue)
false is provided.