Class ExtendedNode
java.lang.Object
org.checkerframework.dataflow.cfg.builder.ExtendedNode
- Direct Known Subclasses:
ConditionalJump
An extended node can be one of several things (depending on its
type):
- NODE:
NodeHolder. An extended node of this type is just a wrapper for aNode(that cannot throw exceptions). - EXCEPTION_NODE:
NodeWithExceptionsHolder. A wrapper for aNodewhich can throw exceptions. It contains a label for every possible exception type the node might throw. - UNCONDITIONAL_JUMP:
UnconditionalJump. An unconditional jump to a label. - TWO_TARGET_CONDITIONAL_JUMP:
ConditionalJump. A conditional jump with two targets for both the 'then' and 'else' branch.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumExtended node types (description see above). -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected BlockImplThe basic block this extended node belongs to (as determined in phase two).protected booleanDoes this node terminate the execution? (e.g., "System.exit()")protected final ExtendedNode.ExtendedNodeTypeType of this node. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCreate a new ExtendedNode. -
Method Summary
Modifier and TypeMethodDescriptiongetBlock()getLabel()Returns the label associated with this extended node (only applicable if type isExtendedNode.ExtendedNodeType.CONDITIONAL_JUMPorExtendedNode.ExtendedNodeType.UNCONDITIONAL_JUMP).getNode()Returns the node contained in this extended node (only applicable if the type isNODEorEXCEPTION_NODE).booleangetType()voidvoidsetTerminatesExecution(boolean terminatesExecution) toString()abstract StringReturns a verbose string representation of this, useful for debugging.
-
Field Details
-
block
The basic block this extended node belongs to (as determined in phase two). -
type
Type of this node. -
terminatesExecution
protected boolean terminatesExecutionDoes this node terminate the execution? (e.g., "System.exit()")
-
-
Constructor Details
-
ExtendedNode
Create a new ExtendedNode.- Parameters:
type- the type of this node
-
-
Method Details
-
getType
-
getTerminatesExecution
public boolean getTerminatesExecution() -
setTerminatesExecution
public void setTerminatesExecution(boolean terminatesExecution) -
getNode
Returns the node contained in this extended node (only applicable if the type isNODEorEXCEPTION_NODE).- Returns:
- the node contained in this extended node (only applicable if the type is
NODEorEXCEPTION_NODE)
-
getLabel
Returns the label associated with this extended node (only applicable if type isExtendedNode.ExtendedNodeType.CONDITIONAL_JUMPorExtendedNode.ExtendedNodeType.UNCONDITIONAL_JUMP).- Returns:
- the label associated with this extended node (only applicable if type is
ExtendedNode.ExtendedNodeType.CONDITIONAL_JUMPorExtendedNode.ExtendedNodeType.UNCONDITIONAL_JUMP)
-
getBlock
-
setBlock
-
toString
-
toStringDebug
Returns a verbose string representation of this, useful for debugging.- Returns:
- a string representation of this
-