| 
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||
java.lang.Objectdk.brics.xact.analysis.transformations.ReachingDefinitionsAnalysis
public class ReachingDefinitionsAnalysis
Lattice and transfer functions for reaching definitions analysis. Maps each variable to a set of all statements that may assign to that variable.
| Constructor Summary | |
|---|---|
ReachingDefinitionsAnalysis()
Constructs a new analysis object.  | 
|
| Method Summary | |
|---|---|
 Set<Statement> | 
getInitial(FlowGraph g)
Returns the set of statements to start the analysis at.  | 
 boolean | 
isForward()
Returns true if this is a forwards analysis, and false if it is a backwards analysis.  | 
 boolean | 
merge(Map<Variable,Set<Assignment>> source,
      VariableFilter filter,
      Map<Variable,Set<Assignment>> dest)
Computes the least upper bound of two lattice elements.  | 
 Map<Variable,Set<Assignment>> | 
newBottomElement()
Constructs a new lattice bottom element.  | 
 boolean | 
transfer(Map<Variable,Set<Assignment>> in,
         Statement s,
         Map<Variable,Set<Assignment>> out)
Computes the lattice element resulting from flowing through the given statement.  | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
|---|
public ReachingDefinitionsAnalysis()
| Method Detail | 
|---|
public Set<Statement> getInitial(FlowGraph g)
AnalysisInterface
getInitial in interface AnalysisInterface<Map<Variable,Set<Assignment>>>g - the flow graph about to be analyzed
public boolean isForward()
AnalysisInterface
isForward in interface AnalysisInterface<Map<Variable,Set<Assignment>>>
public boolean merge(Map<Variable,Set<Assignment>> source,
                     VariableFilter filter,
                     Map<Variable,Set<Assignment>> dest)
AnalysisInterface
merge in interface AnalysisInterface<Map<Variable,Set<Assignment>>>source - the first elementfilter - the filter to merge throughdest - the second element and destination for the result
true if the new value of dest is changedpublic Map<Variable,Set<Assignment>> newBottomElement()
AnalysisInterface
newBottomElement in interface AnalysisInterface<Map<Variable,Set<Assignment>>>
public boolean transfer(Map<Variable,Set<Assignment>> in,
                        Statement s,
                        Map<Variable,Set<Assignment>> out)
AnalysisInterface
transfer in interface AnalysisInterface<Map<Variable,Set<Assignment>>>in - the flow before the statementout - destination for the result
true if the new value of out is changed
  | 
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||