|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.umd.cs.findbugs.ba.AbstractDataflowAnalysis<Fact>
edu.umd.cs.findbugs.ba.BackwardDataflowAnalysis<WillBeDereferencedInfo>
edu.umd.cs.findbugs.ba.npe.WillBeDereferencedAnalysis
public class WillBeDereferencedAnalysis
Dataflow analysis to look for parameters dereferenced unconditionally. Flow values are sets of parameters (indexed starting from 0) which are dereferenced on every path past the current location.
Constructor Summary | |
---|---|
WillBeDereferencedAnalysis(ReverseDepthFirstSearch rdfs,
CFG cfg,
org.apache.bcel.generic.MethodGen methodGen,
ValueNumberDataflow vnaDataflow,
TypeDataflow typeDataflow)
|
Method Summary | |
---|---|
void |
copy(WillBeDereferencedInfo source,
WillBeDereferencedInfo dest)
Copy dataflow facts. |
WillBeDereferencedInfo |
createFact()
Create empty (uninitialized) dataflow facts for one program point. |
void |
initEntryFact(WillBeDereferencedInfo result)
Initialize the "entry" fact for the graph. |
void |
initResultFact(WillBeDereferencedInfo result)
Initialize result fact for block. |
boolean |
isFactValid(WillBeDereferencedInfo fact)
Determine whether the given fact is valid (neither top nor bottom). |
void |
makeFactTop(WillBeDereferencedInfo fact)
Make given fact the top value. |
void |
meetInto(WillBeDereferencedInfo fact,
Edge edge,
WillBeDereferencedInfo result)
Meet a dataflow fact associated with an incoming edge into another fact. |
boolean |
same(WillBeDereferencedInfo fact1,
WillBeDereferencedInfo fact2)
Are given dataflow facts the same? |
void |
transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
WillBeDereferencedInfo fact)
Transfer function for a single instruction. |
Methods inherited from class edu.umd.cs.findbugs.ba.BackwardDataflowAnalysis |
---|
getBlockOrder, getReverseDepthFirstSearch, isForwards |
Methods inherited from class edu.umd.cs.findbugs.ba.AbstractDataflowAnalysis |
---|
endTransfer, factToString, getFactAfterLocation, getFactAtLocation, getResultFact, getStartFact, resultFactIterator, startTransfer, transfer |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public WillBeDereferencedAnalysis(ReverseDepthFirstSearch rdfs, CFG cfg, org.apache.bcel.generic.MethodGen methodGen, ValueNumberDataflow vnaDataflow, TypeDataflow typeDataflow)
Method Detail |
---|
public void copy(WillBeDereferencedInfo source, WillBeDereferencedInfo dest)
DataflowAnalysis
public WillBeDereferencedInfo createFact()
DataflowAnalysis
public void initEntryFact(WillBeDereferencedInfo result) throws DataflowAnalysisException
DataflowAnalysis
DataflowAnalysisException
public void initResultFact(WillBeDereferencedInfo result)
DataflowAnalysis
public void makeFactTop(WillBeDereferencedInfo fact)
DataflowAnalysis
public void meetInto(WillBeDereferencedInfo fact, Edge edge, WillBeDereferencedInfo result) throws DataflowAnalysisException
DataflowAnalysis
fact
- the predecessor fact (incoming edge)edge
- the edge from the predecessorresult
- the result fact
DataflowAnalysisException
public boolean same(WillBeDereferencedInfo fact1, WillBeDereferencedInfo fact2)
DataflowAnalysis
public boolean isFactValid(WillBeDereferencedInfo fact)
AbstractDataflowAnalysis
isFactValid
in class AbstractDataflowAnalysis<WillBeDereferencedInfo>
public void transferInstruction(org.apache.bcel.generic.InstructionHandle handle, BasicBlock basicBlock, WillBeDereferencedInfo fact) throws DataflowAnalysisException
AbstractDataflowAnalysis
transferInstruction
in class AbstractDataflowAnalysis<WillBeDereferencedInfo>
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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |