Skip to content

AstCycleTest

AstCycleTest is based on the successor information of SgNodes (the same information that is used by the traversals). It tests such that it allows a preorder traversal to revisit nodes but reports an error if the traversal would run into a cycle. If a cycle is found it reports the list of SgNodes that are part of the cycle to stdout, starting with "CYCLE FOUND: ..." and stops testing. Usage: AstCycleTest t; t.traverse(SgNode* n); // where n is the root node of the subtree to be tested.

Synopsis

Declared in <src/midend/astProcessing/AstTraversal.h>

Base Classes

Name

Description

AstPrePostOrderTraversal

Member Functions

Name

Description

determineCycle

determines whether the given sequence l of nodes extended by node creates a cycle the found cycle is returned. If no cycle is found, the returned list is empty.

modifyChildrenContainer [virtual]

postOrderVisit [virtual]

preOrderVisit [virtual]

setChildrenContainer [virtual]

In case of a cycle the traversal does not continue to prevent an infinite recursion of the traversal.

Data Members

Created with MrDocs