|
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<LockSet>
edu.umd.cs.findbugs.ba.LockAnalysis
public class LockAnalysis
Analysis to determine where particular values are locked in a method. The dataflow values are maps of value numbers to the number of times those values are locked.
ValueNumberAnalysis
Constructor Summary | |
---|---|
LockAnalysis(org.apache.bcel.generic.MethodGen methodGen,
ValueNumberDataflow vnaDataflow,
DepthFirstSearch dfs)
|
Method Summary | |
---|---|
void |
copy(LockSet source,
LockSet dest)
Copy dataflow facts. |
LockSet |
createFact()
Create empty (uninitialized) dataflow facts for one program point. |
void |
initEntryFact(LockSet result)
Initialize the "entry" fact for the graph. |
boolean |
isFactValid(LockSet fact)
Determine whether the given fact is valid (neither top nor bottom). |
boolean |
isTop(LockSet fact)
Is the given fact the top value. |
void |
makeFactTop(LockSet fact)
Make given fact the top value. |
void |
meetInto(LockSet fact,
Edge edge,
LockSet result)
Meet a dataflow fact associated with an incoming edge into another fact. |
boolean |
same(LockSet fact1,
LockSet fact2)
Are given dataflow facts the same? |
void |
transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
LockSet 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 LockAnalysis(org.apache.bcel.generic.MethodGen methodGen, ValueNumberDataflow vnaDataflow, DepthFirstSearch dfs)
Method Detail |
---|
public LockSet createFact()
DataflowAnalysis
public void copy(LockSet source, LockSet dest)
DataflowAnalysis
public void initEntryFact(LockSet result)
DataflowAnalysis
public void makeFactTop(LockSet fact)
DataflowAnalysis
public boolean isTop(LockSet fact)
DataflowAnalysis
public boolean same(LockSet fact1, LockSet fact2)
DataflowAnalysis
public void meetInto(LockSet fact, Edge edge, LockSet result) throws DataflowAnalysisException
DataflowAnalysis
fact
- the predecessor fact (incoming edge)edge
- the edge from the predecessorresult
- the result fact
DataflowAnalysisException
public void transferInstruction(org.apache.bcel.generic.InstructionHandle handle, BasicBlock basicBlock, LockSet fact) throws DataflowAnalysisException
AbstractDataflowAnalysis
transferInstruction
in class AbstractDataflowAnalysis<LockSet>
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
public boolean isFactValid(LockSet fact)
AbstractDataflowAnalysis
isFactValid
in class AbstractDataflowAnalysis<LockSet>
|
FindBugs™ 1.3.9 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |