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
54 <<
"location of previous declaration: " << it->second.location
66 symbol.
name=identifier;
77 error() <<
"cpp_typecheckt::convert_namespace: symbol_table.move() failed"
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
symbol_tablet & symbol_table
cpp_scopet & new_namespace(const irep_idt &new_scope_name)
cpp_scopet & set_scope(const irep_idt &identifier)
cpp_scopet & current_scope()
void add_using_scope(cpp_scopet &other)
void convert(cpp_linkage_spect &)
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
source_locationt source_location
const symbolst & symbols
Read-only field, used to look up symbols given their names.
virtual std::pair< symbolt &, bool > insert(symbolt symbol) override
Author: Diffblue Ltd.
source_locationt location
Source code location of definition of symbol.
typet type
Type of symbol.
irep_idt name
The unique identifier.
irep_idt irep_idt base_name
Name of module the symbol belongs to.
exprt value
Initial value of symbol.
irep_idt mode
Language mode.
The type of an expression, extends irept.
C++ Language Type Checking.
const std::string & id2string(const irep_idt &d)