12#ifndef CPROVER_CPP_CPP_SCOPE_H
13#define CPROVER_CPP_CPP_SCOPE_H
54 cpp_id_mapt::iterator it=
55 sub.insert(std::pair<irep_idt, cpp_idt>
59 it->second.set_parent(*
this);
66 cpp_id_mapt::iterator it=
67 sub.insert(std::pair<irep_idt, cpp_idt>
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
cpp_idt & get_parent() const
void set_parent(cpp_idt &_parent)
scope_listt secondary_scopes
class cpp_scopet & new_scope(const irep_idt &new_scope_name)
cpp_scopet & get_parent() const
cpp_idt & insert(const irep_idt &_base_name)
id_sett lookup(const irep_idt &base_name_to_lookup, lookup_kindt kind, cpp_idt::id_classt identifier_class)
cpp_idt & insert(const cpp_idt &cpp_id)
cpp_scopet & get_global_scope()
bool is_global_scope() const
void add_using_scope(cpp_scopet &other)
id_sett lookup_identifier(const irep_idt &id, cpp_idt::id_classt identifier_class)
std::set< cpp_idt * > id_sett
void lookup_rec(const irep_idt &base_name, lookup_kindt kind, id_sett &)
id_sett lookup(const irep_idt &base_name_to_lookup, lookup_kindt kind)
bool is_root_scope() const
bool contains(const irep_idt &base_name_to_lookup)
void add_secondary_scope(cpp_scopet &other)
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
C++ Language Type Checking.
std::ostream & operator<<(std::ostream &out, cpp_scopet::lookup_kindt)
#define PRECONDITION(CONDITION)