43 if(type.
id()==ID_struct)
47 for(
const auto &comp : struct_type.
components())
52 member_expr.
type()=comp.type();
57 else if(type.
id()==ID_pointer)
64 if(subtype.
id()!=ID_code &&
65 subtype.
id()!=ID_empty)
88 if(expr.
id()==ID_symbol &&
94 if(obj_identifier!=
"goto_symex::\\guard")
The type of an expression.
irep_idt name
The unique identifier.
const typet & follow(const typet &src) const
virtual bool lookup(const irep_idt &name, const symbolt *&symbol) const
const std::string & id2string(const irep_idt &d)
pointer_typet pointer_type(const typet &subtype)
irep_idt mode
Language mode.
const irep_idt & get_identifier() const
The null pointer constant.
const componentst & components() const
exprt make_auto_object(const typet &type)
The trinary if-then-else operator.
Symbol table entry.This is a symbol in the symbol table, stored in an object of type symbol_tablet...
bool get_bool(const irep_namet &name) const
Extract member of struct or union.
goto_symex_statet::level2t level2
void set_component_name(const irep_idt &component_name)
const irep_idt & id() const
const ssa_exprt & to_ssa_expr(const exprt &expr)
Cast a generic exprt to an ssa_exprt.
static unsigned dynamic_counter
void trigger_auto_object(const exprt &expr, statet &state)
API to expression classes.
A side effect that returns a non-deterministically chosen value.
#define forall_operands(it, expr)
bool add(const symbolt &symbol)
Add a new symbol to the symbol table.
current_namest current_names
Operator to return the address of an object.
void initialize_auto_object(const exprt &expr, statet &state)
void symex_assign_rec(statet &state, const code_assignt &code)
bool has_prefix(const std::string &s, const std::string &prefix)
const struct_typet & to_struct_type(const typet &type)
Cast a generic typet to a struct_typet.
symbol_tablet & new_symbol_table
const pointer_typet & to_pointer_type(const typet &type)
Cast a generic typet to a pointer_typet.
typet type
Type of symbol.
Base class for all expressions.
const exprt & struct_op() const
irep_idt base_name
Base (non-scoped) name.
irep_idt get_object_name() const
Expression to hold a symbol (variable)
const typet & subtype() const
Expression providing an SSA-renamed symbol of expressions.