cprover
|
#include <system_library_symbols.h>
Public Member Functions | |
system_library_symbolst (bool init) | |
system_library_symbolst () | |
bool | is_symbol_internal_symbol (const symbolt &symbol, std::set< std::string > &out_system_headers) const |
To find out if a symbol is an internal symbol. More... | |
bool | is_type_internal (const typet &type, std::set< std::string > &out_system_headers) const |
Helper function to call is_symbol_internal_symbol on a nameless fake symbol with the given type, to determine whether the type alone is sufficient to classify a symbol of that type as internal. More... | |
void | set_use_all_headers (bool use) |
Private Member Functions | |
void | init_system_library_map () |
To generate a map of header file names -> list of symbols The symbol names are reserved as the header and source files will be compiled in to the goto program. More... | |
void | add_to_system_library (irep_idt header_file, std::list< irep_idt > symbols) |
To add the symbols from a specific header file to the system library map. More... | |
Private Attributes | |
std::map< irep_idt, irep_idt > | system_library_map |
bool | use_all_headers |
Definition at line 25 of file system_library_symbols.h.
|
explicit |
Definition at line 20 of file system_library_symbols.cpp.
References init_system_library_map().
|
inline |
Definition at line 30 of file system_library_symbols.h.
|
private |
To add the symbols from a specific header file to the system library map.
The symbol is used as the key so that we can easily look up symbols.
header_file | the name of the header file the symbol came from |
symbols | a list of the names of the symbols in the header file |
Definition at line 246 of file system_library_symbols.cpp.
References system_library_map.
Referenced by init_system_library_map().
|
private |
To generate a map of header file names -> list of symbols The symbol names are reserved as the header and source files will be compiled in to the goto program.
Definition at line 30 of file system_library_symbols.cpp.
References add_to_system_library().
Referenced by system_library_symbolst().
bool system_library_symbolst::is_symbol_internal_symbol | ( | const symbolt & | symbol, |
std::set< std::string > & | out_system_headers | ||
) | const |
To find out if a symbol is an internal symbol.
symbol | the symbol to check |
Definition at line 275 of file system_library_symbols.cpp.
References CPROVER_PREFIX, source_locationt::get_file(), has_prefix(), has_suffix(), id2string(), symbolt::location, symbolt::name, size_type(), system_library_map, and use_all_headers.
Referenced by dump_ct::convert_compound(), dump_ct::gather_global_typedefs(), languaget::is_symbol_opaque_function(), is_type_internal(), and dump_ct::operator()().
bool system_library_symbolst::is_type_internal | ( | const typet & | type, |
std::set< std::string > & | out_system_headers | ||
) | const |
Helper function to call is_symbol_internal_symbol
on a nameless fake symbol with the given type, to determine whether the type alone is sufficient to classify a symbol of that type as internal.
type | the type to check |
Definition at line 262 of file system_library_symbols.cpp.
References is_symbol_internal_symbol(), and symbolt::type.
Referenced by dump_ct::collect_typedefs_rec().
|
inline |
Definition at line 43 of file system_library_symbols.h.
References use_all_headers.
Referenced by dump_ct::dump_ct().
Definition at line 55 of file system_library_symbols.h.
Referenced by add_to_system_library(), and is_symbol_internal_symbol().
|
private |
Definition at line 56 of file system_library_symbols.h.
Referenced by is_symbol_internal_symbol(), and set_use_all_headers().