26 if(expr.
type().
id()==ID_vector)
28 if(expr.
id()==ID_plus || expr.
id()==ID_minus ||
29 expr.
id()==ID_mult || expr.
id()==ID_div ||
30 expr.
id()==ID_mod || expr.
id()==ID_bitxor ||
31 expr.
id()==ID_bitand || expr.
id()==ID_bitor)
33 else if(expr.
id()==ID_unary_minus || expr.
id()==ID_bitnot)
35 else if(expr.
id()==ID_vector)
51 if(type.
id()==ID_struct || type.
id()==ID_union)
56 for(struct_union_typet::componentst::const_iterator
63 else if(type.
id()==ID_pointer ||
64 type.
id()==ID_complex ||
67 else if(type.
id()==ID_vector)
84 if(expr.
type().
id()==ID_vector)
86 if(expr.
id()==ID_plus || expr.
id()==ID_minus ||
87 expr.
id()==ID_mult || expr.
id()==ID_div ||
88 expr.
id()==ID_mod || expr.
id()==ID_bitxor ||
89 expr.
id()==ID_bitand || expr.
id()==ID_bitor)
104 for(std::size_t i=0; i<array_expr.
operands().size(); i++)
115 else if(expr.
id()==ID_unary_minus || expr.
id()==ID_bitnot)
130 for(std::size_t i=0; i<array_expr.
operands().size(); i++)
140 else if(expr.
id()==ID_vector)
155 if(type.
id()==ID_struct || type.
id()==ID_union)
160 for(struct_union_typet::componentst::iterator
168 else if(type.
id()==ID_pointer ||
169 type.
id()==ID_complex ||
174 else if(type.
id()==ID_vector)
197 for(
const auto &named_symbol : symbol_table.
symbols)
The type of an expression.
exprt value
Initial value of symbol.
const componentst & components() const
symbol_tablet symbol_table
Symbol table.
Symbol table entry.This is a symbol in the symbol table, stored in an object of type symbol_tablet...
virtual symbolt * get_writeable(const irep_idt &name) override
Find a symbol in the symbol table for read-write access.
const irep_idt & id() const
A generic base class for binary expressions.
static bool have_to_remove_vector(const typet &type)
A constant-size array type.
API to expression classes.
Generic base class for unary expressions.
::goto_functiont goto_functiont
const exprt & size() const
const vector_typet & to_vector_type(const typet &type)
Cast a generic typet to a vector_typet.
#define forall_operands(it, expr)
const source_locationt & source_location() const
typet type
Type of symbol.
Base type of C structs and unions, and C++ classes.
const array_typet & to_array_type(const typet &type)
Cast a generic typet to an array_typet.
Base class for all expressions.
const struct_union_typet & to_struct_union_type(const typet &type)
Cast a generic typet to a struct_union_typet.
source_locationt & add_source_location()
#define Forall_goto_functions(it, functions)
#define Forall_operands(it, expr)
#define Forall_goto_program_instructions(it, program)
Remove the 'vector' data type by compilation into arrays.
std::size_t integer2size_t(const mp_integer &n)
const typet & subtype() const
goto_functionst goto_functions
GOTO functions.
static void remove_vector(typet &)
removes vector data type
array constructor from list of elements