44 if(dest.
id()==ID_symbol)
46 expr_mapt::const_iterator it=
60 const irept &c_sizeof_type=dest.
find(ID_C_c_sizeof_type);
63 !
rename(static_cast<typet&>(dest.
add(ID_C_c_sizeof_type))))
66 const irept &va_arg_type=dest.
find(ID_C_va_arg_type);
69 !
rename(static_cast<typet&>(dest.
add(ID_C_va_arg_type))))
87 if(dest.
id()==ID_symbol)
94 const irept &c_sizeof_type=dest.
find(ID_C_c_sizeof_type);
100 const irept &va_arg_type=dest.
find(ID_C_va_arg_type);
124 if(dest.
id()==ID_struct ||
131 for(struct_union_typet::componentst::iterator
132 it=components.begin();
133 it!=components.end();
138 else if(dest.
id()==ID_code)
144 for(code_typet::parameterst::iterator it = parameters.begin();
145 it!=parameters.end();
151 expr_mapt::const_iterator e_it=
152 expr_map.find(it->get_identifier());
156 it->set_identifier(e_it->second);
161 else if(dest.
id()==ID_symbol)
163 type_mapt::const_iterator it=
172 else if(dest.
id()==ID_c_enum_tag ||
173 dest.
id()==ID_struct_tag ||
174 dest.
id()==ID_union_tag)
176 type_mapt::const_iterator it=
185 else if(dest.
id()==ID_array)
208 if(dest.
id()==ID_struct ||
217 for(struct_union_typet::componentst::const_iterator
218 it=components.begin();
219 it!=components.end();
224 else if(dest.
id()==ID_code)
232 for(code_typet::parameterst::const_iterator
233 it=parameters.begin();
234 it!=parameters.end();
244 else if(dest.
id()==ID_symbol)
246 else if(dest.
id()==ID_c_enum_tag ||
247 dest.
id()==ID_struct_tag ||
248 dest.
id()==ID_union_tag)
250 else if(dest.
id()==ID_array)
The type of an expression.
#define forall_subtypes(it, type)
const tag_typet & to_tag_type(const typet &type)
Cast a generic typet to a tag_typet.
const irep_idt & get_identifier() const
std::vector< componentt > componentst
std::vector< parametert > parameterst
const componentst & components() const
void set_identifier(const irep_idt &identifier)
void set_identifier(const irep_idt &identifier)
const struct_union_typet & to_struct_union_type(const typet &type)
Cast a generic typet to a struct_union_typet.
bool have_to_rename(const exprt &dest) const
const irep_idt & id() const
const array_typet & to_array_type(const typet &type)
Cast a generic typet to an array_typet.
const symbol_typet & to_symbol_type(const typet &type)
Cast a generic typet to a symbol_typet.
API to expression classes.
const irep_idt & get(const irep_namet &name) const
bool rename(exprt &dest) const
const exprt & size() const
Base class for tree-like data structures with sharing.
#define forall_operands(it, expr)
Base type of C structs and unions, and C++ classes.
void insert_expr(const irep_idt &old_id, const irep_idt &new_id)
Base class for all expressions.
const parameterst & parameters() const
const symbol_exprt & to_symbol_expr(const exprt &expr)
Cast a generic exprt to a symbol_exprt.
irept & add(const irep_namet &name)
const code_typet & to_code_type(const typet &type)
Cast a generic typet to a code_typet.
#define Forall_subtypes(it, type)
void set_identifier(const irep_idt &identifier)
#define Forall_operands(it, expr)
Expression to hold a symbol (variable)
const typet & subtype() const
void insert(const class symbol_exprt &old_expr, const class symbol_exprt &new_expr)
const irept & find(const irep_namet &name) const
const typet & return_type() const
virtual ~rename_symbolt()