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
45 <<
"' previously declared\n" 46 <<
"location of previous declaration: " 47 << it->second.location <<
eom;
51 if(it->second.type.id()!=ID_namespace)
54 error() <<
"namespace `" << final_name
55 <<
"' previously declared\n" 56 <<
"location of previous declaration: " 57 << it->second.location <<
eom;
68 symbol.
name=identifier;
79 error() <<
"cpp_typecheckt::convert_namespace: symbol_table.move() failed" 96 for(cpp_namespace_spect::itemst::iterator
97 it=namespace_spec.
items().begin();
98 it!=namespace_spec.
items().end();
The type of an expression.
irep_idt name
The unique identifier.
const std::string & id2string(const irep_idt &d)
irep_idt mode
Language mode.
exprt value
Initial value of symbol.
cpp_scopet & new_namespace(const irep_idt &new_scope_name)
irep_idt module
Name of module the symbol belongs to.
Symbol table entry.This is a symbol in the symbol table, stored in an object of type symbol_tablet...
static mstreamt & eom(mstreamt &m)
void convert(cpp_linkage_spect &)
symbol_tablet & symbol_table
source_locationt source_location
C++ Language Type Checking.
cpp_scopet & set_scope(const irep_idt &identifier)
typet type
Type of symbol.
source_locationt location
Source code location of definition of symbol.
const irep_idt & get_namespace() const
irep_idt base_name
Base (non-scoped) name.
cpp_scopet & current_scope()
const source_locationt & source_location() const
const itemst & items() const
cpp_scopet & resolve_namespace(const cpp_namet &cpp_name)
void add_using_scope(cpp_scopet &other)
virtual std::pair< symbolt &, bool > insert(symbolt symbol) override
Author: Diffblue Ltd.