Go to the documentation of this file.
11 #ifdef REPORT_UNIMPLEMENTED_TYPE_CHECKS
20 #define CALL_ON_TYPE(type_type) \
21 C<typet, type_type>()(type, std::forward<Args>(args)...)
23 template <
template <
typename,
typename>
class C,
typename... Args>
26 if(type.
id() == ID_bv)
30 else if(type.
id() == ID_unsignedbv)
34 else if(type.
id() == ID_signedbv)
38 else if(type.
id() == ID_fixedbv)
42 else if(type.
id() == ID_floatbv)
46 else if(type.
id() == ID_pointer)
53 else if(type.
id() == ID_c_bool)
57 else if(type.
id() == ID_array)
63 #ifdef REPORT_UNIMPLEMENTED_TYPE_CHECKS
64 std::cerr <<
"Unimplemented well-formedness check for type with id: "
82 call_on_type<call_checkt>(type, vm);
98 call_on_type<call_validatet>(type, ns, vm);
114 call_on_type<call_validate_fullt>(type, ns, vm);
#define CALL_ON_TYPE(type_type)
void validate_full_type(const typet &type, const namespacet &ns, const validation_modet vm)
Check that the given type is well-formed (full check, including checks of subtypes)
The type of an expression, extends irept.
Fixed-width bit-vector with IEEE floating-point interpretation.
Fixed-width bit-vector with unsigned binary interpretation.
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
void call_on_type(const typet &type, Args &&... args)
void check_type(const typet &type, const validation_modet vm)
Check that the given type is well-formed (shallow checks only, i.e., subtypes are not checked)
Fixed-width bit-vector with two's complement interpretation.
const std::string & id_string() const
const irep_idt & id() const
Fixed-width bit-vector with signed fixed-point interpretation.
void validate_type(const typet &type, const namespacet &ns, const validation_modet vm)
Check that the given type is well-formed, assuming that its subtypes have already been checked for we...
The pointer type These are both 'bitvector_typet' (they have a width) and 'type_with_subtypet' (they ...
bool get_bool(const irep_idt &name) const
Fixed-width bit-vector without numerical interpretation.