CBMC
|
#include <linking_class.h>
Classes | |
struct | adjust_type_infot |
Public Member Functions | |
linkingt (symbol_table_baset &_main_symbol_table, const symbol_table_baset &_src_symbol_table, message_handlert &_message_handler) | |
virtual void | typecheck () |
![]() | |
typecheckt (message_handlert &_message_handler) | |
virtual | ~typecheckt () |
virtual bool | typecheck_main () |
Public Attributes | |
rename_symbolt | rename_symbol |
casting_replace_symbolt | object_type_updates |
Protected Types | |
typedef std::unordered_map< irep_idt, std::unordered_set< irep_idt > > | used_byt |
Protected Member Functions | |
bool | needs_renaming_type (const symbolt &old_symbol, const symbolt &new_symbol) |
bool | needs_renaming_non_type (const symbolt &old_symbol, const symbolt &new_symbol) |
bool | needs_renaming (const symbolt &old_symbol, const symbolt &new_symbol) |
void | do_type_dependencies (std::unordered_set< irep_idt > &) |
std::unordered_map< irep_idt, irep_idt > | rename_symbols (const std::unordered_set< irep_idt > &needs_to_be_renamed) |
void | copy_symbols (const std::unordered_map< irep_idt, irep_idt > &) |
void | duplicate_non_type_symbol (symbolt &old_symbol, symbolt &new_symbol) |
void | duplicate_code_symbol (symbolt &old_symbol, symbolt &new_symbol) |
void | duplicate_object_symbol (symbolt &old_symbol, symbolt &new_symbol) |
bool | adjust_object_type (const symbolt &old_symbol, const symbolt &new_symbol, bool &set_to_new) |
bool | adjust_object_type_rec (const typet &type1, const typet &type2, adjust_type_infot &info) |
void | duplicate_type_symbol (symbolt &old_symbol, const symbolt &new_symbol) |
std::string | expr_to_string (const irep_idt &identifier, const exprt &expr) const |
std::string | type_to_string (const irep_idt &identifier, const typet &type) const |
std::string | type_to_string_verbose (const symbolt &symbol, const typet &type) const |
std::string | type_to_string_verbose (const symbolt &symbol) const |
void | detailed_conflict_report_rec (const symbolt &old_symbol, const symbolt &new_symbol, const typet &type1, const typet &type2, unsigned depth, exprt &conflict_path) |
void | detailed_conflict_report (const symbolt &old_symbol, const symbolt &new_symbol, const typet &type1, const typet &type2) |
void | link_error (const symbolt &old_symbol, const symbolt &new_symbol, const std::string &msg) |
void | link_warning (const symbolt &old_symbol, const symbolt &new_symbol, const std::string &msg) |
void | show_struct_diff (const struct_typet &old_type, const struct_typet &new_type) |
irep_idt | rename (const irep_idt &) |
Protected Attributes | |
symbol_table_baset & | main_symbol_table |
const symbol_table_baset & | src_symbol_table |
namespacet | ns |
std::unordered_set< irep_idt > | renamed_ids |
Additional Inherited Members |
Definition at line 28 of file linking_class.h.
|
protected |
Definition at line 178 of file linking_class.h.
|
inline |
Definition at line 31 of file linking_class.h.
|
protected |
Definition at line 999 of file linking.cpp.
|
protected |
Definition at line 807 of file linking.cpp.
|
protected |
Definition at line 1373 of file linking.cpp.
|
inlineprotected |
Definition at line 142 of file linking_class.h.
|
protected |
Definition at line 129 of file linking.cpp.
|
protected |
Definition at line 1295 of file linking.cpp.
Definition at line 470 of file linking.cpp.
Definition at line 1104 of file linking.cpp.
Definition at line 1014 of file linking.cpp.
Definition at line 1143 of file linking.cpp.
|
protected |
Definition at line 49 of file linking.cpp.
|
protected |
Definition at line 397 of file linking.cpp.
|
protected |
Definition at line 414 of file linking.cpp.
|
inlineprotected |
Definition at line 56 of file linking_class.h.
|
protected |
Definition at line 456 of file linking.cpp.
|
protected |
Definition at line 1238 of file linking.cpp.
Definition at line 432 of file linking.cpp.
|
protected |
Definition at line 1340 of file linking.cpp.
|
protected |
|
protected |
Definition at line 56 of file linking.cpp.
|
inlineprotected |
Definition at line 128 of file linking_class.h.
|
protected |
Definition at line 77 of file linking.cpp.
|
virtual |
Implements typecheckt.
Definition at line 1439 of file linking.cpp.
|
protected |
Definition at line 172 of file linking_class.h.
|
protected |
Definition at line 175 of file linking_class.h.
casting_replace_symbolt linkingt::object_type_updates |
Definition at line 45 of file linking_class.h.
rename_symbolt linkingt::rename_symbol |
Definition at line 44 of file linking_class.h.
|
protected |
Definition at line 183 of file linking_class.h.
|
protected |
Definition at line 173 of file linking_class.h.