Class SingleSuccessorBlockImpl
java.lang.Object
org.checkerframework.dataflow.cfg.block.BlockImpl
org.checkerframework.dataflow.cfg.block.SingleSuccessorBlockImpl
- All Implemented Interfaces:
Block
,SingleSuccessorBlock
,org.plumelib.util.UniqueId
- Direct Known Subclasses:
ExceptionBlockImpl
,RegularBlockImpl
,SpecialBlockImpl
A basic block that has at most one successor. SpecialBlockImpl extends this, but exit blocks have
no successor.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.checkerframework.dataflow.cfg.block.Block
Block.BlockType
-
Field Summary
Modifier and TypeFieldDescriptionprotected Store.FlowRule
The initial value for the rule below says that EACH store at the end of a single successor block flows to the corresponding store of the successor.Internal representation of the successor.Fields inherited from class org.checkerframework.dataflow.cfg.block.BlockImpl
predecessors, type
-
Constructor Summary
ModifierConstructorDescriptionprotected
Creates a new SingleSuccessorBlock. -
Method Summary
Modifier and TypeMethodDescriptionReturns the flow rule for information flowing from this block to its successor.Returns the non-exceptional successor block, ornull
if there is no non-exceptional successor.Returns the successors of this basic block.void
setFlowRule
(Store.FlowRule rule) Set the flow rule for information flowing from this block to its successor.void
setSuccessor
(BlockImpl successor) Set a basic block as the successor of this block.Methods inherited from class org.checkerframework.dataflow.cfg.block.BlockImpl
addPredecessor, getPredecessors, getType, getUid, removePredecessor
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.checkerframework.dataflow.cfg.block.Block
getLastNode, getNodes, getPredecessors, getType
Methods inherited from interface org.plumelib.util.UniqueId
getClassAndUid, getUid
-
Field Details
-
successor
Internal representation of the successor.Is set by
setSuccessor(org.checkerframework.dataflow.cfg.block.BlockImpl)
. -
flowRule
The initial value for the rule below says that EACH store at the end of a single successor block flows to the corresponding store of the successor.
-
-
Constructor Details
-
SingleSuccessorBlockImpl
Creates a new SingleSuccessorBlock.- Parameters:
type
- the type of this basic block
-
-
Method Details
-
getSuccessor
Description copied from interface:SingleSuccessorBlock
Returns the non-exceptional successor block, ornull
if there is no non-exceptional successor.- Specified by:
getSuccessor
in interfaceSingleSuccessorBlock
- Returns:
- the non-exceptional successor block, or
null
if there is no non-exceptional successor
-
getSuccessors
Description copied from interface:Block
Returns the successors of this basic block.- Specified by:
getSuccessors
in interfaceBlock
- Returns:
- the successors of this basic block
-
setSuccessor
Set a basic block as the successor of this block.- Parameters:
successor
- the block that will be the successor of this
-
getFlowRule
Description copied from interface:SingleSuccessorBlock
Returns the flow rule for information flowing from this block to its successor.- Specified by:
getFlowRule
in interfaceSingleSuccessorBlock
- Returns:
- the flow rule for information flowing from this block to its successor
-
setFlowRule
Description copied from interface:SingleSuccessorBlock
Set the flow rule for information flowing from this block to its successor.- Specified by:
setFlowRule
in interfaceSingleSuccessorBlock
- Parameters:
rule
- the new flow rule for information flowing from this block to its successor
-