Go to the documentation of this file.
27 error() <<
"unique namespace not supported yet" <<
eom;
33 std::string identifier=
36 symbol_tablet::symbolst::const_iterator it=
44 error() <<
"namespace alias '" << final_name <<
"' previously declared\n"
45 <<
"location of previous declaration: " << it->second.location
50 if(it->second.type.id()!=ID_namespace)
53 error() <<
"namespace '" << final_name <<
"' previously declared\n"
54 <<
"location of previous declaration: " << it->second.location
66 symbol.
name=identifier;
77 error() <<
"cpp_typecheckt::convert_namespace: symbol_table.move() failed"
94 for(
auto &item : namespace_spec.
items())
void convert(cpp_linkage_spect &)
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
const itemst & items() const
void add_using_scope(cpp_scopet &other)
The type of an expression, extends irept.
cpp_scopet & new_namespace(const irep_idt &new_scope_name)
typet type
Type of symbol.
irep_idt base_name
Base (non-scoped) name.
irep_idt mode
Language mode.
const std::string & id2string(const irep_idt &d)
cpp_scopet & current_scope()
source_locationt source_location
cpp_scopet & resolve_namespace(const cpp_namet &cpp_name)
const irep_idt & get_namespace() const
virtual std::pair< symbolt &, bool > insert(symbolt symbol) override
Author: Diffblue Ltd.
symbol_tablet & symbol_table
exprt value
Initial value of symbol.
source_locationt location
Source code location of definition of symbol.
const symbolst & symbols
Read-only field, used to look up symbols given their names.
irep_idt module
Name of module the symbol belongs to.
const source_locationt & source_location() const
irep_idt name
The unique identifier.
cpp_scopet & set_scope(const irep_idt &identifier)