CBMC
Loading...
Searching...
No Matches
Classes | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
linkingt Class Reference

#include <linking_class.h>

+ Collaboration diagram for linkingt:

Classes

struct   adjust_type_infot
 

Public Member Functions

 
  Merges the symbol table src_symbol_table into main_symbol_table, renaming symbols from src_symbol_table when necessary.
 

Public Attributes

 
 
 

Protected Types

 

Protected Member Functions

renamingt  needs_renaming_type (const symbolt &old_symbol, const symbolt &new_symbol)
 
 
renamingt  needs_renaming (const symbolt &old_symbol, const symbolt &new_symbol)
 
std::unordered_map< irep_idt, irep_idtrename_symbols (const symbol_table_baset &, const std::unordered_set< irep_idt > &needs_to_be_renamed)
 
 
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)
 
 
void  duplicate_type_symbol (symbolt &old_symbol, const symbolt &new_symbol)
 
 

Protected Attributes

 
 
 
std::unordered_set< irep_idtrenamed_ids
 

Detailed Description

Definition at line 26 of file linking_class.h.

Member Enumeration Documentation

◆  renamingt

Enumerator
NO_RENAMING 
RENAME_OLD 
RENAME_NEW 

Definition at line 47 of file linking_class.h.

Constructor & Destructor Documentation

◆  linkingt()

linkingt::linkingt ( symbol_table_baset_main_symbol_table,
message_handlert_message_handler 
)
inline

Definition at line 29 of file linking_class.h.

Member Function Documentation

◆  adjust_object_type()

bool linkingt::adjust_object_type ( const symboltold_symbol,
const symboltnew_symbol,
boolset_to_new 
)
protected

Definition at line 594 of file linking.cpp.

◆  adjust_object_type_rec()

bool linkingt::adjust_object_type_rec ( const typettype1,
const typettype2,
adjust_type_infotinfo 
)
protected

Definition at line 401 of file linking.cpp.

◆  copy_symbols()

void linkingt::copy_symbols ( const symbol_table_basetsrc_symbol_table,
const std::unordered_map< irep_idt, irep_idt > &  new_identifiers 
)
protected

Definition at line 989 of file linking.cpp.

◆  duplicate_code_symbol()

void linkingt::duplicate_code_symbol ( symboltold_symbol,
symboltnew_symbol 
)
protected

Definition at line 82 of file linking.cpp.

◆  duplicate_non_type_symbol()

void linkingt::duplicate_non_type_symbol ( symboltold_symbol,
symboltnew_symbol 
)
protected

Definition at line 703 of file linking.cpp.

◆  duplicate_object_symbol()

void linkingt::duplicate_object_symbol ( symboltold_symbol,
symboltnew_symbol 
)
protected

Definition at line 609 of file linking.cpp.

◆  duplicate_type_symbol()

void linkingt::duplicate_type_symbol ( symboltold_symbol,
const symboltnew_symbol 
)
protected

Definition at line 746 of file linking.cpp.

◆  link()

bool linkingt::link ( const symbol_table_basetsrc_symbol_table )

Merges the symbol table src_symbol_table into main_symbol_table, renaming symbols from src_symbol_table when necessary.

Returns
True, iff linking failed with unresolvable conflicts.

Definition at line 1055 of file linking.cpp.

◆  needs_renaming()

renamingt linkingt::needs_renaming ( const symboltold_symbol,
const symboltnew_symbol 
)
inlineprotected

Definition at line 60 of file linking_class.h.

◆  needs_renaming_non_type()

linkingt::renamingt linkingt::needs_renaming_non_type ( const symboltold_symbol,
const symboltnew_symbol 
)
protected

Definition at line 67 of file linking.cpp.

◆  needs_renaming_type()

linkingt::renamingt linkingt::needs_renaming_type ( const symboltold_symbol,
const symboltnew_symbol 
)
protected

Definition at line 836 of file linking.cpp.

◆  rename()

irep_idt linkingt::rename ( const symbol_table_basetsrc_symbol_table,
const irep_idtid 
)
protected

Definition at line 43 of file linking.cpp.

◆  rename_symbols()

std::unordered_map< irep_idt, irep_idt > linkingt::rename_symbols ( const symbol_table_basetsrc_symbol_table,
const std::unordered_set< irep_idt > &  needs_to_be_renamed 
)
protected

Definition at line 954 of file linking.cpp.

Member Data Documentation

◆  main_symbol_table

symbol_table_baset& linkingt::main_symbol_table
protected

Definition at line 119 of file linking_class.h.

◆  message_handler

message_handlert& linkingt::message_handler
protected

Definition at line 121 of file linking_class.h.

◆  ns

namespacet linkingt::ns
protected

Definition at line 120 of file linking_class.h.

◆  object_type_updates

casting_replace_symbolt linkingt::object_type_updates

Definition at line 44 of file linking_class.h.

◆  rename_main_symbol

rename_symbolt linkingt::rename_main_symbol

Definition at line 43 of file linking_class.h.

◆  rename_new_symbol

rename_symbolt linkingt::rename_new_symbol

Definition at line 43 of file linking_class.h.

◆  renamed_ids

std::unordered_set<irep_idt> linkingt::renamed_ids
protected

Definition at line 126 of file linking_class.h.


The documentation for this class was generated from the following files:

AltStyle によって変換されたページ (->オリジナル) /