|
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>
edu.umd.cs.findbugs.ba.ForwardDataflowAnalysis<FieldSet>
edu.umd.cs.findbugs.ba.heap.FieldSetAnalysis
public abstract class FieldSetAnalysis
Constructor Summary | |
---|---|
FieldSetAnalysis(DepthFirstSearch dfs,
org.apache.bcel.generic.ConstantPoolGen cpg)
|
Method Summary | |
---|---|
void |
copy(FieldSet source,
FieldSet dest)
Copy dataflow facts. |
FieldSet |
createFact()
Create empty (uninitialized) dataflow facts for one program point. |
org.apache.bcel.generic.ConstantPoolGen |
getCPG()
|
void |
initEntryFact(FieldSet result)
Initialize the "entry" fact for the graph. |
boolean |
isFactValid(FieldSet fact)
Determine whether the given fact is valid (neither top nor bottom). |
boolean |
isTop(FieldSet fact)
Is the given fact the top value. |
void |
makeFactTop(FieldSet fact)
Make given fact the top value. |
void |
meetInto(FieldSet fact,
Edge edge,
FieldSet result)
Meet a dataflow fact associated with an incoming edge into another fact. |
boolean |
same(FieldSet fact1,
FieldSet fact2)
Are given dataflow facts the same? |
protected abstract void |
sawLoad(FieldSet fact,
XField field)
|
protected abstract void |
sawStore(FieldSet fact,
XField field)
|
void |
transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
FieldSet fact)
Transfer function for a single instruction. |
Methods inherited from class edu.umd.cs.findbugs.ba.ForwardDataflowAnalysis |
---|
getBlockOrder, getDepthFirstSearch, isForwards |
Methods inherited from class edu.umd.cs.findbugs.ba.AbstractDataflowAnalysis |
---|
getFactAfterLocation, getFactAtLocation, transfer |
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 |
Constructor Detail |
---|
public FieldSetAnalysis(DepthFirstSearch dfs, org.apache.bcel.generic.ConstantPoolGen cpg)
Method Detail |
---|
public org.apache.bcel.generic.ConstantPoolGen getCPG()
public void makeFactTop(FieldSet fact)
DataflowAnalysis
public boolean isTop(FieldSet fact)
DataflowAnalysis
public void initEntryFact(FieldSet result) throws DataflowAnalysisException
DataflowAnalysis
DataflowAnalysisException
public void meetInto(FieldSet fact, Edge edge, FieldSet result) throws DataflowAnalysisException
DataflowAnalysis
fact
- the predecessor fact (incoming edge)edge
- the edge from the predecessorresult
- the result fact
DataflowAnalysisException
public boolean same(FieldSet fact1, FieldSet fact2)
DataflowAnalysis
public FieldSet createFact()
DataflowAnalysis
public boolean isFactValid(FieldSet fact)
AbstractDataflowAnalysis
isFactValid
in class AbstractDataflowAnalysis<FieldSet>
public void copy(FieldSet source, FieldSet dest)
DataflowAnalysis
public void transferInstruction(org.apache.bcel.generic.InstructionHandle handle, BasicBlock basicBlock, FieldSet fact) throws DataflowAnalysisException
AbstractDataflowAnalysis
transferInstruction
in class AbstractDataflowAnalysis<FieldSet>
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
protected abstract void sawLoad(FieldSet fact, XField field)
protected abstract void sawStore(FieldSet fact, XField field)
|
FindBugs™ 1.3.9 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |