ROSE
0.9.6a
|
#include <ClassHierarchyGraph.h>
Public Types | |
typedef boost::unordered_set < SgClassDefinition * > | ClassDefSet |
typedef boost::unordered_map < std::string, ClassDefSet > | MangledNameToClassDefsMap |
Public Member Functions | |
ClassHierarchyWrapper (SgNode *node) | |
const ClassDefSet & | getSubclasses (SgClassDefinition *) const |
const ClassDefSet & | getDirectSubclasses (SgClassDefinition *) const |
const ClassDefSet & | getAncestorClasses (SgClassDefinition *) const |
Static Private Member Functions | |
static void | buildAncestorsMap (const MangledNameToClassDefsMap &parents, MangledNameToClassDefsMap &transitiveParents) |
Computes the transitive closure of the child-parent class relationship. More... | |
Private Attributes | |
MangledNameToClassDefsMap | directParents |
Map from each class to all its immediate superclasses. More... | |
MangledNameToClassDefsMap | directChildren |
Map from each class to all its immediate subclasses. More... | |
MangledNameToClassDefsMap | ancestorClasses |
Map from class to all (strict) ancestors. More... | |
MangledNameToClassDefsMap | subclasses |
Map from class to all (strict) subclasses. More... | |
SgIncidenceDirectedGraph * | classGraph |
Definition at line 8 of file ClassHierarchyGraph.h.
typedef boost::unordered_set<SgClassDefinition*> ClassHierarchyWrapper::ClassDefSet |
Definition at line 11 of file ClassHierarchyGraph.h.
typedef boost::unordered_map<std::string, ClassDefSet> ClassHierarchyWrapper::MangledNameToClassDefsMap |
Definition at line 13 of file ClassHierarchyGraph.h.
ClassHierarchyWrapper::ClassHierarchyWrapper | ( | SgNode * | node) |
const ClassDefSet& ClassHierarchyWrapper::getSubclasses | ( | SgClassDefinition * | ) | const |
const ClassDefSet& ClassHierarchyWrapper::getDirectSubclasses | ( | SgClassDefinition * | ) | const |
const ClassDefSet& ClassHierarchyWrapper::getAncestorClasses | ( | SgClassDefinition * | ) | const |
|
staticprivate |
Computes the transitive closure of the child-parent class relationship.
parents | map from each class to its parents. |
transitiveParents | map from each class to all its ancestors |
|
private |
Map from each class to all its immediate superclasses.
Definition at line 19 of file ClassHierarchyGraph.h.
|
private |
Map from each class to all its immediate subclasses.
Definition at line 22 of file ClassHierarchyGraph.h.
|
private |
Map from class to all (strict) ancestors.
Definition at line 25 of file ClassHierarchyGraph.h.
|
private |
Map from class to all (strict) subclasses.
Definition at line 28 of file ClassHierarchyGraph.h.
|
private |
Definition at line 30 of file ClassHierarchyGraph.h.