28 if(op.type().id() == ID_pointer)
34 else if(src.
id()==ID_minus)
37 read(minus_src.op0());
39 minus_src.op1(), minus_src.op1().type());
42 else if(src.
id()==ID_address_of)
45 if(address_of_src.op().id() == ID_index)
55 auto new_address_of_src = address_of_src;
Base class for all expressions.
void copy_to_operands(const exprt &expr)
Copy the given argument to the end of exprt's operands.
bool is_zero() const
Return whether the expression is a constant representing 0.
typet & type()
Return the type of the expression.
const irep_idt & id() const
The plus expression Associativity is not specified.
static exprt conditional_cast(const exprt &expr, const typet &type)
The unary minus expression.
API to expression classes for Pointers.
const address_of_exprt & to_address_of_expr(const exprt &expr)
Cast an exprt to an address_of_exprt.
API to expression classes.
const minus_exprt & to_minus_expr(const exprt &expr)
Cast an exprt to a minus_exprt.
const index_exprt & to_index_expr(const exprt &expr)
Cast an exprt to an index_exprt.
void make_pointer(const exprt &src)
void add_to_offset(const exprt &src)
void read(const exprt &src)
pointer_arithmetict(const exprt &src)