ROSE  0.11.83.1
IO.h
1 #ifndef ROSE_AST_IO_H
2 #define ROSE_AST_IO_H
3 
4 #include <list>
5 #include <string>
6 #include <iostream>
7 
8 #include "sage3basic.hhh"
9 
10 class SgProject;
11 
12 namespace Rose { namespace AST {
13 
15 namespace IO {
16 
27 ROSE_DLL_API void load(SgProject * project, std::list<std::string> const & filepaths);
28 
40 ROSE_DLL_API void merge(SgProject * project);
41 
50 ROSE_DLL_API void share(SgProject * project);
51 
60 ROSE_DLL_API void prune(SgProject * project);
61 
70 ROSE_DLL_API void link(SgProject * project);
71 
75 ROSE_DLL_API void clear();
76 
80 ROSE_DLL_API void free();
81 
82 } } }
83 
84 #endif /* ROSE_AST_IO_H */
85 
ROSE_DLL_API void clear()
Empties the memory pool of all nodes.
ROSE_DLL_API void link(SgProject *project)
Links declarations from multiple translation units.
Main namespace for the ROSE library.
ROSE_DLL_API void merge(SgProject *project)
Performs sharing of AST nodes followed by linking accross translation units.
ROSE_DLL_API void prune(SgProject *project)
Removes nodes that are not reachable from the project node.
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 free()
Delete all memory allocated by ROSE.
This class represents a source project, with a list of SgFile objects and global information about th...
ROSE_DLL_API void share(SgProject *project)
Eliminates duplicated nodes from the AST.