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