Class TernaryExpressionNode
java.lang.Object
org.checkerframework.dataflow.cfg.node.Node
org.checkerframework.dataflow.cfg.node.TernaryExpressionNode
- All Implemented Interfaces:
org.plumelib.util.UniqueId
A node for a conditional expression:
expression ? expression : expression
-
Field Summary
Modifier and TypeFieldDescriptionprotected final Node
Node representing the condition checked by the expressionprotected final Node
Node representing the "else" case of the expressionprotected final Node
Node representing the "then" case of the expressionprotected final ConditionalExpressionTree
TheConditionalExpressionTree
corresponding to this node -
Constructor Summary
ConstructorDescriptionTernaryExpressionNode
(ConditionalExpressionTree tree, Node condition, Node thenOperand, Node elseOperand, LocalVariableNode ternaryExpressionVar) Creates a new TernaryExpressionNode. -
Method Summary
Modifier and TypeMethodDescription<R,
P> R accept
(NodeVisitor<R, P> visitor, P p) Accept method of the visitor pattern.boolean
Gets the node representing the conditional operand for this nodeGets the node representing the "else" operand for this nodeThis is a variable created by dataflow to which each case expression of the ternary expression is assigned.Gets the node representing the "then" operand for this nodegetTree()
Returns theTree
in the abstract syntax tree, ornull
if no corresponding tree exists.int
hashCode()
toString()
Methods inherited from class org.checkerframework.dataflow.cfg.node.Node
getBlock, getInSource, getTransitiveOperands, getType, getUid, isLValue, nodeCollectionToString, setBlock, setInSource, setLValue, toStringDebug
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.plumelib.util.UniqueId
getClassAndUid
-
Field Details
-
tree
TheConditionalExpressionTree
corresponding to this node -
condition
Node representing the condition checked by the expression -
thenOperand
Node representing the "then" case of the expression -
elseOperand
Node representing the "else" case of the expression
-
-
Constructor Details
-
TernaryExpressionNode
public TernaryExpressionNode(ConditionalExpressionTree tree, Node condition, Node thenOperand, Node elseOperand, LocalVariableNode ternaryExpressionVar) Creates a new TernaryExpressionNode.- Parameters:
tree
- theConditionalExpressionTree
for the nodecondition
- node representing the condition checked by the expressionthenOperand
- node representing the "then" case of the expressionelseOperand
- node representing the "else" case of the expressionternaryExpressionVar
- a variable created by dataflow to which each case expression of the ternary expression is assigned. Its value should be used for the value of the switch expression.
-
-
Method Details
-
getConditionOperand
Gets the node representing the conditional operand for this node- Returns:
- the condition operand node
-
getThenOperand
Gets the node representing the "then" operand for this node- Returns:
- the "then" operand node
-
getElseOperand
Gets the node representing the "else" operand for this node- Returns:
- the "else" operand node
-
getTernaryExpressionVar
This is a variable created by dataflow to which each case expression of the ternary expression is assigned. Its value should be used for the value of the switch expression.- Returns:
- the variable for this ternary expression
-
getTree
Description copied from class:Node
Returns theTree
in the abstract syntax tree, ornull
if no corresponding tree exists. For instance, this is the case for anImplicitThisNode
. -
accept
Description copied from class:Node
Accept method of the visitor pattern. -
toString
-
equals
-
hashCode
public int hashCode() -
getOperands
Description copied from class:Node
- Specified by:
getOperands
in classNode
- Returns:
- a collection containing all of the operand
Node
s of thisNode
-