|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectedu.umd.cs.findbugs.ba.BlockTypeAnalysis
public class BlockTypeAnalysis
Dataflow analysis to determine the nesting of catch and finally blocks within a method.
BlockType| Constructor Summary | |
|---|---|
BlockTypeAnalysis(DepthFirstSearch dfs)
Constructor. |
|
| Method Summary | |
|---|---|
void |
copy(BlockType source,
BlockType dest)
Copy dataflow facts. |
BlockType |
createFact()
Create empty (uninitialized) dataflow facts for one program point. |
BlockOrder |
getBlockOrder(CFG cfg)
Return the BlockOrder specifying the order in which BasicBlocks should be visited in the main dataflow loop. |
BlockType |
getResultFact(BasicBlock block)
Get the result fact for given basic block. |
BlockType |
getStartFact(BasicBlock block)
Get the start fact for given basic block. |
void |
initEntryFact(BlockType result)
Initialize the "entry" fact for the graph. |
void |
initResultFact(BlockType result)
Initialize result fact for block. |
boolean |
isForwards()
Returns true if the analysis is forwards, false if backwards. |
static void |
main(java.lang.String[] argv)
|
void |
makeFactTop(BlockType fact)
Make given fact the top value. |
void |
meetInto(BlockType fact,
Edge edge,
BlockType result)
Meet a dataflow fact associated with an incoming edge into another fact. |
boolean |
same(BlockType fact1,
BlockType fact2)
Are given dataflow facts the same? |
void |
transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
BlockType start,
BlockType result)
Transfer function for the analysis. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public BlockTypeAnalysis(DepthFirstSearch dfs)
dfs - a DepthFirstSearch for the method to be analyzed| Method Detail |
|---|
public BlockType createFact()
DataflowAnalysis
createFact in interface DataflowAnalysis<BlockType>public BlockType getStartFact(BasicBlock block)
DataflowAnalysis
getStartFact in interface DataflowAnalysis<BlockType>block - the basic blockpublic BlockType getResultFact(BasicBlock block)
DataflowAnalysis
getResultFact in interface DataflowAnalysis<BlockType>block - the basic block
public void copy(BlockType source,
BlockType dest)
DataflowAnalysis
copy in interface DataflowAnalysis<BlockType>
public void initEntryFact(BlockType result)
throws DataflowAnalysisException
DataflowAnalysis
initEntryFact in interface DataflowAnalysis<BlockType>DataflowAnalysisExceptionpublic void initResultFact(BlockType result)
DataflowAnalysis
initResultFact in interface DataflowAnalysis<BlockType>public void makeFactTop(BlockType fact)
DataflowAnalysis
makeFactTop in interface DataflowAnalysis<BlockType>public boolean isForwards()
DataflowAnalysis
isForwards in interface DataflowAnalysis<BlockType>public BlockOrder getBlockOrder(CFG cfg)
DataflowAnalysis
getBlockOrder in interface DataflowAnalysis<BlockType>cfg - the CFG upon which we're performing dataflow analysis
public boolean same(BlockType fact1,
BlockType fact2)
DataflowAnalysis
same in interface DataflowAnalysis<BlockType>
public void transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
BlockType start,
BlockType result)
throws DataflowAnalysisException
DataflowAnalysis
transfer in interface DataflowAnalysis<BlockType>basicBlock - the basic blockend - if nonnull, stop before considering this instruction;
otherwise, consider all of the instructions in the basic blockstart - dataflow facts at beginning of block (if forward analysis)
or end of block (if backwards analysis)result - resulting dataflow facts at other end of block
DataflowAnalysisException
public void meetInto(BlockType fact,
Edge edge,
BlockType result)
throws DataflowAnalysisException
DataflowAnalysis
meetInto in interface DataflowAnalysis<BlockType>fact - the predecessor fact (incoming edge)edge - the edge from the predecessorresult - the result fact
DataflowAnalysisException
public static void main(java.lang.String[] argv)
throws java.lang.Exception
java.lang.Exception
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||