public abstract class AbstractDataflowAnalysis<Fact> extends BasicAbstractDataflowAnalysis<Fact>
Dataflow,
DataflowAnalysis| Constructor and Description |
|---|
AbstractDataflowAnalysis() |
| Modifier and Type | Method and Description |
|---|---|
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.
|
edgeTransfer, factToString, finishIteration, getFactOnEdge, getLastUpdateTimestamp, getResultFact, getStartFact, resultFactIterator, setLastUpdateTimestamp, startIterationclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcopy, createFact, getBlockOrder, initEntryFact, isForwards, isTop, makeFactTop, meetInto, samepublic 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 instructionDataflowAnalysisException@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 locationDataflowAnalysisExceptionpublic Fact getFactAfterLocation(Location location) throws DataflowAnalysisException
getFactAfterLocation in interface DataflowAnalysis<Fact>getFactAfterLocation in class BasicAbstractDataflowAnalysis<Fact>location - the locationDataflowAnalysisExceptionpublic void transfer(BasicBlock basicBlock, @CheckForNull org.apache.bcel.generic.InstructionHandle end, Fact start, Fact result) throws DataflowAnalysisException
DataflowAnalysisbasicBlock - 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 blockDataflowAnalysisExceptionFindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.