8#include "TreeTraversal.h"
17 virtual void preOrderVisit(
SgNode* node);
18 virtual void setChildrenContainer(
SgNode* node, std::vector<SgNode*>& c);
23 virtual void setChildrenContainer(
SgNode* node, std::vector<SgNode*>& c);
40 std::list<SgNode*> activeNodes;
41 virtual void preOrderVisit(
SgNode* node);
46 virtual void postOrderVisit(
SgNode* node);
47 virtual void modifyChildrenContainer(
SgNode*, std::vector<SgNode*>&) {}
AstCycleTest is based on the successor information of SgNodes (the same information that is used by t...
std::list< SgNode * > determineCycle(std::list< SgNode * > &l, SgNode *node)
determines whether the given sequence l of nodes extended by node creates a cycle the found cycle is ...
virtual void setChildrenContainer(SgNode *node, std::vector< SgNode * > &c)
In case of a cycle the traversal does not continue to prevent an infinite recursion of the traversal.
This class represents the base class for all IR nodes within Sage III.