cprover
base_type.cpp File Reference

Base Type Computation. More...

#include "base_type.h"
#include <cassert>
#include <set>
#include "std_types.h"
#include "namespace.h"
#include "symbol.h"
Include dependency graph for base_type.cpp:

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)
 

Detailed Description

Base Type Computation.

Definition in file base_type.cpp.

Function Documentation

◆ base_type() [1/2]

void base_type ( typet type,
const namespacet ns 
)

◆ base_type() [2/2]

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().

◆ base_type_eq() [1/2]

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_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(), base_type_eq(), 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().

◆ base_type_eq() [2/2]

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_eq().

◆ base_type_rec()