Class CFGUtil.BlockGroup
java.lang.Object
com.pnfsoftware.jeb.core.units.code.CFGUtil.BlockGroup
- Enclosing class:
- CFGUtil
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.
-
Constructor Summary
ConstructorsConstructorDescriptionBlockGroup
(CFG<? extends IInstruction> cfg, long blkoffStart, long blkoffStopper) -
Method Summary
Modifier and TypeMethodDescriptionDetermine 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.
-
Constructor Details
-
BlockGroup
-
-
Method Details
-
getBlocksInGroup
Retrieve the list of blocks in the group.- Returns:
- may be empty
-
getExitPoints
Retrieve the list of exit blocks in the group.- Returns:
- may be empty
-
getEntryPoints
Retrieve the list of entry blocks in the group.- Returns:
- may be empty
-
determine
Determine the group.- Returns:
- the list of blocks in the group
-