29 if(expr.
id()==ID_address_of)
42 if(expr.
id()==ID_symbol)
47 dirty.insert(identifier);
49 else if(expr.
id()==ID_member)
53 else if(expr.
id()==ID_index)
58 else if(expr.
id()==ID_dereference)
62 else if(expr.
id()==ID_if)
72 for(
const auto &d :
dirty)
void find_dirty_address_of(const exprt &expr)
Variables whose address is taken.
const irep_idt & get_identifier() const
const member_exprt & to_member_expr(const exprt &expr)
Cast a generic exprt to a member_exprt.
goto_functionst::goto_functiont goto_functiont
const dereference_exprt & to_dereference_expr(const exprt &expr)
Cast a generic exprt to a dereference_exprt.
const index_exprt & to_index_expr(const exprt &expr)
Cast a generic exprt to an index_exprt.
const irep_idt & id() const
const address_of_exprt & to_address_of_expr(const exprt &expr)
Cast a generic exprt to an address_of_exprt.
const if_exprt & to_if_expr(const exprt &expr)
Cast a generic exprt to an if_exprt.
API to expression classes.
#define forall_operands(it, expr)
void find_dirty(const exprt &expr)
Operator to return the address of an object.
Base class for all expressions.
const symbol_exprt & to_symbol_expr(const exprt &expr)
Cast a generic exprt to a symbol_exprt.
void output(std::ostream &out) const
#define forall_goto_program_instructions(it, program)
void build(const goto_functiont &goto_function)