32 *
this =
codet(ID_block);
44 if(statement==ID_block)
46 else if(statement==ID_label)
59 if(statement==ID_block)
61 else if(statement==ID_label)
74 if(statement==ID_block)
76 else if(statement==ID_label)
89 if(statement==ID_block)
91 else if(statement==ID_label)
104 for(
const auto &operand : extra_block.
operands())
117 op.add_source_location() =
loc;
126 :
exprt(ID_side_effect, _type)
141 const exprt &_function,
148 op1().
id(ID_arguments);
149 function() = _function;
const irep_idt & get_statement() const
The type of an expression.
side_effect_expr_function_callt()
side_effect_expr_nondett()
const irep_idt & get_identifier() const
void copy_to_operands(const exprt &expr)
const irep_idt & get_identifier() const
void move_to_operands(exprt &expr)
codet & first_statement()
side_effect_exprt(const irep_idt &statement)
void set_nullable(bool nullable)
const irep_idt & id() const
void add(const codet &code)
class code_blockt & make_block()
code_blockt create_fatal_assertion(const exprt &condition, const source_locationt &loc)
Create a fatal assertion, which checks a condition and then halts if it does not hold.
API to expression classes.
const irep_idt & get_identifier() const
void append(const code_blockt &extra_block)
Add all the codets from extra_block to the current code_blockt.
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...
bool has_operands() const
std::vector< exprt > operandst
A non-fatal assertion, which checks a condition then permits execution to continue.
An assumption, which must hold in subsequent code.
Base class for all expressions.
exprt::operandst & arguments()
source_locationt & add_source_location()
const codet & to_code(const exprt &expr)
A statement in a programming language.
An expression containing a side effect.
void set_statement(const irep_idt &statement)