|
cprover
|
#include <guard.h>
Public Member Functions | |
| guardt () | |
| guardt & | operator= (const exprt &e) |
| void | add (const exprt &expr) |
| void | append (const guardt &guard) |
| exprt | as_expr () const |
| void | guard_expr (exprt &dest) const |
Public Member Functions inherited from exprt | |
| exprt () | |
| exprt (const irep_idt &_id) | |
| exprt (const irep_idt &_id, const typet &_type) | |
| typet & | type () |
| const typet & | type () const |
| bool | has_operands () const |
| operandst & | operands () |
| const operandst & | operands () const |
| exprt & | op0 () |
| exprt & | op1 () |
| exprt & | op2 () |
| exprt & | op3 () |
| const exprt & | op0 () const |
| const exprt & | op1 () const |
| const exprt & | op2 () const |
| const exprt & | op3 () const |
| void | reserve_operands (operandst::size_type n) |
| void | move_to_operands (exprt &expr) |
| void | move_to_operands (exprt &e1, exprt &e2) |
| void | move_to_operands (exprt &e1, exprt &e2, exprt &e3) |
| void | copy_to_operands (const exprt &expr) |
| void | copy_to_operands (const exprt &e1, const exprt &e2) |
| void | copy_to_operands (const exprt &e1, const exprt &e2, const exprt &e3) |
| void | make_typecast (const typet &_type) |
| void | make_not () |
| void | make_true () |
| void | make_false () |
| void | make_bool (bool value) |
| void | negate () |
| bool | sum (const exprt &expr) |
| bool | mul (const exprt &expr) |
| bool | subtract (const exprt &expr) |
| bool | is_constant () const |
| bool | is_true () const |
| bool | is_false () const |
| bool | is_zero () const |
| bool | is_one () const |
| bool | is_boolean () const |
| const source_locationt & | find_source_location () const |
| const source_locationt & | source_location () const |
| source_locationt & | add_source_location () |
| exprt & | add_expr (const irep_idt &name) |
| const exprt & | find_expr (const irep_idt &name) const |
| void | visit (class expr_visitort &visitor) |
| void | visit (class const_expr_visitort &visitor) const |
Public Member Functions inherited from irept | |
| bool | is_nil () const |
| bool | is_not_nil () const |
| irept (const irep_idt &_id) | |
| irept () | |
| irept (const irept &irep) | |
| irept (irept &&irep) | |
| irept & | operator= (const irept &irep) |
| irept & | operator= (irept &&irep) |
| ~irept () | |
| const irep_idt & | id () const |
| const std::string & | id_string () const |
| void | id (const irep_idt &_data) |
| const irept & | find (const irep_namet &name) const |
| irept & | add (const irep_namet &name) |
| irept & | add (const irep_namet &name, const irept &irep) |
| const std::string & | get_string (const irep_namet &name) const |
| const irep_idt & | get (const irep_namet &name) const |
| bool | get_bool (const irep_namet &name) const |
| signed int | get_int (const irep_namet &name) const |
| unsigned int | get_unsigned_int (const irep_namet &name) const |
| std::size_t | get_size_t (const irep_namet &name) const |
| long long | get_long_long (const irep_namet &name) const |
| void | set (const irep_namet &name, const irep_idt &value) |
| void | set (const irep_namet &name, const irept &irep) |
| void | set (const irep_namet &name, const long long value) |
| void | remove (const irep_namet &name) |
| void | move_to_sub (irept &irep) |
| void | move_to_named_sub (const irep_namet &name, irept &irep) |
| bool | operator== (const irept &other) const |
| bool | operator!= (const irept &other) const |
| void | swap (irept &irep) |
| bool | operator< (const irept &other) const |
| defines ordering on the internal representation More... | |
| bool | ordering (const irept &other) const |
| defines ordering on the internal representation More... | |
| int | compare (const irept &i) const |
| defines ordering on the internal representation More... | |
| void | clear () |
| void | make_nil () |
| subt & | get_sub () |
| const subt & | get_sub () const |
| named_subt & | get_named_sub () |
| const named_subt & | get_named_sub () const |
| named_subt & | get_comments () |
| const named_subt & | get_comments () const |
| std::size_t | hash () const |
| std::size_t | full_hash () const |
| bool | full_eq (const irept &other) const |
| std::string | pretty (unsigned indent=0, unsigned max_indent=0) const |
| const dt & | read () const |
| dt & | write () |
Friends | |
| guardt & | operator-= (guardt &g1, const guardt &g2) |
| guardt & | operator|= (guardt &g1, const guardt &g2) |
Additional Inherited Members | |
Public Types inherited from exprt | |
| typedef std::vector< exprt > | operandst |
Public Types inherited from irept | |
| typedef std::vector< irept > | subt |
| typedef std::map< irep_namet, irept > | named_subt |
Protected Member Functions inherited from irept | |
| void | detach () |
Static Protected Member Functions inherited from irept | |
| static bool | is_comment (const irep_namet &name) |
| static void | remove_ref (dt *old_data) |
| static void | nonrecursive_destructor (dt *old_data) |
| Does the same as remove_ref, but using an explicit stack instead of recursion. More... | |
Protected Attributes inherited from irept | |
| dt * | data |
Static Protected Attributes inherited from irept | |
| static dt | empty_d |
|
inline |
Definition at line 22 of file guard.h.
References exprt::make_true().
| void guardt::add | ( | const exprt & | expr | ) |
Definition at line 64 of file guard.cpp.
References exprt::copy_to_operands(), irept::id(), exprt::is_false(), exprt::is_true(), exprt::operands(), and exprt::type().
Referenced by append(), value_set_dereferencet::bounds_check(), value_set_dereferencet::build_reference_to(), goto_checkt::check_rec(), value_set_dereferencet::dereference(), goto_program_dereferencet::dereference_rec(), rw_guarded_range_set_value_sett::get_objects_if(), value_set_dereferencet::invalid_pointer(), goto_symex_statet::l2_thread_read_encoding(), goto_symext::loop_bound_exceeded(), value_set_dereferencet::memory_model_bytes(), value_set_dereferencet::memory_model_conversion(), operator|=(), goto_symext::symex_assign_if(), goto_symext::symex_assume(), goto_symext::symex_function_call_code(), goto_symext::symex_goto(), and goto_symext::symex_step().
|
inline |
Definition at line 36 of file guard.h.
References add().
Referenced by goto_symext::symex_assign_symbol().
|
inline |
Definition at line 43 of file guard.h.
Referenced by rw_guarded_range_set_value_sett::add(), goto_checkt::add_guarded_claim(), symex_slice_by_tracet::assign_merges(), goto_program_dereferencet::dereference_failure(), guard_expr(), goto_symex_statet::l2_thread_read_encoding(), goto_symex_statet::l2_thread_write_encoding(), goto_symext::phi_function(), _rw_set_loct::read_write_rec(), goto_symext::return_assignment(), symex_slice_by_tracet::slice_by_trace(), goto_symext::symex_assign_symbol(), goto_symext::symex_assume(), goto_symext::symex_atomic_begin(), goto_symext::symex_atomic_end(), goto_symext::symex_decl(), goto_symext::symex_end_of_function(), goto_symext::symex_function_call_code(), goto_symext::symex_function_call_symbol(), goto_symext::symex_goto(), goto_symext::symex_input(), goto_symext::symex_other(), goto_symext::symex_output(), goto_symext::symex_printf(), goto_symext::symex_start_thread(), goto_symext::symex_step(), goto_symext::symex_step_goto(), goto_symext::symex_trace(), and goto_symext::vcc().
| void guardt::guard_expr | ( | exprt & | dest | ) | const |
Definition at line 19 of file guard.cpp.
References as_expr(), exprt::is_false(), exprt::is_true(), exprt::make_not(), exprt::op0(), exprt::op1(), and irept::swap().
Referenced by goto_symext::symex_assume(), goto_symext::symex_step_goto(), and goto_symext::vcc().