50 static_cast<const exprt&>(
find(ID_declarator))));
56 if(proc_type==
"builtin")
58 else if(proc_type==
"spec")
64 symbol.
type=symbol_type;
68 static_cast<const codet&>(
find(ID_value))));
79 throw "return label "+returns.
get_string(ID_label)+
" not found";
81 throw "throw label "+
throws.get_string(ID_label)+
" not found";
88 out <<
"Declarator: " <<
find(ID_declarator).
pretty() <<
"\n";
89 out <<
"Returns: " <<
find(ID_return).
pretty() <<
"\n";
90 out <<
"Throws: " <<
find(ID_throw).
pretty() <<
"\n";
91 out <<
"Value: " <<
find(ID_value).
pretty() <<
"\n";
96 for(itemst::const_iterator
const irep_idt & get_statement() const
irep_idt name
The unique identifier.
std::string pretty(unsigned indent=0, unsigned max_indent=0) const
irep_idt mode
Language mode.
const code_typet & to_code_type(const typet &type)
Cast a generic typet to a code_typet.
const irep_idt & get_identifier() const
void to_symbol(symbolt &symbol) const
exprt value
Initial value of symbol.
Symbol table entry.This is a symbol in the symbol table, stored in an object of type symbol_tablet...
A side effect that throws an exception.
const irep_idt & get(const irep_namet &name) const
A label for branch targets.
Base class for tree-like data structures with sharing.
const symbol_exprt & to_symbol_expr(const exprt &expr)
Cast a generic exprt to a symbol_exprt.
dstringt has one field, an unsigned integer no which is an index into a static table of strings...
void output(std::ostream &out) const
static bool insert_at_label(const codet &code, const irep_idt &label, code_blockt &dest)
typet type
Type of symbol.
source_locationt location
Source code location of definition of symbol.
irep_idt base_name
Base (non-scoped) name.
const source_locationt & source_location() const
const std::string & get_string(const irep_namet &name) const
#define Forall_operands(it, expr)
const codet & to_code(const exprt &expr)
const irep_idt & get_label() const
Expression to hold a symbol (variable)
const code_blockt & to_code_block(const codet &code)
A statement in a programming language.
const code_labelt & to_code_label(const codet &code)
void output(std::ostream &) const
const irept & find(const irep_namet &name) const