DataflowAnalysis<Fact>, EdgeTypespublic class ReturnPathAnalysis extends ForwardDataflowAnalysis<ReturnPath> implements EdgeTypes
BACKEDGE_SOURCE_EDGE, BACKEDGE_TARGET_EDGE, CHECKED_EXCEPTIONS_FLAG, EXIT_EDGE, EXPLICIT_EXCEPTIONS_FLAG, FALL_THROUGH_EDGE, GOTO_EDGE, HANDLED_EXCEPTION_EDGE, IFCMP_EDGE, JSR_EDGE, RET_EDGE, RETURN_EDGE, START_EDGE, SWITCH_DEFAULT_EDGE, SWITCH_EDGE, UNHANDLED_EXCEPTION_EDGE, UNKNOWN_EDGE| Constructor | Description |
|---|---|
ReturnPathAnalysis(DepthFirstSearch dfs) |
| Modifier and Type | Method | Description |
|---|---|---|
void |
copy(ReturnPath source,
ReturnPath dest) |
Copy dataflow facts.
|
ReturnPath |
createFact() |
Create empty (uninitialized) dataflow facts for one program point.
|
void |
initEntryFact(ReturnPath fact) |
Initialize the "entry" fact for the graph.
|
boolean |
isFactValid(ReturnPath fact) |
Determine whether the given fact is valid (neither top nor
bottom).
|
boolean |
isTop(ReturnPath fact) |
Is the given fact the top value.
|
void |
makeFactTop(ReturnPath fact) |
Make given fact the top value.
|
void |
meetInto(ReturnPath fact,
Edge edge,
ReturnPath result) |
Meet a dataflow fact associated with an incoming edge into another fact.
|
boolean |
same(ReturnPath fact1,
ReturnPath fact2) |
Are given dataflow facts the same?
|
void |
transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
ReturnPath fact) |
Transfer function for a single instruction.
|
getFactAfterLocation, getFactAtLocation, transferedgeTransfer, factToString, finishIteration, getFactOnEdge, getLastUpdateTimestamp, getResultFact, getStartFact, resultFactIterator, setLastUpdateTimestamp, startIterationgetBlockOrder, getDepthFirstSearch, isForwardspublic ReturnPathAnalysis(DepthFirstSearch dfs)
public ReturnPath createFact()
DataflowAnalysiscreateFact in interface DataflowAnalysis<Fact>public void copy(ReturnPath source, ReturnPath dest)
DataflowAnalysiscopy in interface DataflowAnalysis<Fact>public void initEntryFact(ReturnPath fact)
DataflowAnalysisinitEntryFact in interface DataflowAnalysis<Fact>public void makeFactTop(ReturnPath fact)
DataflowAnalysismakeFactTop in interface DataflowAnalysis<Fact>public boolean isTop(ReturnPath fact)
DataflowAnalysisisTop in interface DataflowAnalysis<Fact>public boolean same(ReturnPath fact1, ReturnPath fact2)
DataflowAnalysissame in interface DataflowAnalysis<Fact>public void transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
ReturnPath fact)
throws DataflowAnalysisException
AbstractDataflowAnalysistransferInstruction in class AbstractDataflowAnalysis<ReturnPath>handle - the instructionbasicBlock - the BasicBlock containing the instruction; needed to
disambiguate instructions in inlined JSR subroutinesfact - which should be modified based on the instructionDataflowAnalysisExceptionpublic boolean isFactValid(ReturnPath fact)
AbstractDataflowAnalysisisFactValid in class AbstractDataflowAnalysis<ReturnPath>public void meetInto(ReturnPath fact, Edge edge, ReturnPath result) throws DataflowAnalysisException
DataflowAnalysismeetInto in interface DataflowAnalysis<Fact>fact - the predecessor fact (incoming edge)edge - the edge from the predecessorresult - the result factDataflowAnalysisExceptionFindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.