ROSE 0.11.145.147
AST/Utility.h
1#ifndef ROSE_AST_Utility_H
2#define ROSE_AST_Utility_H
3#include <RoseFirst.h>
4
5#include <iostream>
6#include <map>
7#include <ostream>
8
9class SgNode;
10
11namespace Rose {
12namespace AST {
13
15namespace Utility {
16
17using replacement_map_t = std::map<SgNode *, SgNode *>;
18
20void edgePointerReplacement(replacement_map_t const &);
21
23void edgePointerReplacement(SgNode * root, replacement_map_t const &);
24
25
33bool checkParentPointers(SgNode *root, std::ostream &out = std::cerr);
34
51
52} } }
53
54#endif
This class represents the base class for all IR nodes within Sage III.
bool checkParentPointers(SgNode *root, std::ostream &out=std::cerr)
Check that all parent pointers in the specified subtree are correct.
void edgePointerReplacement(replacement_map_t const &)
For all nodes in the memory pool, it looks for the edges in the replacement map. If a match is found ...
void repairParentPointers(SgNode *root)
Set parent pointers based on child pointers in a subtree.
The ROSE library.