1 #include <featureTests.h>
2 #ifdef ROSE_ENABLE_SOURCE_ANALYSIS
33 { this->state = state; }
37 { this->state = state; }
67 bool andUpd(
bool state);
78 std::string str(std::string indent=
"");
86 static const int infinity;
112 bool meetUpdate(
Lattice* that);
117 bool operator==(
Lattice* that);
132 bool incr(
int increment);
137 bool maximum(
int value);
148 std::string str(std::string indent=
"");
160 static const int uninitialized=0;
161 static const int initialized=1;
166 std::vector<Lattice*> lattices;
173 void init(
const std::vector<Lattice*>& lattices);
178 const std::vector<Lattice*>& getLattices();
181 void copy_lattices(std::vector<Lattice*>& newLattices)
const;
184 virtual void copy(
Lattice* that);
188 virtual bool meetUpdate(
Lattice* that);
190 virtual bool operator==(
Lattice* that);
192 int getLevel() {
return level; }
206 virtual std::string str(std::string indent=
"");
227 for(std::vector<Lattice*>::iterator it = lattices.begin(); it!=lattices.end(); it++)
228 ROSE_ASSERT((*it)->finiteLattice());
272 std::map<varID, Lattice*> constVarLattices;
281 static std::map<Function, std::map<varID, int> > varLatticeIndex;
299 const std::map<varID, Lattice*>& constVarLattices,
Lattice* allVarLattice,
311 void setUpVarLatticeIndex();
320 varIDSet& getGlobalVars()
const;
321 static varIDSet& getGlobalVars(
bool includeScalars,
bool includeArrays);
324 varIDSet& getLocalVars(
Function func)
const;
327 varIDSet& getRefVars(
Function func)
const;
330 varIDSet getVisibleVars(
Function func)
const;
347 void remapVars(
const std::map<varID, varID>& varNameMap,
const Function& newFunc);
354 void incorporateVars(
Lattice* that);
367 std::string str(std::string indent=
"");
386 Lattice* perVarLattice,
const std::map<varID, Lattice*>& constVarLattices,
Lattice* allVarLattice,
388 VariablesProductLattice(includeScalars, includeArrays, perVarLattice, constVarLattices, allVarLattice, func, n, state),
423 Lattice* perVarLattice, std::map<varID, Lattice*> constVarLattices,
Lattice* allVarLattice,
425 VariablesProductLattice(includeScalars, includeArrays, perVarLattice, constVarLattices, allVarLattice, func, n, state),