|
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<TypeQualifierValueSet>
edu.umd.cs.findbugs.ba.jsr305.TypeQualifierDataflowAnalysis
edu.umd.cs.findbugs.ba.jsr305.BackwardTypeQualifierDataflowAnalysis
public class BackwardTypeQualifierDataflowAnalysis
Backwards type qualifier dataflow analysis.
| Field Summary |
|---|
| Fields inherited from class edu.umd.cs.findbugs.ba.jsr305.TypeQualifierDataflowAnalysis |
|---|
cfg, cpg, typeQualifierValue, vnaDataflow, xmethod |
| Constructor Summary | |
|---|---|
BackwardTypeQualifierDataflowAnalysis(DepthFirstSearch dfs,
ReverseDepthFirstSearch rdfs,
XMethod xmethod,
CFG cfg,
ValueNumberDataflow vnaDataflow,
org.apache.bcel.generic.ConstantPoolGen cpg,
TypeQualifierValue typeQualifierValue)
Constructor. |
|
| Method Summary | |
|---|---|
void |
edgeTransfer(Edge edge,
TypeQualifierValueSet fact)
Edge transfer function. |
BlockOrder |
getBlockOrder(CFG cfg)
Return the BlockOrder specifying the order in which BasicBlocks should be visited in the main dataflow loop. |
boolean |
isForwards()
Returns true if the analysis is forwards, false if backwards. |
protected void |
propagateAcrossPhiNode(TypeQualifierValueSet fact,
ValueNumber sourceVN,
ValueNumber targetVN)
|
void |
registerSourceSinkLocations()
This method must be called before the dataflow analysis is executed. |
void |
setForwardTypeQualifierDataflow(ForwardTypeQualifierDataflow forwardTypeQualifierDataflow)
|
void |
transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
TypeQualifierValueSet fact)
Transfer function for a single instruction. |
| Methods inherited from class edu.umd.cs.findbugs.ba.jsr305.TypeQualifierDataflowAnalysis |
|---|
copy, createFact, getSourceSinkInfoSet, initEntryFact, isFactValid, isTop, makeFactTop, meetInto, registerSourceSink, same |
| Methods inherited from class edu.umd.cs.findbugs.ba.AbstractDataflowAnalysis |
|---|
getFactAfterLocation, getFactAtLocation, transfer |
| Methods inherited from class edu.umd.cs.findbugs.ba.BasicAbstractDataflowAnalysis |
|---|
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 BackwardTypeQualifierDataflowAnalysis(DepthFirstSearch dfs,
ReverseDepthFirstSearch rdfs,
XMethod xmethod,
CFG cfg,
ValueNumberDataflow vnaDataflow,
org.apache.bcel.generic.ConstantPoolGen cpg,
TypeQualifierValue typeQualifierValue)
dfs - DepthFirstSearch on the analyzed methodrdfs - ReverseDepthFirstSearch on the analyzed methodxmethod - XMethod for the analyzed methodcfg - CFG of the analyzed methodvnaDataflow - ValueNumberDataflow on the analyzed methodcpg - ConstantPoolGen of the analyzed methodtypeQualifierValue - TypeQualifierValue representing type qualifier the analysis should check| Method Detail |
|---|
public void setForwardTypeQualifierDataflow(ForwardTypeQualifierDataflow forwardTypeQualifierDataflow)
forwardTypeQualifierDataflow - The forwardTypeQualifierDataflow to set.
public void edgeTransfer(Edge edge,
TypeQualifierValueSet fact)
throws DataflowAnalysisException
DataflowAnalysisA do-nothing implementation is legal, and appropriate for analyses where branches are not significant.
edgeTransfer in interface DataflowAnalysis<TypeQualifierValueSet>edgeTransfer in class TypeQualifierDataflowAnalysisedge - the Edgefact - a dataflow fact
DataflowAnalysisException
public void transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
TypeQualifierValueSet fact)
throws DataflowAnalysisException
AbstractDataflowAnalysis
transferInstruction in class TypeQualifierDataflowAnalysishandle - the instructionbasicBlock - the BasicBlock containing the instruction; needed to disambiguate
instructions in inlined JSR subroutinesfact - which should be modified based on the instruction
DataflowAnalysisExceptionpublic BlockOrder getBlockOrder(CFG cfg)
DataflowAnalysis
cfg - the CFG upon which we're performing dataflow analysispublic boolean isForwards()
DataflowAnalysis
public void registerSourceSinkLocations()
throws DataflowAnalysisException
TypeQualifierDataflowAnalysis
registerSourceSinkLocations in class TypeQualifierDataflowAnalysisDataflowAnalysisException
protected void propagateAcrossPhiNode(TypeQualifierValueSet fact,
ValueNumber sourceVN,
ValueNumber targetVN)
propagateAcrossPhiNode in class TypeQualifierDataflowAnalysis
|
FindBugs™ 1.3.9 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||