|
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<StackDepth>
edu.umd.cs.findbugs.ba.StackDepthAnalysis
public class StackDepthAnalysis
A really simple forward dataflow analysis to find the depth of the Java operand stack. This is more of a proof of concept for the dataflow analysis framework than anything useful.
Dataflow,
DataflowAnalysis| Field Summary | |
|---|---|
static int |
BOTTOM
|
static int |
TOP
|
| Constructor Summary | |
|---|---|
StackDepthAnalysis(org.apache.bcel.generic.ConstantPoolGen cpg,
DepthFirstSearch dfs)
Constructor. |
|
| Method Summary | |
|---|---|
void |
copy(StackDepth source,
StackDepth dest)
Copy dataflow facts. |
StackDepth |
createFact()
Create empty (uninitialized) dataflow facts for one program point. |
void |
initEntryFact(StackDepth entryFact)
Initialize the "entry" fact for the graph. |
boolean |
isFactValid(StackDepth fact)
Determine whether the given fact is valid (neither top nor bottom). |
boolean |
isTop(StackDepth fact)
Is the given fact the top value. |
void |
makeFactTop(StackDepth fact)
Make given fact the top value. |
void |
meetInto(StackDepth fact,
Edge edge,
StackDepth result)
Meet a dataflow fact associated with an incoming edge into another fact. |
boolean |
same(StackDepth fact1,
StackDepth fact2)
Are given dataflow facts the same? |
void |
transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
StackDepth 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 |
| Field Detail |
|---|
public static final int TOP
public static final int BOTTOM
| Constructor Detail |
|---|
public StackDepthAnalysis(org.apache.bcel.generic.ConstantPoolGen cpg,
DepthFirstSearch dfs)
cpg - the ConstantPoolGen of the method whose CFG we're performing the analysis ondfs - DepthFirstSearch of the method's CFG| Method Detail |
|---|
public StackDepth createFact()
DataflowAnalysis
public void makeFactTop(StackDepth fact)
DataflowAnalysis
public boolean isTop(StackDepth fact)
DataflowAnalysis
public boolean isFactValid(StackDepth fact)
AbstractDataflowAnalysis
isFactValid in class AbstractDataflowAnalysis<StackDepth>
public void copy(StackDepth source,
StackDepth dest)
DataflowAnalysis
public void initEntryFact(StackDepth entryFact)
DataflowAnalysis
public boolean same(StackDepth fact1,
StackDepth fact2)
DataflowAnalysis
public void transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
StackDepth fact)
throws DataflowAnalysisException
AbstractDataflowAnalysis
transferInstruction in class AbstractDataflowAnalysis<StackDepth>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 void meetInto(StackDepth fact,
Edge edge,
StackDepth result)
DataflowAnalysis
fact - the predecessor fact (incoming edge)edge - the edge from the predecessorresult - the result fact
|
FindBugs™ 1.3.9 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||