12 #ifndef CPROVER_CPP_CPP_DECLARATION_H 13 #define CPROVER_CPP_CPP_DECLARATION_H 39 return type().
id()==ID_constructor;
44 return get_bool(ID_is_static_assert);
49 return type().
id()==ID_destructor;
77 find(ID_storage_spec));
83 add(ID_storage_spec));
89 find(ID_member_spec));
111 add(
"partial_specialization_args"));
117 find(
"partial_specialization_args"));
122 set(
"specialization_of",
id);
127 return get(
"specialization_of");
132 set(ID_is_typedef,
true);
140 void output(std::ostream &out)
const;
150 assert(irep.
id()==ID_cpp_declaration);
156 assert(irep.
id()==ID_cpp_declaration);
160 #endif // CPROVER_CPP_CPP_DECLARATION_H
The type of an expression.
const cpp_storage_spect & storage_spec() const
bool is_destructor() const
void name_anon_struct_union()
irep_idt get_specialization_of() const
cpp_template_args_non_tct & partial_specialization_args()
bool get_bool(const irep_namet &name) const
C++ Language Type Checking.
const cpp_member_spect & member_spec() const
bool is_class_template() const
const template_typet & template_type() const
const irep_idt & id() const
cpp_member_spect & member_spec()
const declaratorst & declarators() const
void set_specialization_of(const irep_idt &id)
Base class for tree-like data structures with sharing.
declaratorst & declarators()
dstringt has one field, an unsigned integer no which is an index into a static table of strings...
bool is_constructor() const
C++ Language Type Checking.
bool has_operands() const
cpp_declarationt & to_cpp_declaration(irept &irep)
Base class for all expressions.
bool is_static_assert() const
irept & add(const irep_namet &name)
template_typet & template_type()
std::vector< cpp_declaratort > declaratorst
const irept & find(const irep_namet &name) const
const cpp_template_args_non_tct & partial_specialization_args() const
void output(std::ostream &out) const
cpp_storage_spect & storage_spec()