java.lang.Object | |
↳ | com.pnfsoftware.jeb.core.units.code.CFGUtil.BlockGroup |
Given a start block A and an end block B, find the group of blocks G flowing from A to B, such that: 1) all blocks in G are reachable from A; 2) no blocks in G are reachable from B. Note that if A is reachable by B, G is the empty collection.
The list of exit blocks in G are those having B as an immediate successor. There may be none.
The list of entry blocks in G are those having an immediate predecessor not reachable by A. There may be none.
Important note: Irregular flows are disregarded.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
BlockGroup(CFG<? extends IInstruction> cfg, long blkoffStart, long blkoffStopper) |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Set<Long> |
determine()
Determine the group.
| ||||||||||
Set<Long> |
getBlocksInGroup()
Retrieve the list of blocks in the group.
| ||||||||||
Set<Long> |
getEntryPoints()
Retrieve the list of entry blocks in the group.
| ||||||||||
Set<Long> |
getExitPoints()
Retrieve the list of exit blocks in the group.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Determine the group.
Retrieve the list of blocks in the group.
Retrieve the list of entry blocks in the group.
Retrieve the list of exit blocks in the group.