soot.toolkits.scalar
Class BackwardFlowAnalysis<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.BackwardFlowAnalysis<N,A>
Direct Known Subclasses:
CombinedDUAnalysis, CommonPrecedingEqualValueAnalysis, DownSafetyAnalysis, LockableReferenceAnalysis, New2InitFlowAnalysis, NotIsolatedAnalysis, NullnessAssumptionAnalysis, PostDominatorAnalysis, StrayRWFinder

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

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


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
BackwardFlowAnalysis(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

BackwardFlowAnalysis

public BackwardFlowAnalysis(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)