org.dellroad.jc.cgen.analysis
Class FollowsAnalysis

java.lang.Object
  extended bysoot.toolkits.scalar.AbstractFlowAnalysis
      extended bysoot.toolkits.scalar.FlowAnalysis
          extended bysoot.toolkits.scalar.ForwardFlowAnalysis
              extended byorg.dellroad.jc.cgen.analysis.FollowsAnalysis

public class FollowsAnalysis
extends ForwardFlowAnalysis

Analysis that determines which statements can be executed after which other statements.


Field Summary
 
Fields inherited from class soot.toolkits.scalar.FlowAnalysis
unitToAfterFlow
 
Fields inherited from class soot.toolkits.scalar.AbstractFlowAnalysis
graph, unitToBeforeFlow
 
Constructor Summary
FollowsAnalysis(Body body)
           
FollowsAnalysis(CompleteUnitGraph graph)
           
 
Method Summary
 boolean canFollow(Unit before, Unit after)
          Determine if after can execute after before.
protected  void copy(Object src, Object dst)
           
protected  Object entryInitialFlow()
           
protected  void flowThrough(Object in, Object stmt, Object out)
           
protected  void merge(Object in1, Object in2, Object out)
           
protected  Object newInitialFlow()
           
 
Methods inherited from class soot.toolkits.scalar.ForwardFlowAnalysis
doAnalysis, isForward
 
Methods inherited from class soot.toolkits.scalar.FlowAnalysis
getFlowAfter
 
Methods inherited from class soot.toolkits.scalar.AbstractFlowAnalysis
customizeInitialFlowGraph, getFlowBefore, treatTrapHandlersAsEntries
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FollowsAnalysis

public FollowsAnalysis(Body body)

FollowsAnalysis

public FollowsAnalysis(CompleteUnitGraph graph)
Method Detail

canFollow

public boolean canFollow(Unit before,
                         Unit after)
Determine if after can execute after before.


entryInitialFlow

protected Object entryInitialFlow()

newInitialFlow

protected Object newInitialFlow()

flowThrough

protected void flowThrough(Object in,
                           Object stmt,
                           Object out)

merge

protected void merge(Object in1,
                     Object in2,
                     Object out)

copy

protected void copy(Object src,
                    Object dst)