20 const std::string &suffix,
21 std::vector<irep_idt> &dest)
23 if(src.
id()==ID_symbol)
27 else if(src.
id()==ID_pointer)
40 else if(src.
id()==ID_union)
43 dest.push_back(
"union_"+src.
get_string(ID_tag));
45 else if(src.
id()==ID_struct)
48 dest.push_back(
"struct_"+src.
get_string(ID_tag));
55 const typet &type=
static_cast<const typet &
>(it->find(ID_type));
77 std::vector<irep_idt> ids;
78 irept result(ID_exception_list);
81 result.
get_sub().resize(ids.size());
83 for(std::size_t i=0; i<ids.size(); i++)
94 std::vector<irep_idt> ids;
The type of an expression.
const std::string & id2string(const irep_idt &d)
std::vector< irept > subt
irept cpp_exception_list(const typet &src, const namespacet &ns)
turns a type into a list of relevant exception IDs
#define CHECK_RETURN(CONDITION)
bool get_bool(const irep_namet &name) const
const irep_idt & id() const
C++ Language Type Checking.
void cpp_exception_list_rec(const typet &src, const namespacet &ns, const std::string &suffix, std::vector< irep_idt > &dest)
turns a type into a list of relevant exception IDs
const irep_idt & get(const irep_namet &name) const
Base class for tree-like data structures with sharing.
const typet & follow(const typet &) const
dstringt has one field, an unsigned integer no which is an index into a static table of strings...
irep_idt cpp_exception_id(const typet &src, const namespacet &ns)
turns a type into an exception ID
const std::string & get_string(const irep_namet &name) const
const typet & subtype() const
const irept & find(const irep_namet &name) const
#define forall_irep(it, irep)