ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ClasshierarchyTraversal Class Reference

#include <Classhierarchy.h>

Inheritance diagram for ClasshierarchyTraversal:
Collaboration diagram for ClasshierarchyTraversal:

Public Member Functions

 ClasshierarchyTraversal (SgProject &project)
 
ClasshierarchyInhAttr evaluateInheritedAttribute (SgNode *astNode, ClasshierarchyInhAttr inheritedAttribute)
 pure virtual function which must be implemented to compute the inherited attribute at a node More...
 
void removeDeletedFunctionRows (void)
 remove functions row entries from DB using mpFunctionDefinitions More...
 
void setFileScopes (vector< long > *set)
 set file scope vector More...
 
vector< long > * getFileScopes (void)
 get file scope vector More...
 
void setDB (GlobalDatabaseConnection *set)
 set DB connection More...
 
GlobalDatabaseConnection * getDB (void)
 get DB connection More...
 
void setProjectId (long set)
 set project ID More...
 
long getProjectId (void)
 get project ID More...
 
void setFileId (long set)
 set file ID More...
 
long getFileId (void)
 get file ID More...
 
void setClasshierarchy (Classhierarchy *set)
 set pointer to the Classhierarchy graph object More...
 
ClasshierarchygetClasshierarchy (void)
 get pointer to the Classhierarchy graph object More...
 
void setSgProject (SgProject *set)
 set pointer to the SgProject graph object More...
 
SgProjectgetSgProject (void)
 get pointer to the SgProject graph object More...
 

Private Attributes

GlobalDatabaseConnection * mpGDB
 
long mProjectId
 ID of the current project. More...
 
long mFileId
 ID of the current file. More...
 
ClasshierarchymClasshierarchy
 graph to store the class hierarchy More...
 
vector< long > * mpFileScopes
 vector of all id's of the processed files (for cleanup) More...
 
SgProjectmpSgProject
 pointer to the project node More...
 

Additional Inherited Members

- Public Types inherited from AstTopDownProcessing< ClasshierarchyInhAttr >
typedef SgTreeTraversal
< ClasshierarchyInhAttr,
DummyAttribute >
::SynthesizedAttributesList 
SynthesizedAttributesList
 
- Protected Types inherited from SgTreeTraversal< ClasshierarchyInhAttr, DummyAttribute >
typedef
AstSuccessorsSelectors::SuccessorsContainer 
SuccessorsContainer
 
typedef SuccessorsContainerSuccessorsContainerRef
 
- Protected Member Functions inherited from AstTopDownProcessing< ClasshierarchyInhAttr >
virtual void atTraversalStart ()
 Function called at the start of the traversal, before any node is visited; override if necessary, the default implementation is a no-op. More...
 
virtual void atTraversalEnd ()
 
virtual void destroyInheritedValue (SgNode *, ClasshierarchyInhAttr)
 

Detailed Description

Definition at line 88 of file Classhierarchy.h.

Constructor & Destructor Documentation

ClasshierarchyTraversal::ClasshierarchyTraversal ( SgProject project)
inline

Definition at line 92 of file Classhierarchy.h.

References mClasshierarchy, mFileId, mProjectId, and mpSgProject.

Member Function Documentation

ClasshierarchyInhAttr ClasshierarchyTraversal::evaluateInheritedAttribute ( SgNode astNode,
ClasshierarchyInhAttr  inheritedValue 
)
virtual

pure virtual function which must be implemented to compute the inherited attribute at a node

Implements AstTopDownProcessing< ClasshierarchyInhAttr >.

void ClasshierarchyTraversal::removeDeletedFunctionRows ( void  )

remove functions row entries from DB using mpFunctionDefinitions

void ClasshierarchyTraversal::setFileScopes ( vector< long > *  set)
inline

set file scope vector

Definition at line 112 of file Classhierarchy.h.

References mpFileScopes.

vector<long>* ClasshierarchyTraversal::getFileScopes ( void  )
inline

get file scope vector

Definition at line 114 of file Classhierarchy.h.

References mpFileScopes.

void ClasshierarchyTraversal::setDB ( GlobalDatabaseConnection *  set)
inline

set DB connection

Definition at line 117 of file Classhierarchy.h.

References mpGDB.

GlobalDatabaseConnection* ClasshierarchyTraversal::getDB ( void  )
inline

get DB connection

Definition at line 119 of file Classhierarchy.h.

References mpGDB.

void ClasshierarchyTraversal::setProjectId ( long  set)
inline

set project ID

Definition at line 122 of file Classhierarchy.h.

References mProjectId.

long ClasshierarchyTraversal::getProjectId ( void  )
inline

get project ID

Definition at line 124 of file Classhierarchy.h.

References mProjectId.

void ClasshierarchyTraversal::setFileId ( long  set)
inline

set file ID

Definition at line 127 of file Classhierarchy.h.

References mFileId.

long ClasshierarchyTraversal::getFileId ( void  )
inline

get file ID

Definition at line 129 of file Classhierarchy.h.

References mFileId.

void ClasshierarchyTraversal::setClasshierarchy ( Classhierarchy set)
inline

set pointer to the Classhierarchy graph object

Definition at line 132 of file Classhierarchy.h.

References mClasshierarchy.

Classhierarchy* ClasshierarchyTraversal::getClasshierarchy ( void  )
inline

get pointer to the Classhierarchy graph object

Definition at line 134 of file Classhierarchy.h.

References mClasshierarchy.

void ClasshierarchyTraversal::setSgProject ( SgProject set)
inline

set pointer to the SgProject graph object

Definition at line 137 of file Classhierarchy.h.

References mpSgProject.

SgProject* ClasshierarchyTraversal::getSgProject ( void  )
inline

get pointer to the SgProject graph object

Definition at line 139 of file Classhierarchy.h.

References mpSgProject.

Member Data Documentation

GlobalDatabaseConnection* ClasshierarchyTraversal::mpGDB
private

Definition at line 145 of file Classhierarchy.h.

Referenced by getDB(), and setDB().

long ClasshierarchyTraversal::mProjectId
private

ID of the current project.

Definition at line 148 of file Classhierarchy.h.

Referenced by ClasshierarchyTraversal(), getProjectId(), and setProjectId().

long ClasshierarchyTraversal::mFileId
private

ID of the current file.

Definition at line 151 of file Classhierarchy.h.

Referenced by ClasshierarchyTraversal(), getFileId(), and setFileId().

Classhierarchy* ClasshierarchyTraversal::mClasshierarchy
private

graph to store the class hierarchy

Definition at line 154 of file Classhierarchy.h.

Referenced by ClasshierarchyTraversal(), getClasshierarchy(), and setClasshierarchy().

vector<long>* ClasshierarchyTraversal::mpFileScopes
private

vector of all id's of the processed files (for cleanup)

Definition at line 157 of file Classhierarchy.h.

Referenced by getFileScopes(), and setFileScopes().

SgProject* ClasshierarchyTraversal::mpSgProject
private

pointer to the project node

Definition at line 160 of file Classhierarchy.h.

Referenced by ClasshierarchyTraversal(), getSgProject(), and setSgProject().


The documentation for this class was generated from the following file: