1 #ifndef ROSE_CodeGen_API_H
2 #define ROSE_CodeGen_API_H
4 #include <Rose/CodeGen/Driver.h>
5 #include <Rose/CodeGen/Object.h>
11 namespace Rose {
namespace CodeGen {
16 template <
typename CRT>
25 void load(
Driver & driver);
26 void display(std::ostream & out)
const;
30 std::set<size_t>
const & fids()
const {
return file_ids; };
33 static std::string
const name;
36 static std::string
const cache;
37 static std::vector<std::string>
const paths;
38 static std::vector<std::string>
const files;
39 static std::vector<std::string>
const flags;
42 static std::map<std::string, a_namespace CRT::* >
const namespaces;
43 static std::map<std::string, a_class CRT::* >
const classes;
44 static std::map<std::string, a_typedef CRT::* >
const typedefs;
45 static std::map<std::string, a_variable CRT::* >
const variables;
46 static std::map<std::string, a_function CRT::* >
const functions;
49 std::set<size_t> file_ids;
51 void set_command_line(
Driver & driver)
const;
52 void load_headers(
Driver & driver);
53 void load_api(
Driver & driver);
55 template <
typename API>
56 friend struct SymbolScanner;
61 #include "Rose/CodeGen/API.txx"
typename object_helper< otag >::symbol_t symbol_t
The SgSymbol specialization for an Object kind /tparam otag an Object kind.
permits to gather types and symbols to extract an API from a set of headers.
Main namespace for the ROSE library.
facilitates the manipulation of source-files (esp.