ROSE 0.11.145.63
Utils.h
1#ifndef ROSE_AST_Utils_H
2#define ROSE_AST_Utils_H
3
4#include <iostream>
5#include <map>
6#include <ostream>
7
8class SgNode;
9
10namespace Rose {
11namespace AST {
12
17namespace Utils {
18
19using replacement_map_t = std::map<SgNode *, SgNode *>;
20
22void edgePointerReplacement(replacement_map_t const &);
23
25void edgePointerReplacement(SgNode * root, replacement_map_t const &);
26
27
35bool checkParentPointers(SgNode *root, std::ostream &out = std::cerr);
36
53
54} } }
55
56#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.