soot.toolkits.scalar
Class ForwardFlowAnalysis<N,A>

java.lang.Object
  extended by soot.toolkits.scalar.AbstractFlowAnalysis<N,A>
      extended by soot.toolkits.scalar.FlowAnalysis<N,A>
          extended by soot.toolkits.scalar.ForwardFlowAnalysis<N,A>
Direct Known Subclasses:
ClinitElimAnalysis, DelayabilityAnalysis, DominatorAnalysis, EqualLocalsAnalysis, EqualUsesAnalysis, FastAvailableExpressionsAnalysis, InitAnalysis, LocalMustAliasAnalysis, LocalMustNotAliasAnalysis, MonitorAnalysis, MultiRunStatementsFinder, ParityAnalysis, PurityIntraproceduralAnalysis, SimpleMethodInfoFlowAnalysis, SlowAvailableExpressionsAnalysis, StartJoinAnalysis, SynchronizedRegionFinder, UpSafetyAnalysis

public abstract class ForwardFlowAnalysis<N,A>
extends FlowAnalysis<N,A>

Abstract class that provides the fixed point iteration functionality required by all ForwardFlowAnalyses.


Field Summary
 
Fields inherited from class soot.toolkits.scalar.FlowAnalysis
filterUnitToAfterFlow, unitToAfterFlow
 
Fields inherited from class soot.toolkits.scalar.AbstractFlowAnalysis
filterUnitToBeforeFlow, graph, unitToBeforeFlow
 
Constructor Summary
ForwardFlowAnalysis(DirectedGraph<N> graph)
          Construct the analysis from a DirectedGraph representation of a Body.
 
Method Summary
protected  Collection<N> constructWorklist(Map<N,Integer> numbers)
           
protected  void doAnalysis()
          Carries out the actual flow analysis.
protected  boolean isForward()
          Returns true if this analysis is forwards.
 
Methods inherited from class soot.toolkits.scalar.FlowAnalysis
constructOrderer, flowThrough, getFlowAfter
 
Methods inherited from class soot.toolkits.scalar.AbstractFlowAnalysis
copy, entryInitialFlow, getFlowBefore, merge, merge, mergeInto, newInitialFlow, treatTrapHandlersAsEntries
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ForwardFlowAnalysis

public ForwardFlowAnalysis(DirectedGraph<N> graph)
Construct the analysis from a DirectedGraph representation of a Body.

Method Detail

isForward

protected boolean isForward()
Description copied from class: AbstractFlowAnalysis
Returns true if this analysis is forwards.

Specified by:
isForward in class AbstractFlowAnalysis<N,A>

doAnalysis

protected void doAnalysis()
Description copied from class: AbstractFlowAnalysis
Carries out the actual flow analysis. Typically called from a concrete FlowAnalysis's constructor.

Specified by:
doAnalysis in class AbstractFlowAnalysis<N,A>

constructWorklist

protected Collection<N> constructWorklist(Map<N,Integer> numbers)