24 const exprt &new_expr)
26 expr_map.insert(std::pair<irep_idt, exprt>(
45 if(dest.
id()==ID_symbol)
47 expr_mapt::const_iterator it=
61 const irept &c_sizeof_type=dest.
find(ID_C_c_sizeof_type);
64 !
replace(static_cast<typet&>(dest.
add(ID_C_c_sizeof_type))))
67 const irept &va_arg_type=dest.
find(ID_C_va_arg_type);
70 !
replace(static_cast<typet&>(dest.
add(ID_C_va_arg_type))))
85 if(dest.
id()==ID_symbol)
92 const irept &c_sizeof_type=dest.
find(ID_C_c_sizeof_type);
98 const irept &va_arg_type=dest.
find(ID_C_va_arg_type);
122 if(dest.
id()==ID_struct ||
129 for(struct_union_typet::componentst::iterator
130 it=components.begin();
131 it!=components.end();
136 else if(dest.
id()==ID_code)
141 for(code_typet::parameterst::iterator it = parameters.begin();
142 it!=parameters.end();
147 else if(dest.
id()==ID_symbol)
149 type_mapt::const_iterator it=
158 else if(dest.
id()==ID_array)
178 if(dest.
id()==ID_struct ||
187 for(struct_union_typet::componentst::const_iterator
188 it=components.begin();
189 it!=components.end();
194 else if(dest.
id()==ID_code)
202 for(code_typet::parameterst::const_iterator
203 it=parameters.begin();
204 it!=parameters.end();
209 else if(dest.
id()==ID_symbol)
211 else if(dest.
id()==ID_array)
The type of an expression.
#define forall_subtypes(it, type)
const irep_idt & get_identifier() const
std::vector< componentt > componentst
std::vector< parametert > parameterst
virtual bool replace(exprt &dest) const
const componentst & components() const
const struct_union_typet & to_struct_union_type(const typet &type)
Cast a generic typet to a struct_union_typet.
const irep_idt & id() const
const array_typet & to_array_type(const typet &type)
Cast a generic typet to an array_typet.
API to expression classes.
const irep_idt & get(const irep_namet &name) const
bool have_to_replace(const exprt &dest) const
const exprt & size() const
Base class for tree-like data structures with sharing.
#define forall_operands(it, expr)
virtual ~replace_symbolt()
Base type of C structs and unions, and C++ classes.
Base class for all expressions.
const parameterst & parameters() const
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)
#define Forall_operands(it, expr)
void insert(const irep_idt &identifier, const exprt &expr)
Expression to hold a symbol (variable)
const typet & subtype() const
const irept & find(const irep_namet &name) const
const typet & return_type() const