17 #include <testing-utils/catch.hpp> 28 REQUIRE(expr.
id()==ID_index);
30 REQUIRE(index_expr.index().id()==ID_constant);
34 REQUIRE(index_integer_value==expected_index);
44 REQUIRE(expr.
id()==ID_index);
46 REQUIRE(index_expr.index().id()==ID_nil);
59 REQUIRE(expr.
id()==ID_member);
61 REQUIRE(member_expr.get_component_name()==component_identifier);
83 REQUIRE(expr.
id() == ID_symbol);
92 REQUIRE(expr.
id() == ID_typecast);
102 const irep_idt &side_effect_statement)
104 REQUIRE(expr.
id() == ID_side_effect);
106 REQUIRE(side_effect_expr.get_statement() == side_effect_statement);
107 return side_effect_expr;
const irep_idt & get_identifier() const
A constant literal expression.
side_effect_exprt & to_side_effect_expr(exprt &expr)
Extract member of struct or union.
const irep_idt & id() const
Helper functions for requiring specific expressions If the expression is of the wrong type...
member_exprt require_member(const exprt &expr, const irep_idt &component_identifier)
Verify a given exprt is an member_exprt with a component name equal to the component_identifier.
const member_exprt & to_member_expr(const exprt &expr)
Cast a generic exprt to a member_exprt.
const symbol_exprt & to_symbol_expr(const exprt &expr)
Cast a generic exprt to a symbol_exprt.
symbol_exprt require_symbol(const exprt &expr, const irep_idt &symbol_name)
Verify a given exprt is an symbol_exprt with a identifier name equal to the symbol_name.
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.
side_effect_exprt require_side_effect_expr(const exprt &expr, const irep_idt &side_effect_statement)
Verify a given exprt is a side_effect_exprt with appropriate statement.
index_exprt require_top_index(const exprt &expr)
Verify a given exprt is an index_exprt with a nil value as its index.
Base class for all expressions.
const typecast_exprt & to_typecast_expr(const exprt &expr)
Cast a generic exprt to a typecast_exprt.
Expression to hold a symbol (variable)
index_exprt require_index(const exprt &expr, int expected_index)
Verify a given exprt is an index_exprt with a a constant value equal to the expected value...
An expression containing a side effect.
typecast_exprt require_typecast(const exprt &expr)
Verify a given exprt is a typecast_expr.
const index_exprt & to_index_expr(const exprt &expr)
Cast a generic exprt to an index_exprt.