54 std::cout <<
"cpp_convert_typet::read_rec: "
79 other.push_back(type);
83 other.push_back(type);
109 other.push_back(type);
121 other.push_back(type);
149 other.push_back(type);
167 if(!parameters.empty() && parameters.back().id() ==
ID_ellipsis)
170 parameters.pop_back();
184 "there should be only one declarator");
223 throw "expected simple name as parameter";
234 throw "ellipsis only allowed as last parameter";
241 if(parameters.size() == 1 && parameters.front().type().id() ==
ID_empty)
267 throw "illegal type modifier for C++ bool";
282 throw "illegal type modifier for wchar_t";
297 throw "illegal type modifier for char16_t";
312 throw "illegal type modifier for char32_t";
ANSI-C Language Conversion.
unsignedbv_typet char32_t_type()
pointer_typet pointer_type(const typet &subtype)
bitvector_typet wchar_t_type()
unsignedbv_typet char16_t_type()
virtual void clear()
Reset the abstract state.
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
virtual void read_rec(const typet &type)
virtual void write(typet &type)
message_handlert & message_handler
virtual void set_attributes(typet &type) const
Add qualifiers and GCC attributes onto type.
unsigned gcc_float64x_cnt
source_locationt source_location
virtual void build_type_with_subtype(typet &type) const
Build a vector or complex type with type as subtype.
c_qualifierst c_qualifiers
std::vector< parametert > parameterst
const parameterst & parameters() const
const typet & return_type() const
struct configt::ansi_ct ansi_c
std::size_t char32_t_count
void write(typet &type) override
cpp_convert_typet(message_handlert &message_handler, const typet &type)
std::size_t char16_t_count
void read_rec(const typet &type) override
std::size_t wchar_t_count
void read_template(const typet &type)
void read_function_type(const typet &type)
const declaratorst & declarators() const
typet merge_type(const typet &declaration_type) const
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Base class for all expressions.
typet & type()
Return the type of the expression.
There are a large number of kinds of tree structured or tree-like data in CPROVER.
bool get_bool(const irep_idt &name) const
std::string pretty(unsigned indent=0, unsigned max_indent=0) const
const irept & find(const irep_idt &name) const
const irep_idt & get(const irep_idt &name) const
void set(const irep_idt &name, const irep_idt &value)
const irep_idt & id() const
irept & add(const irep_idt &name)
Class that provides messages with a built-in verbosity 'level'.
The pointer type These are both 'bitvector_typet' (they have a width) and 'type_with_subtypet' (they ...
The type of an expression, extends irept.
const source_locationt & source_location() const
void cpp_convert_auto(typet &dest, const typet &src, message_handlert &message_handler)
void cpp_convert_plain_type(typet &type, message_handlert &message_handler)
C++ Language Type Checking.
cpp_declarationt & to_cpp_declaration(irept &irep)
#define CHECK_RETURN(CONDITION)
#define UNREACHABLE
This should be used to mark dead code.
#define DATA_INVARIANT(CONDITION, REASON)
This condition should be used to document that assumptions that are made on goto_functions,...
const code_typet & to_code_type(const typet &type)
Cast a typet to a code_typet.
const array_typet & to_array_type(const typet &type)
Cast a typet to an array_typet.
const type_with_subtypet & to_type_with_subtype(const typet &type)