cprover
|
Base Type Computation. More...
#include "base_type.h"
#include <cassert>
#include <set>
#include "std_types.h"
#include "namespace.h"
#include "symbol.h"
Go to the source code of this file.
Functions | |
void | base_type_rec (typet &type, const namespacet &ns, std::set< irep_idt > &symb) |
void | base_type (typet &type, const namespacet &ns) |
void | base_type (exprt &expr, const namespacet &ns) |
bool | base_type_eq (const typet &type1, const typet &type2, const namespacet &ns) |
bool | base_type_eq (const exprt &expr1, const exprt &expr2, const namespacet &ns) |
Base Type Computation.
Definition in file base_type.cpp.
void base_type | ( | typet & | type, |
const namespacet & | ns | ||
) |
Definition at line 79 of file base_type.cpp.
References base_type_rec().
Referenced by base_type(), base_type_eqt::base_type_eq_rec(), simplify_exprt::simplify_typecast(), and java_bytecode_typecheckt::typecheck_expr_member().
void base_type | ( | exprt & | expr, |
const namespacet & | ns | ||
) |
Definition at line 85 of file base_type.cpp.
References base_type(), Forall_operands, and exprt::type().
bool base_type_eq | ( | const typet & | type1, |
const typet & | type2, | ||
const namespacet & | ns | ||
) |
Definition at line 270 of file base_type.cpp.
References base_type_eqt::base_type_eq().
Referenced by arrayst::add_array_constraints_array_of(), goto_symext::address_arithmetic(), linkingt::adjust_object_type_rec(), aliasing(), value_sett::assign(), value_set_fit::assign(), value_set_fivrnst::assign(), value_set_fivrt::assign(), path_symext::assign_rec(), value_set_dereferencet::build_reference_to(), dump_ct::cleanup_expr(), arrayst::collect_arrays(), graphml_witnesst::convert_assign_rec(), boolbvt::convert_equality(), smt1_convt::convert_expr(), smt2_convt::convert_expr(), boolbvt::convert_member(), boolbvt::convert_struct(), boolbvt::convert_verilog_case_equality(), boolbvt::convert_with_struct(), goto_symext::dereference_rec(), value_set_dereferencet::dereference_type_compare(), linkingt::detailed_conflict_report_rec(), c_typecheck_baset::do_special_functions(), does_remove_constt::does_expr_lose_const(), linkingt::duplicate_code_symbol(), linkingt::duplicate_object_symbol(), linkingt::duplicate_type_symbol(), goto_checkt::goto_check(), c_typecastt::implicit_typecast_followed(), link_functions(), value_set_dereferencet::memory_model_bytes(), linkingt::needs_renaming_type(), goto_inlinet::parameter_assignments(), goto_symext::parameter_assignments(), goto_checkt::pointer_validity_check(), goto_symext::process_array_expr_rec(), dereferencet::read_object(), arrayst::record_array_equality(), goto_symext::return_assignment(), simplify_exprt::simplify_byte_extract(), simplify_exprt::simplify_byte_update(), simplify_exprt::simplify_inequality(), simplify_exprt::simplify_typecast(), goto_symext::symex_other(), dereferencet::type_compatible(), c_typecheck_baset::typecheck_expr_typecast(), and cpp_typecheckt::typecheck_method_application().
bool base_type_eq | ( | const exprt & | expr1, |
const exprt & | expr2, | ||
const namespacet & | ns | ||
) |
Definition at line 279 of file base_type.cpp.
References base_type_eqt::base_type_eq().
void base_type_rec | ( | typet & | type, |
const namespacet & | ns, | ||
std::set< irep_idt > & | symb | ||
) |
Definition at line 21 of file base_type.cpp.
References struct_union_typet::components(), irept::get(), irept::id(), irept::is_nil(), symbolt::is_type, namespacet::lookup(), typet::subtype(), to_array_type(), to_pointer_type(), to_struct_union_type(), and symbolt::type.
Referenced by base_type().