public class ControlFlowGraph extends Object
| Modifier and Type | Field and Description | 
|---|---|
| protected IdentityHashMap<Tree,Node> | convertedTreeLookup | 
| protected SpecialBlock | entryBlockThe entry block of the control flow graph. | 
| protected SpecialBlock | exceptionalExitBlockThe exceptional exit block of the control flow graph. | 
| protected SpecialBlock | regularExitBlockThe regular exit block of the control flow graph. | 
| protected List<ReturnNode> | returnNodesAll return nodes (if any) encountered. | 
| protected IdentityHashMap<Tree,Node> | treeLookup | 
| protected UnderlyingAST | underlyingASTThe AST this CFG corresponds to. | 
| Constructor and Description | 
|---|
| ControlFlowGraph(SpecialBlock entryBlock,
                SpecialBlockImpl regularExitBlock,
                SpecialBlockImpl exceptionalExitBlock,
                UnderlyingAST underlyingAST,
                IdentityHashMap<Tree,Node> treeLookup,
                IdentityHashMap<Tree,Node> convertedTreeLookup,
                List<ReturnNode> returnNodes) | 
| Modifier and Type | Method and Description | 
|---|---|
| Set<Block> | getAllBlocks() | 
| @Nullable ClassTree | getContainingClass(Tree t) | 
| @Nullable MethodTree | getContainingMethod(Tree t) | 
| List<Block> | getDepthFirstOrderedBlocks() | 
| SpecialBlock | getEntryBlock() | 
| SpecialBlock | getExceptionalExitBlock() | 
| Node | getNodeCorrespondingToTree(Tree t) | 
| SpecialBlock | getRegularExitBlock() | 
| List<ReturnNode> | getReturnNodes() | 
| IdentityHashMap<Tree,Node> | getTreeLookup() | 
| UnderlyingAST | getUnderlyingAST() | 
protected final SpecialBlock entryBlock
protected final SpecialBlock regularExitBlock
protected final SpecialBlock exceptionalExitBlock
protected UnderlyingAST underlyingAST
protected IdentityHashMap<Tree,Node> treeLookup
Trees to Nodes. Every Tree that produces a value will have at
 least one corresponding Node. Trees that undergo conversions, such as boxing or unboxing, can
 map to two distinct Nodes. The Node for the pre-conversion value is stored in treeLookup,
 while the Node for the post-conversion value is stored in convertedTreeLookup.protected IdentityHashMap<Tree,Node> convertedTreeLookup
protected final List<ReturnNode> returnNodes
public ControlFlowGraph(SpecialBlock entryBlock, SpecialBlockImpl regularExitBlock, SpecialBlockImpl exceptionalExitBlock, UnderlyingAST underlyingAST, IdentityHashMap<Tree,Node> treeLookup, IdentityHashMap<Tree,Node> convertedTreeLookup, List<ReturnNode> returnNodes)
public SpecialBlock getEntryBlock()
public List<ReturnNode> getReturnNodes()
public SpecialBlock getRegularExitBlock()
public SpecialBlock getExceptionalExitBlock()
public UnderlyingAST getUnderlyingAST()
public Set<Block> getAllBlocks()
public List<Block> getDepthFirstOrderedBlocks()
Blocks may appear more than once in the sequence.
public IdentityHashMap<Tree,Node> getTreeLookup()
public @Nullable MethodTree getContainingMethod(Tree t)