34 cpp_id_mapt::iterator lower_it =
sub.lower_bound(base_name_to_lookup);
36 if(lower_it!=
sub.end())
38 cpp_id_mapt::iterator upper_it =
sub.upper_bound(base_name_to_lookup);
40 for(cpp_id_mapt::iterator n_it=lower_it;
41 n_it!=upper_it; n_it++)
42 id_set.insert(&n_it->second);
95 std::cout <<
"B: " << base_name_to_lookup <<
'\n';
96 std::cout <<
"K: " << kind <<
'\n';
97 std::cout <<
"I: " << identifier_class <<
'\n';
98 std::cout <<
"THIS: " <<
base_name <<
" " << identifier_class
102 cpp_id_mapt::iterator lower_it =
sub.lower_bound(base_name_to_lookup);
104 if(lower_it!=
sub.end())
106 cpp_id_mapt::iterator upper_it =
sub.upper_bound(base_name_to_lookup);
108 for(cpp_id_mapt::iterator n_it=lower_it;
109 n_it!=upper_it; n_it++)
111 if(n_it->second.id_class == identifier_class)
112 id_set.insert(&n_it->second);
130 base_name_to_lookup,
QUALIFIED, identifier_class, id_set);
144 base_name_to_lookup,
QUALIFIED, identifier_class, id_set);
156 base_name_to_lookup, kind, identifier_class, id_set);
165 for(cpp_id_mapt::iterator n_it=
sub.begin();
166 n_it!=
sub.end(); n_it++)
169 n_it->second.identifier ==
id &&
170 n_it->second.id_class == identifier_class)
172 id_set.insert(&n_it->second);
180 for(std::size_t i=0; i<parents_size(); i++)
const std::string & id2string(const irep_idt &d)
id_sett lookup_identifier(const irep_idt &id, cpp_idt::id_classt identifier_class)
class cpp_scopet & new_scope(const irep_idt &new_scope_name)
id_sett lookup(const irep_idt &base_name_to_lookup, lookup_kindt kind)
cpp_scopet & get_parent() const
std::ostream & operator<<(std::ostream &out, cpp_scopet::lookup_kindt kind)
void lookup_rec(const irep_idt &base_name, lookup_kindt kind, id_sett &)
bool contains(const irep_idt &base_name_to_lookup)
irep_idt class_identifier
C++ Language Type Checking.
dstringt has one field, an unsigned integer no which is an index into a static table of strings...
C++ Language Type Checking.
#define UNREACHABLE
This should be used to mark dead code.
scope_listt secondary_scopes
bool is_root_scope() const
cpp_idt & insert(const irep_idt &_base_name)
std::set< cpp_idt * > id_sett