Go to the documentation of this file.
12 #ifndef CPROVER_ANSI_C_ANSI_C_DECLARATION_H
13 #define CPROVER_ANSI_C_ANSI_C_DECLARATION_H
29 return static_cast<exprt &
>(
add(ID_value));
34 return static_cast<const exprt &
>(
find(ID_value));
39 return set(ID_name, name);
49 return get(ID_base_name);
54 return set(ID_base_name, base_name);
62 assert(expr.
id()==ID_declarator);
68 assert(expr.
id()==ID_declarator);
86 set(ID_is_typedef, is_typedef);
91 return get_bool(ID_is_enum_constant);
96 set(ID_is_enum_constant, is_enum_constant);
106 set(ID_is_static, is_static);
116 set(ID_is_parameter, is_parameter);
126 set(ID_is_member, is_member);
136 set(ID_is_global, is_global);
146 set(ID_is_register, is_register);
151 return get_bool(ID_is_thread_local);
156 set(ID_is_thread_local, is_thread_local);
166 set(ID_is_inline, is_inline);
176 set(ID_is_extern, is_extern);
181 return get_bool(ID_is_static_assert);
186 set(ID_is_static_assert, is_static_assert);
196 set(ID_is_weak, is_weak);
206 set(ID_is_used, is_used);
240 void output(std::ostream &)
const;
250 return static_cast<const exprt &
>(
find(ID_C_spec_assigns));
255 return static_cast<const exprt &
>(
find(ID_C_spec_requires));
260 return static_cast<const exprt &
>(
find(ID_C_spec_ensures));
266 assert(expr.
id()==ID_declaration);
272 assert(expr.
id()==ID_declaration);
276 #endif // CPROVER_ANSI_C_ANSI_C_DECLARATION_H
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
const exprt & value() const
const exprt & spec_requires() const
bool get_is_thread_local() const
const declaratorst & declarators() const
void set_is_parameter(bool is_parameter)
bool get_is_typedef() const
ansi_c_declaratort & to_ansi_c_declarator(exprt &expr)
std::size_t size() const
Amount of nodes this expression tree contains.
The type of an expression, extends irept.
bool get_is_static() const
void add_initializer(exprt &value)
irept & add(const irep_namet &name)
const irept & find(const irep_namet &name) const
void set_is_enum_constant(bool is_enum_constant)
Base class for all expressions.
void set_is_global(bool is_global)
const ansi_c_declaratort & declarator() const
declaratorst & declarators()
bool get_is_static_assert() const
void set_base_name(const irep_idt &base_name)
void set_is_typedef(bool is_typedef)
irep_idt get_name() const
An expression without operands.
bool get_bool(const irep_namet &name) const
bool get_is_parameter() const
void set_is_register(bool is_register)
irep_idt get_base_name() const
void set_is_weak(bool is_weak)
void to_symbol(const ansi_c_declaratort &, symbolt &symbol) const
bool get_is_register() const
bool get_is_enum_constant() const
const irep_idt & id() const
ansi_c_declarationt & to_ansi_c_declaration(exprt &expr)
const exprt & spec_assigns() const
bool get_is_member() const
const exprt & spec_ensures() const
void set_is_thread_local(bool is_thread_local)
void set_name(const irep_idt &name)
void set_is_static(bool is_static)
bool get_is_global() const
bool get_is_extern() const
const irep_idt & get(const irep_namet &name) const
ansi_c_declaratort & declarator()
void set(const irep_namet &name, const irep_idt &value)
void set_is_static_assert(bool is_static_assert)
void set_is_extern(bool is_extern)
void output(std::ostream &) const
typet full_type(const ansi_c_declaratort &) const
void set_is_member(bool is_member)
There are a large number of kinds of tree structured or tree-like data in CPROVER.
std::vector< ansi_c_declaratort > declaratorst
API to expression classes.
void set_is_inline(bool is_inline)
void set_is_used(bool is_used)
bool get_is_inline() const