18 const std::string &suffix,
19 std::vector<irep_idt> &dest)
21 if(src.
id()==ID_symbol)
25 else if(src.
id()==ID_pointer)
38 else if(src.
id()==ID_union)
41 dest.push_back(
"union_"+src.
get_string(ID_tag));
43 else if(src.
id()==ID_struct)
46 dest.push_back(
"struct_"+src.
get_string(ID_tag));
53 const typet &type=
static_cast<const typet &
>(it->find(ID_type));
75 std::vector<irep_idt> ids;
76 irept result(ID_exception_list);
79 result.
get_sub().resize(ids.size());
81 for(
unsigned i=0; i<ids.size(); i++)
92 std::vector<irep_idt> ids;
The type of an expression.
const typet & follow(const typet &src) const
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
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.
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)