edu.umd.cs.findbugs.ba
Class AbstractDataflow<Fact,AnalysisType extends AbstractDataflowAnalysis<Fact>>

java.lang.Object
  extended by edu.umd.cs.findbugs.ba.Dataflow<Fact,AnalysisType>
      extended by edu.umd.cs.findbugs.ba.AbstractDataflow<Fact,AnalysisType>
Direct Known Subclasses:
LoadDataflow, StoreDataflow, UnconditionalDerefDataflow

public class AbstractDataflow<Fact,AnalysisType extends AbstractDataflowAnalysis<Fact>>
extends Dataflow<Fact,AnalysisType>

Convenience class for defining Dataflow classes which use an AbstractDataflowAnalysis subtype. The main functionality is offering getFact{At,After}Location() methods which forward to the actual analysis object.

Author:
David Hovemeyer
See Also:
Dataflow, AbstractDataflowAnalysis

Constructor Summary
AbstractDataflow(CFG cfg, AnalysisType analysis)
          Constructor.
 
Method Summary
 Fact getFactAfterLocation(Location location)
          Get dataflow fact after given Location.
 Fact getFactAtLocation(Location location)
          Get dataflow fact at given Location.
 
Methods inherited from class edu.umd.cs.findbugs.ba.Dataflow
execute, getAnalysis, getCFG, getNumIterations, getResultFact, getStartFact
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractDataflow

public AbstractDataflow(CFG cfg,
                        AnalysisType analysis)
Constructor.

Parameters:
cfg - CFG of the method on which dfa is performed
analysis - the dataflow analysis
Method Detail

getFactAtLocation

public Fact getFactAtLocation(Location location)
                       throws DataflowAnalysisException
Get dataflow fact at given Location.

Parameters:
location - the Location
Returns:
the dataflow fact
Throws:
DataflowAnalysisException

getFactAfterLocation

public Fact getFactAfterLocation(Location location)
                          throws DataflowAnalysisException
Get dataflow fact after given Location.

Parameters:
location - the Location
Returns:
the dataflow fact
Throws:
DataflowAnalysisException