|
FindBugs™ 1.3.9 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.umd.cs.findbugs.ba.BasicAbstractDataflowAnalysis<Fact>
edu.umd.cs.findbugs.ba.AbstractDataflowAnalysis<Fact>
public abstract class AbstractDataflowAnalysis<Fact>
Abstract base class providing functionality that will be useful for most dataflow analysis implementations that model instructions within basic blocks.
Dataflow
,
DataflowAnalysis
Constructor Summary | |
---|---|
AbstractDataflowAnalysis()
|
Method Summary | |
---|---|
Fact |
getFactAfterLocation(Location location)
Get the dataflow fact representing the point just after given Location. |
Fact |
getFactAtLocation(Location location)
Get the dataflow fact representing the point just before given Location. |
abstract boolean |
isFactValid(Fact fact)
Determine whether the given fact is valid (neither top nor bottom). |
void |
transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
Fact start,
Fact result)
Transfer function for the analysis. |
abstract void |
transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
Fact fact)
Transfer function for a single instruction. |
Methods inherited from class edu.umd.cs.findbugs.ba.BasicAbstractDataflowAnalysis |
---|
edgeTransfer, factToString, finishIteration, getFactOnEdge, getLastUpdateTimestamp, getResultFact, getStartFact, resultFactIterator, setLastUpdateTimestamp, startIteration |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface edu.umd.cs.findbugs.ba.DataflowAnalysis |
---|
copy, createFact, getBlockOrder, initEntryFact, isForwards, isTop, makeFactTop, meetInto, same |
Constructor Detail |
---|
public AbstractDataflowAnalysis()
Method Detail |
---|
public abstract void transferInstruction(org.apache.bcel.generic.InstructionHandle handle, BasicBlock basicBlock, Fact fact) throws DataflowAnalysisException
handle
- the instructionbasicBlock
- the BasicBlock containing the instruction; needed to disambiguate
instructions in inlined JSR subroutinesfact
- which should be modified based on the instruction
DataflowAnalysisException
@CheckReturnValue public abstract boolean isFactValid(Fact fact)
public Fact getFactAtLocation(Location location) throws DataflowAnalysisException
getFactAtLocation
in interface DataflowAnalysis<Fact>
getFactAtLocation
in class BasicAbstractDataflowAnalysis<Fact>
location
- the location
DataflowAnalysisException
public Fact getFactAfterLocation(Location location) throws DataflowAnalysisException
getFactAfterLocation
in interface DataflowAnalysis<Fact>
getFactAfterLocation
in class BasicAbstractDataflowAnalysis<Fact>
location
- the location
DataflowAnalysisException
public void transfer(BasicBlock basicBlock, @CheckForNull org.apache.bcel.generic.InstructionHandle end, Fact start, Fact result) throws DataflowAnalysisException
DataflowAnalysis
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
|
FindBugs™ 1.3.9 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |