31 if(t.
id() == ID_typedef_type || t.
id() == ID_symbol)
43 else if(t.
id()==ID_abstract)
48 else if(t.
id()==ID_merged_type)
52 p = &merged_type.last_type();
68 out <<
" is_enum_constant";
72 out <<
" is_parameter";
76 out <<
" is_register";
78 out <<
" is_thread_local";
84 out <<
" is_static_assert";
102 if(p->
id()==ID_frontend_pointer || p->
id()==ID_array ||
103 p->
id()==ID_vector || p->
id()==ID_c_bit_field ||
104 p->
id()==ID_block_pointer || p->
id()==ID_code)
106 else if(p->
id()==ID_merged_type)
110 p = &merged_type.last_type();
ANSI-CC Language Type Checking.
bool get_is_extern() const
bool get_is_parameter() const
bool get_is_inline() const
typet full_type(const ansi_c_declaratort &) const
bool get_is_enum_constant() const
bool get_is_static() const
const ansi_c_declaratort & declarator() const
void to_symbol(const ansi_c_declaratort &, symbolt &symbol) const
const declaratorst & declarators() const
bool get_is_register() const
bool get_is_global() const
bool get_is_thread_local() const
bool get_is_typedef() const
bool get_is_static_assert() const
void output(std::ostream &) const
void set_base_name(const irep_idt &base_name)
irep_idt get_base_name() const
irep_idt get_name() const
void set_inlined(bool value)
struct configt::ansi_ct ansi_c
source_locationt & add_source_location()
const source_locationt & source_location() const
typet & type()
Return the type of the expression.
There are a large number of kinds of tree structured or tree-like data in CPROVER.
std::string pretty(unsigned indent=0, unsigned max_indent=0) const
void set(const irep_namet &name, const irep_idt &value)
const irep_idt & id() const
const irep_idt & get(const irep_namet &name) const
irep_idt base_name
Base (non-scoped) name.
void clear()
Zero initialise a symbol object.
source_locationt location
Source code location of definition of symbol.
typet type
Type of symbol.
irep_idt name
The unique identifier.
irep_idt pretty_name
Language-specific display name.
exprt value
Initial value of symbol.
The type of an expression, extends irept.
const source_locationt & source_location() const
const typet & subtype() const
const merged_typet & to_merged_type(const typet &type)
conversion to merged_typet
#define UNREACHABLE
This should be used to mark dead code.
const code_typet & to_code_type(const typet &type)
Cast a typet to a code_typet.