dk.brics.xact.analysis.soot
Class StringConstantAnalysis

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<Unit,Map<Local,StringConstant>>
              extended by dk.brics.xact.analysis.soot.StringConstantAnalysis

public class StringConstantAnalysis
extends ForwardFlowAnalysis<Unit,Map<Local,StringConstant>>

Determines for each program point the locals with a constant string value and their corresponding string constants.


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
StringConstantAnalysis(DirectedGraph<Unit> graph)
           
 
Method Summary
protected  void copy(Map<Local,StringConstant> source, Map<Local,StringConstant> dest)
           
protected  Map<Local,StringConstant> entryInitialFlow()
           
protected  void flowThrough(Map<Local,StringConstant> in, Unit d, Map<Local,StringConstant> out)
           
protected  void merge(Map<Local,StringConstant> in1, Map<Local,StringConstant> in2, Map<Local,StringConstant> out)
           
protected  Map<Local,StringConstant> newInitialFlow()
           
 
Methods inherited from class soot.toolkits.scalar.ForwardFlowAnalysis
constructWorklist, doAnalysis, isForward
 
Methods inherited from class soot.toolkits.scalar.FlowAnalysis
constructOrderer, getFlowAfter
 
Methods inherited from class soot.toolkits.scalar.AbstractFlowAnalysis
getFlowBefore, merge, treatTrapHandlersAsEntries
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StringConstantAnalysis

public StringConstantAnalysis(DirectedGraph<Unit> graph)
Method Detail

copy

protected void copy(Map<Local,StringConstant> source,
                    Map<Local,StringConstant> dest)
Specified by:
copy in class AbstractFlowAnalysis<Unit,Map<Local,StringConstant>>

entryInitialFlow

protected Map<Local,StringConstant> entryInitialFlow()
Specified by:
entryInitialFlow in class AbstractFlowAnalysis<Unit,Map<Local,StringConstant>>

flowThrough

protected void flowThrough(Map<Local,StringConstant> in,
                           Unit d,
                           Map<Local,StringConstant> out)
Specified by:
flowThrough in class FlowAnalysis<Unit,Map<Local,StringConstant>>

merge

protected void merge(Map<Local,StringConstant> in1,
                     Map<Local,StringConstant> in2,
                     Map<Local,StringConstant> out)
Specified by:
merge in class AbstractFlowAnalysis<Unit,Map<Local,StringConstant>>

newInitialFlow

protected Map<Local,StringConstant> newInitialFlow()
Specified by:
newInitialFlow in class AbstractFlowAnalysis<Unit,Map<Local,StringConstant>>


Copyright © 2005-2011 Aarhus University.