| 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.