22 std::ostream &l1_object_os)
24 if(expr.
id()==ID_member)
32 else if(expr.
id()==ID_index)
42 os <<
'[' << idx <<
']';
44 else if(expr.
id()==ID_symbol)
48 l1_object_os << symid;
54 l1_object_os <<
'!' << l0;
61 l1_object_os <<
'@' << l1;
78 if(expr.
id()==ID_symbol)
80 else if(expr.
id()==ID_member ||
93 std::ostringstream oss;
94 std::ostringstream l1_object_oss;
const irep_idt & get_identifier() const
static std::pair< irep_idt, irep_idt > build_identifier(const exprt &src, const irep_idt &l0, const irep_idt &l1, const irep_idt &l2)
Extract member of struct or union.
const irep_idt & id() const
const member_exprt & to_member_expr(const exprt &expr)
Cast a generic exprt to a member_exprt.
static bool can_build_identifier(const exprt &src)
const symbol_exprt & to_symbol_expr(const exprt &expr)
Cast a generic exprt to a symbol_exprt.
dstringt has one field, an unsigned integer no which is an index into a static table of strings...
const constant_exprt & to_constant_expr(const exprt &expr)
Cast a generic exprt to a constant_exprt.
Base class for all expressions.
const exprt & struct_op() const
irep_idt get_component_name() const
static void build_ssa_identifier_rec(const exprt &expr, const irep_idt &l0, const irep_idt &l1, const irep_idt &l2, std::ostream &os, std::ostream &l1_object_os)
const index_exprt & to_index_expr(const exprt &expr)
Cast a generic exprt to an index_exprt.