Class CompReprBase#

Inheritance Relationships#

Derived Type#

Class Documentation#

class CompReprBase#

Subclassed by CompactRepresentation

Public Functions

inline CompReprBase()#
virtual void computeAliases(SgVariableSymbol *var, int derefLevel, vector<SgGraphNode*>&) = 0#

Given a VariableSymbol and Dereference level compute the Aliases.

virtual void computeAliases(SgGraphNode *node, int derefLevel, vector<SgGraphNode*>&) = 0#

Given a GraphNode and Dereference level compute the Aliases.

virtual void addMustAliasRelation(const AliasRelationNode &left, const AliasRelationNode &right) = 0#

Add a must alias relation.

virtual void addMayAliasRelation(const AliasRelationNode &left, const AliasRelationNode &right) = 0#

Add a may alias relation eg. conditionals.

virtual unsigned long getHash() const = 0#

compute hash of the graph

virtual SgIncidenceDirectedGraph *getGraph() const = 0#

Get the Graph.

virtual void merge(const CompReprBase&) = 0#

Merge two CompRepr.

virtual void toDot(const std::string &file_name) = 0#

Print to Dot file.

Protected Functions

inline virtual ~CompReprBase()#

Protected Destructor to make sure the client code can’t delete it.

Protected Attributes

SgIncidenceDirectedGraph *graph#
unsigned long hash#