Class CompactRepresentation#

Inheritance Relationships#

Base Type#

Class Documentation#

class CompactRepresentation : public CompReprBase#

Public Functions

inline std::unordered_map<SgNode*, SgGraphNode*> getNodesMapping()#

Get the Mapping from SgNode to SgGraphNode.

inline CompactRepresentation()#
inline virtual SgIncidenceDirectedGraph *getGraph() const#

Get the Graph.

inline virtual unsigned long getHash() const#

Get the Hash.

CompactRepresentation(const CompactRepresentation &copy)#

Copy constructor for CompactRepresentation.

CompactRepresentation &operator=(const CompactRepresentation &p)#

Assignment operator overload for Compactrepresentation.

virtual void computeAliases(SgVariableSymbol *var, int derefLevel, vector<SgGraphNode*> &nodes)#

Given a VariableSymbol and Dereference level return list of aliases.

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

Given a graph node and Dereference level return list of aliases.

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

Add a Must Relation to CompactRepresntation.

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

Add a May Relation to CompactRepresntation.

virtual void merge(const CompReprBase &that)#

Merge two CompactRepresentations.

bool operator==(const CompactRepresentation &that) const#

== Operator overload for CompactRepresentation. Implemented using hashing for efficiency

bool operator!=(const CompactRepresentation &that) const#

!= Operator overload for CompactRepresentation. Implemented using hashing for efficiency

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

Prints CompactRepresentation to Dot File.