32 if(t.
id() == ID_typedef_type || t.
id() == ID_symbol)
44 else if(t.
id()==ID_abstract)
49 else if(t.
id()==ID_merged_type)
53 p = &merged_type.last_type();
69 out <<
" is_enum_constant";
73 out <<
" is_parameter";
77 out <<
" is_register";
79 out <<
" is_thread_local";
85 out <<
" is_static_assert";
103 if(p->
id()==ID_frontend_pointer || p->
id()==ID_array ||
104 p->
id()==ID_vector || p->
id()==ID_c_bit_field ||
105 p->
id()==ID_block_pointer || p->
id()==ID_code)
109 else if(p->
id()==ID_merged_type)
113 p = &merged_type.last_type();
133 symbol.pretty_name=symbol.name;
147 if(
type.
id() == ID_code && !symbol.is_type)
149 symbol.is_static_lifetime=
false;
150 symbol.is_thread_local=
false;
169 symbol.is_extern=
false;
171 symbol.is_file_local=
true;
177 symbol.is_static_lifetime=
182 symbol.is_thread_local=
186 symbol.is_file_local =
ANSI-CC Language Type Checking.
symbolt to_symbol(const ansi_c_declaratort &) const
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
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
const irep_idt & get(const irep_idt &name) const
void set(const irep_idt &name, const irep_idt &value)
const irep_idt & id() const
The type of an expression, extends irept.
const source_locationt & source_location() 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.