cprover
|
Expression to hold a symbol (variable) More...
#include <std_expr.h>
Public Member Functions | |
symbol_exprt () | |
symbol_exprt (const irep_idt &identifier) | |
Constructor. More... | |
symbol_exprt (const typet &type) | |
Constructor. More... | |
symbol_exprt (const irep_idt &identifier, const typet &type) | |
Constructor. More... | |
void | set_identifier (const irep_idt &identifier) |
const irep_idt & | get_identifier () const |
![]() | |
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 |
![]() | |
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 () |
Additional Inherited Members | |
![]() | |
typedef std::vector< exprt > | operandst |
![]() | |
typedef std::vector< irept > | subt |
typedef std::map< irep_namet, irept > | named_subt |
![]() | |
void | detach () |
![]() | |
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... | |
![]() | |
dt * | data |
![]() | |
static dt | empty_d |
Expression to hold a symbol (variable)
Definition at line 82 of file std_expr.h.
|
inline |
Definition at line 85 of file std_expr.h.
|
inlineexplicit |
|
inlineexplicit |
Constructor.
identifier | Name of symbol |
type | Type of symbol |
Definition at line 108 of file std_expr.h.
|
inline |
Definition at line 120 of file std_expr.h.
Referenced by call_grapht::add(), const_function_pointer_propagationt::add(), const_function_pointer_propagationt::arg_stackt::add_args(), uninitializedt::add_assertions(), string_constraint_generatort::add_axioms_for_function_application(), partial_order_concurrencyt::address(), aliasing(), local_may_aliast::assign_lhs(), local_bitvector_analysist::assign_lhs(), global_may_alias_domaint::assign_lhs_aliases(), escape_domaint::assign_lhs_aliases(), escape_domaint::assign_lhs_cleanup(), path_symext::assign_rec(), value_sett::assign_rec(), string_constraint_generatort::assign_to_symbol(), goto_symex_statet::assignment(), interval_domaint::assume_rec(), local_may_aliast::build(), build_ssa_identifier_rec(), string_abstractiont::build_symbol(), escape_domaint::check_lhs(), goto_program2codet::cleanup_expr(), dump_ct::cleanup_expr(), goto_program2codet::cleanup_function_call(), concurrency_instrumentationt::collect(), symex_slicet::collect_open_variables(), cfg_baset< cfg_nodet >::compute_edges_function_call(), rw_set_functiont::compute_rec(), goto_program2codet::convert_decl(), smt1_convt::convert_expr(), smt2_convt::convert_expr(), smt2_convt::convert_floatbv(), java_bytecode_convert_methodt::convert_instructions(), bv_pointerst::convert_pointer_type(), string_instrumentationt::do_function_call(), goto_convertt::do_function_call(), c_typecheck_baset::do_special_functions(), const_function_pointer_propagationt::dup_caller_and_inline_callee(), string_constraint_generatort::extract_java_string(), fence_all_shared_aegt::fence_all_shared_aeg_explore(), dirtyt::find_dirty_address_of(), string_constraint_generatort::find_or_add_string_of_symbol(), smt1_convt::find_symbols(), smt2_convt::find_symbols(), path_symext::function_call_rec(), smt1_convt::get(), smt2_convt::get(), escape_domaint::get_function(), code_declt::get_identifier(), code_deadt::get_identifier(), ssa_exprt::get_l1_object_identifier(), function_modifiest::get_modifies_function(), ssa_exprt::get_object_name(), rw_range_sett::get_objects_rec(), get_old_va_symbol(), ssa_exprt::get_original_name(), local_bitvector_analysist::get_rec(), global_may_alias_domaint::get_rhs_aliases(), escape_domaint::get_rhs_aliases(), global_may_alias_domaint::get_rhs_aliases_address_of(), escape_domaint::get_rhs_aliases_address_of(), escape_domaint::get_rhs_cleanup(), uninitializedt::get_tracking(), value_sett::get_value_set_rec(), goto_partial_inline(), cpp_typecheck_resolvet::guess_function_template_args(), symex_dereference_statet::has_failed_symbol(), interval_domaint::havoc_rec(), implicit(), rename_symbolt::insert(), taint_analysist::instrument(), concurrency_instrumentationt::instrument(), interrupt(), shared_bufferst::is_buffered(), shared_bufferst::is_buffered_in_general(), is_shared(), escape_domaint::is_tracked(), acceleratet::is_underapproximate(), java_static_lifetime_init(), goto_symex_statet::l2_thread_read_encoding(), link_functions(), list_calls_and_arguments(), prop_conv_solvert::literal(), interval_domaint::make_expression(), mm_io(), nondet_static(), custom_bitvector_domaint::object2id(), object_idt::object_idt(), full_slicert::operator()(), dirtyt::operator()(), check_call_sequencet::operator()(), const_function_pointer_propagationt::propagate(), path_symex_statet::read_symbol_member_index(), _rw_set_loct::read_write_rec(), goto_symex_statet::rename(), goto_symex_statet::rename_address(), replace_async(), remove_const_function_pointerst::resolve_symbol(), java_bytecode_convert_methodt::save_stack_entries(), goto_symex_statet::set_ssa_indices(), constant_propagator_domaint::valuest::set_to(), constant_propagator_domaint::valuest::set_to_top(), show_call_sequences(), symex_slicet::slice_assignment(), symex_slicet::slice_decl(), slice_global_inits(), acceleration_utilst::stash_variables(), polynomial_acceleratort::stash_variables(), goto_symext::symex_assign_symbol(), goto_symext::symex_atomic_end(), goto_symext::symex_dead(), goto_symext::symex_decl(), jsil_declarationt::to_symbol(), constant_propagator_domaint::transform(), custom_bitvector_domaint::transform(), escape_domaint::transform(), rd_range_domaint::transform_function_call(), goto_symext::trigger_auto_object(), java_bytecode_typecheckt::typecheck_expr_symbol(), c_typecheck_baset::typecheck_expr_symbol(), jsil_typecheckt::typecheck_function_call(), c_typecheck_baset::typecheck_side_effect_function_call(), jsil_typecheckt::typecheck_symbol_expr(), remove_returnst::undo_function_calls(), jsil_typecheckt::update_expr_type(), value_set_dereferencet::valid_check(), java_bytecode_convert_methodt::variable(), instrumentert::cfg_visitort::visit_cfg_function_call(), yyjsilparse(), and replace_symbolt::~replace_symbolt().
|
inline |
Definition at line 115 of file std_expr.h.
Referenced by uninitializedt::add_assertions(), symex_target_equationt::convert_io(), goto_convertt::do_function_call_symbol(), remove_returnst::do_function_calls(), remove_function_pointerst::remove_function_pointer(), graphml_witnesst::remove_l0_l1(), rename_symbolt::rename(), remove_returnst::replace_returns(), symex_slice_by_tracet::slice_by_trace(), c_typecheck_baset::typecheck_array_type(), cpp_typecheckt::typecheck_compound_declarator(), cpp_typecheckt::typecheck_expr_cpp_name(), c_typecheck_baset::typecheck_expr_symbol(), jsil_typecheckt::typecheck_symbol_expr(), and ssa_exprt::update_identifier().