12 #ifndef CPROVER_CPP_CPP_SCOPES_H
13 #define CPROVER_CPP_CPP_SCOPES_H
59 bool is_friend =
false);
67 typedef std::unordered_map<irep_idt, cpp_idt *>
id_mapt;
74 id_mapt::const_iterator it=
id_map.find(identifier);
76 throw "id '" +
id2string(identifier) +
"' not found";
cpp_save_scopet(cpp_scopest &_cpp_scopes)
void print_current(std::ostream &out) const
cpp_scopet & new_block_scope()
cpp_scopet * current_scope_ptr
cpp_scopet & new_namespace(const irep_idt &new_scope_name)
std::unordered_map< irep_idt, cpp_idt * > id_mapt
cpp_scopet & get_root_scope()
std::set< cpp_scopet * > scope_sett
cpp_scopet & current_scope()
cpp_idt & put_into_scope(const symbolt &symbol, bool is_friend=false)
cpp_scopet & set_scope(const irep_idt &identifier)
cpp_scopet & new_scope(const irep_idt &new_scope_name, cpp_idt::id_classt id_class)
cpp_idt & get_id(const irep_idt &identifier)
std::set< cpp_idt * > id_sett
cpp_scopet & get_scope(const irep_idt &identifier)
cpp_idt & put_into_scope(const symbolt &symbol, cpp_scopet &scope, bool is_friend=false)
cpp_root_scopet root_scope
void go_to_global_scope()
cpp_scopet & get_global_scope()
class cpp_scopet & new_scope(const irep_idt &new_scope_name)
cpp_scopet & get_global_scope()
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
C++ Language Type Checking.
const std::string & id2string(const irep_idt &d)
#define CHECK_RETURN(CONDITION)
#define PRECONDITION(CONDITION)