ROSE
0.11.96.11
|
Supporting class from copy mechanism within ROSE.
This class forms a base class for the SgShallowCopy and SgTreeCopy classes to support the control of copying of subtrees (what IR nodes are copied by a deep or shallow copy).
To tailor a specific type of copy operation derive a class from this abstract class and define the clone_node function as required. context information if required muyst be obtained through local analysis inside the function using the parent or scope information at each IR node.
Definition at line 6496 of file Cxx_Grammar.h.
#include <Cxx_Grammar.h>
Public Types | |
typedef std::map< const SgNode *, SgNode * > | copiedNodeMapType |
typedef copiedNodeMapType::iterator | copiedNodeMapTypeIterator |
Public Member Functions | |
virtual SgNode * | copyAst (const SgNode *n)=0 |
int | get_depth () |
void | incrementDepth () |
void | decrementDepth () |
copiedNodeMapType & | get_copiedNodeMap () |
void | clearState () |
void | insertCopiedNodePair (const SgNode *key, SgNode *value) |