1 #include <featureTests.h>
2 #ifdef ROSE_ENABLE_SOURCE_ANALYSIS
7 #include "CallGraphTraverse.h"
16 virtual void initialize()=0;
18 virtual Lattice* copy()
const=0;
20 virtual void copy(
Lattice* that)=0;
38 virtual void remapVars(
const std::map<varID, varID>& varNameMap,
const Function& newFunc) {}
47 virtual void incorporateVars(
Lattice* that) {}
87 virtual bool unProject(
SgExpression* expr,
Lattice* exprState) {
return meetUpdate(exprState); }
91 virtual bool meetUpdate(
Lattice* that)=0;
100 virtual bool operator==(
Lattice* that) =0;
101 bool operator!=(
Lattice* that) {
102 return !(*
this == that);
104 bool operator==(
Lattice& that) {
105 return *
this == &that;
107 bool operator!=(
Lattice& that) {
108 return !(*
this == that);
bool finiteLattice()
Check if this lattice is finite or not.
This class represents the notion of an expression. Expressions are derived from SgLocatedNodes, since similar to statement, expressions have a concrete location within the user's source code.
virtual bool finiteLattice()=0
Check if this lattice is finite or not.
bool finiteLattice()
Check if this lattice is finite or not.