ROSE 0.11.145.192
|
Class for traversing the AST.
This class allows to traverse the AST in preorder or postorder. A visit function must be implemented by the user which is automaticly called by the provided AST traversal.
Definition at line 59 of file AstSimpleProcessing.h.
#include <AstProcessing.h>
Public Types | |
typedef t_traverseOrder | Order |
Public Types inherited from SgTreeTraversal< DummyAttribute, DummyAttribute > | |
typedef StackFrameVector< DummyAttribute > | SynthesizedAttributesList |
Public Member Functions | |
void | traverse (SgNode *node, Order treeTraversalOrder) |
traverse the entire AST. Order defines preorder (preorder) or postorder (postorder) traversal. Default is 'preorder'. | |
void | traverseWithinFile (SgNode *node, Order treeTraversalOrder) |
traverse only nodes which represent the same file as where the traversal was started | |
void | traverseInputFiles (SgProject *projectNode, Order treeTraversalOrder) |
traverse only nodes which represent files which were specified on the command line (=input files). | |
Public Member Functions inherited from SgTreeTraversal< DummyAttribute, DummyAttribute > | |
DummyAttribute | traverse (SgNode *basenode, DummyAttribute inheritedValue, t_traverseOrder travOrder=preandpostorder) |
DummyAttribute | traverseWithinFile (SgNode *basenode, DummyAttribute inheritedValue, t_traverseOrder travOrder=preandpostorder) |
void | traverseInputFiles (SgProject *projectNode, DummyAttribute inheritedValue, t_traverseOrder travOrder=preandpostorder) |
SgTreeTraversal (const SgTreeTraversal &) | |
const SgTreeTraversal & | operator= (const SgTreeTraversal &) |
Protected Member Functions | |
virtual void | visit (SgNode *astNode)=0 |
this method is called at every traversed node. | |
virtual void | atTraversalStart () |
GB (06/04/2007): A new virtual function called at the start of the traversal, before any node is actually visited; can be used to perform a "last-minute" computation of attributes that may have changed since the constructor was executed, but are constant during the traversal itself. | |
virtual void | atTraversalEnd () |
Protected Member Functions inherited from SgTreeTraversal< DummyAttribute, DummyAttribute > | |
virtual void | setNodeSuccessors (SgNode *node, SuccessorsContainer &succContainer) |
void | set_useDefaultIndexBasedTraversal (bool) |
Additional Inherited Members | |
Protected Types inherited from SgTreeTraversal< DummyAttribute, DummyAttribute > | |
typedef AstSuccessorsSelectors::SuccessorsContainer | SuccessorsContainer |
typedef SuccessorsContainer & | SuccessorsContainerRef |
typedef t_traverseOrder AstSimpleProcessing::Order |
Definition at line 63 of file AstSimpleProcessing.h.
AstSimpleProcessing::traverse | ( | SgNode * | node, |
Order | treeTraversalOrder | ||
) |
traverse the entire AST. Order defines preorder (preorder) or postorder (postorder) traversal. Default is 'preorder'.
Function to start the traversal on the subtree defined by node.
This is the call to start the traversal on the subtree defined by node.
node | represents the root of the subtree in the AST |
treeTraversalOrder | represents the traversal order (preorder or postorder). |
Referenced by SageInterface::collectSourceSequenceNumbers(), SageInterface::deepDelete(), SageInterface::getDependentDeclarations(), and SageInterface::outputLocalSymbolTables().
AstSimpleProcessing::traverseInputFiles | ( | SgProject * | projectNode, |
Order | treeTraversalOrder | ||
) |
traverse only nodes which represent files which were specified on the command line (=input files).
Function to start the traversal on the subtree defined by root (skip and nodes from other files).
This is the call to start the traversal on the subtree defined by root. This function will cause AST nodes that have a source position in any other files to be skipped (skips all header files for example).
projectNode | represents the root of the subtree in the AST |
treeTraversalOrder | represents the traversal order (preorder or postorder). |
|
protectedpure virtual |
this method is called at every traversed node.
Implemented in OmpSupport::translationDriver, CollectCppDirectivesTraversal, CollectDependentDeclarationsTraversal, CollectSourceSequenceNumbers, AstCombinedSimpleProcessing, AstSharedMemoryParallelizableSimpleProcessing, NewCallGraph::CallGraph, OmpSupport::SgVarRefExpVisitor, SageInterface::OutputLocalSymbolTables, AstNodeVisitMapping, and AstTextAttributesHandling.
Referenced by SageBuilder::fixupSourcePositionFileSpecification().
|
protectedvirtual |
GB (06/04/2007): A new virtual function called at the start of the traversal, before any node is actually visited; can be used to perform a "last-minute" computation of attributes that may have changed since the constructor was executed, but are constant during the traversal itself.
A no-op by default.
Reimplemented from SgTreeTraversal< DummyAttribute, DummyAttribute >.
Reimplemented in AstCombinedSimpleProcessing.
|
protectedvirtual |
Reimplemented from SgTreeTraversal< DummyAttribute, DummyAttribute >.