Go to the documentation of this file.
11 #ifdef REPORT_UNIMPLEMENTED_TYPE_CHECKS
21 #define CALL_ON_TYPE(type_type) \
22 C<typet, type_type>()(type, std::forward<Args>(args)...)
24 template <
template <
typename,
typename>
class C,
typename... Args>
27 if(type.
id() == ID_signedbv)
31 else if(type.
id() == ID_unsignedbv)
37 #ifdef REPORT_UNIMPLEMENTED_TYPE_CHECKS
38 std::cerr <<
"Unimplemented well-formedness check for type with id: "
56 call_on_type<call_checkt>(type, vm);
72 call_on_type<call_validatet>(type, ns, vm);
88 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 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
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...