ROSE 0.11.145.147
IO.h
1#ifndef ROSE_AST_IO_H
2#define ROSE_AST_IO_H
3#include <RoseFirst.h>
4
5#include <list>
6#include <string>
7#include <iostream>
8
9#include "sage3basic.hhh"
10
11class SgProject;
12
13namespace Rose { namespace AST {
14
16namespace IO {
17
28ROSE_DLL_API void load(SgProject * project, std::list<std::string> const & filepaths);
29
41ROSE_DLL_API void merge(SgProject * project);
42
51ROSE_DLL_API void share(SgProject * project);
52
61ROSE_DLL_API void prune(SgProject * project);
62
71ROSE_DLL_API void link(SgProject * project);
72
76ROSE_DLL_API void clear();
77
81ROSE_DLL_API void free();
82
83} } }
84
85#endif /* ROSE_AST_IO_H */
86
This class represents a source project, with a list of SgFile objects and global information about th...
ROSE_DLL_API void free()
Delete all memory allocated by ROSE.
ROSE_DLL_API void share(SgProject *project)
Eliminates duplicated nodes from the AST.
ROSE_DLL_API void link(SgProject *project)
Links declarations from multiple translation units.
ROSE_DLL_API void load(SgProject *project, std::list< std::string > const &filepaths)
Load ASTs that have been saved to files.
ROSE_DLL_API void prune(SgProject *project)
Removes nodes that are not reachable from the project node.
ROSE_DLL_API void clear()
Empties the memory pool of all nodes.
ROSE_DLL_API void merge(SgProject *project)
Performs sharing of AST nodes followed by linking accross translation units.
The ROSE library.