12 #ifndef CPROVER_ANSI_C_ANSI_C_DECLARATION_H
13 #define CPROVER_ANSI_C_ANSI_C_DECLARATION_H
28 return static_cast<exprt &
>(
add(ID_value));
33 return static_cast<const exprt &
>(
find(ID_value));
38 return set(ID_name, name);
48 return get(ID_base_name);
53 return set(ID_base_name, base_name);
85 set(ID_is_typedef, is_typedef);
90 return get_bool(ID_is_enum_constant);
95 set(ID_is_enum_constant, is_enum_constant);
105 set(ID_is_static, is_static);
115 set(ID_is_parameter, is_parameter);
125 set(ID_is_member, is_member);
135 set(ID_is_global, is_global);
145 set(ID_is_register, is_register);
150 return get_bool(ID_is_thread_local);
155 set(ID_is_thread_local, is_thread_local);
165 set(ID_is_inline, is_inline);
175 set(ID_is_extern, is_extern);
180 return get_bool(ID_is_static_assert);
185 set(ID_is_static_assert, is_static_assert);
195 set(ID_is_weak, is_weak);
227 void output(std::ostream &)
const;
ansi_c_declaratort & to_ansi_c_declarator(exprt &expr)
ansi_c_declarationt & to_ansi_c_declaration(exprt &expr)
void set_is_thread_local(bool is_thread_local)
void set_is_enum_constant(bool is_enum_constant)
bool get_is_member() const
void set_is_weak(bool is_weak)
symbolt to_symbol(const ansi_c_declaratort &) const
void set_is_parameter(bool is_parameter)
bool get_is_extern() const
bool get_is_parameter() const
void add_initializer(exprt &value)
bool get_is_inline() const
std::vector< ansi_c_declaratort > declaratorst
void set_is_static_assert(bool is_static_assert)
void set_is_register(bool is_register)
void set_is_inline(bool is_inline)
typet full_type(const ansi_c_declaratort &) const
bool get_is_enum_constant() const
void set_is_member(bool is_member)
bool get_is_static() const
const ansi_c_declaratort & declarator() const
declaratorst & declarators()
void set_is_global(bool is_global)
const declaratorst & declarators() const
bool get_is_register() const
void set_is_extern(bool is_extern)
bool get_is_global() const
bool get_is_thread_local() const
bool get_is_typedef() const
ansi_c_declaratort & declarator()
void set_is_typedef(bool is_typedef)
bool get_is_static_assert() const
void output(std::ostream &) const
void set_is_static(bool is_static)
const exprt & value() const
void set_base_name(const irep_idt &base_name)
void set_name(const irep_idt &name)
irep_idt get_base_name() const
irep_idt get_name() const
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Base class for all expressions.
There are a large number of kinds of tree structured or tree-like data in CPROVER.
bool get_bool(const irep_idt &name) 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)
An expression without operands.
The type of an expression, extends irept.
#define PRECONDITION(CONDITION)
API to expression classes.