12 #ifndef CPROVER_CPP_CPP_DECLARATOR_CONVERTER_H
13 #define CPROVER_CPP_CPP_DECLARATOR_CONVERTER_H
85 return type.
id() == ID_code ||
86 (type.
id() == ID_template &&
92 const typet &decl_type,
const cpp_storage_spect & storage_spec() const
const cpp_member_spect & member_spec() const
void handle_initializer(symbolt &symbol, cpp_declaratort &declarator)
symbolt & convert(const cpp_declarationt &declaration, cpp_declaratort &declarator)
void check_array_types(typet &type, bool force_constant)
symbolt & convert_new_symbol(const cpp_storage_spect &storage_spec, const cpp_member_spect &member_spec, cpp_declaratort &declarator)
bool is_code_type(const typet &type) const
irep_idt get_pretty_name()
void operator_overloading_rules(const symbolt &symbol)
cpp_declarator_convertert(class cpp_typecheckt &_cpp_typecheck)
void combine_types(const source_locationt &source_location, const typet &decl_type, symbolt &symbol)
irep_idt final_identifier
void main_function_rules(const symbolt &symbol)
symbolt & convert(const typet &type, const cpp_storage_spect &storage_spec, const cpp_member_spect &member_spec, cpp_declaratort &declarator)
class cpp_typecheckt & cpp_typecheck
void get_final_identifier()
bool is_template_parameter
void enforce_rules(const symbolt &symbol)
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
typet & type()
Return the type of the expression.
const irep_idt & id() const
const typet & subtype() const
The type of an expression, extends irept.
C++ Language Type Checking.
template_typet & to_template_type(typet &type)