Go to the documentation of this file.
27 if(c.get_statement()!=ID_label)
48 static_cast<const exprt&
>(
find(ID_declarator))));
54 if(proc_type==
"builtin")
56 else if(proc_type==
"spec")
62 symbol.
type=symbol_type;
66 static_cast<const codet&
>(
find(ID_value))));
77 throw "return label "+returns.
get_string(ID_label)+
" not found";
79 throw "throw label "+
throws.get_string(ID_label)+
" not found";
86 out <<
"Declarator: " <<
find(ID_declarator).
pretty() <<
"\n";
87 out <<
"Returns: " <<
find(ID_return).
pretty() <<
"\n";
88 out <<
"Throws: " <<
find(ID_throw).
pretty() <<
"\n";
89 out <<
"Value: " <<
find(ID_value).
pretty() <<
"\n";
94 for(itemst::const_iterator
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
A codet representing sequential composition of program statements.
The type of an expression, extends irept.
std::string pretty(unsigned indent=0, unsigned max_indent=0) const
const irept & find(const irep_idt &name) const
typet type
Type of symbol.
static symbol_exprt typeless(const irep_idt &id)
Generate a symbol_exprt without a proper type.
Base class for all expressions.
irep_idt base_name
Base (non-scoped) name.
Expression to hold a symbol (variable)
const irep_idt & get(const irep_idt &name) const
code_operandst & statements()
typet & type()
Return the type of the expression.
void output(std::ostream &out) const
const code_typet & to_code_type(const typet &type)
Cast a typet to a code_typet.
irep_idt mode
Language mode.
codet representation of a label for branch targets.
const irep_idt & get_identifier() const
const code_labelt & to_code_label(const codet &code)
static bool insert_at_label(const codet &code, const irep_idt &label, code_blockt &dest)
const std::string & get_string(const irep_idt &name) const
void to_symbol(symbolt &symbol) const
const symbol_exprt & to_symbol_expr(const exprt &expr)
Cast an exprt to a symbol_exprt.
void output(std::ostream &) const
codet representation of a "return from a function" statement.
void clear()
Zero initialise a symbol object.
const irep_idt & get_label() const
exprt value
Initial value of symbol.
source_locationt location
Source code location of definition of symbol.
A side_effect_exprt representation of a side effect that throws an exception.
const code_blockt & to_code_block(const codet &code)
There are a large number of kinds of tree structured or tree-like data in CPROVER.
const irep_idt & get_statement() const
const source_locationt & source_location() const
irep_idt name
The unique identifier.
codet representation of an expression statement.
Data structure for representing an arbitrary statement in a program.