cprover
|
A statement in a programming language. More...
#include <std_code.h>
Public Member Functions | |
codet () | |
codet (const irep_idt &statement) | |
void | set_statement (const irep_idt &statement) |
const irep_idt & | get_statement () const |
codet & | first_statement () |
const codet & | first_statement () const |
codet & | last_statement () |
const codet & | last_statement () const |
class code_blockt & | make_block () |
![]() | |
exprt () | |
exprt (const irep_idt &_id) | |
exprt (const irep_idt &_id, const typet &_type) | |
typet & | type () |
const typet & | type () const |
bool | has_operands () const |
operandst & | operands () |
const operandst & | operands () const |
exprt & | op0 () |
exprt & | op1 () |
exprt & | op2 () |
exprt & | op3 () |
const exprt & | op0 () const |
const exprt & | op1 () const |
const exprt & | op2 () const |
const exprt & | op3 () const |
void | reserve_operands (operandst::size_type n) |
void | move_to_operands (exprt &expr) |
void | move_to_operands (exprt &e1, exprt &e2) |
void | move_to_operands (exprt &e1, exprt &e2, exprt &e3) |
void | copy_to_operands (const exprt &expr) |
void | copy_to_operands (const exprt &e1, const exprt &e2) |
void | copy_to_operands (const exprt &e1, const exprt &e2, const exprt &e3) |
void | make_typecast (const typet &_type) |
void | make_not () |
void | make_true () |
void | make_false () |
void | make_bool (bool value) |
bool | is_constant () const |
bool | is_true () const |
bool | is_false () const |
bool | is_zero () const |
bool | is_one () const |
bool | is_boolean () const |
const source_locationt & | find_source_location () const |
const source_locationt & | source_location () const |
source_locationt & | add_source_location () |
exprt & | add_expr (const irep_idt &name) |
const exprt & | find_expr (const irep_idt &name) const |
void | visit (class expr_visitort &visitor) |
void | visit (class const_expr_visitort &visitor) const |
depth_iteratort | depth_begin () |
depth_iteratort | depth_end () |
const_depth_iteratort | depth_begin () const |
const_depth_iteratort | depth_end () const |
const_depth_iteratort | depth_cbegin () const |
const_depth_iteratort | depth_cend () const |
depth_iteratort | depth_begin (std::function< exprt &()> mutate_root) const |
const_unique_depth_iteratort | unique_depth_begin () const |
const_unique_depth_iteratort | unique_depth_end () const |
const_unique_depth_iteratort | unique_depth_cbegin () const |
const_unique_depth_iteratort | unique_depth_cend () const |
![]() | |
bool | is_nil () const |
bool | is_not_nil () const |
irept (const irep_idt &_id) | |
irept () | |
irept (const irept &irep) | |
irept (irept &&irep) | |
irept & | operator= (const irept &irep) |
irept & | operator= (irept &&irep) |
~irept () | |
const irep_idt & | id () const |
const std::string & | id_string () const |
void | id (const irep_idt &_data) |
const irept & | find (const irep_namet &name) const |
irept & | add (const irep_namet &name) |
irept & | add (const irep_namet &name, const irept &irep) |
const std::string & | get_string (const irep_namet &name) const |
const irep_idt & | get (const irep_namet &name) const |
bool | get_bool (const irep_namet &name) const |
signed int | get_int (const irep_namet &name) const |
unsigned int | get_unsigned_int (const irep_namet &name) const |
std::size_t | get_size_t (const irep_namet &name) const |
long long | get_long_long (const irep_namet &name) const |
void | set (const irep_namet &name, const irep_idt &value) |
void | set (const irep_namet &name, const irept &irep) |
void | set (const irep_namet &name, const long long value) |
void | remove (const irep_namet &name) |
void | move_to_sub (irept &irep) |
void | move_to_named_sub (const irep_namet &name, irept &irep) |
bool | operator== (const irept &other) const |
bool | operator!= (const irept &other) const |
void | swap (irept &irep) |
bool | operator< (const irept &other) const |
defines ordering on the internal representation More... | |
bool | ordering (const irept &other) const |
defines ordering on the internal representation More... | |
int | compare (const irept &i) const |
defines ordering on the internal representation More... | |
void | clear () |
void | make_nil () |
subt & | get_sub () |
const subt & | get_sub () const |
named_subt & | get_named_sub () |
const named_subt & | get_named_sub () const |
named_subt & | get_comments () |
const named_subt & | get_comments () const |
std::size_t | hash () const |
std::size_t | full_hash () const |
bool | full_eq (const irept &other) const |
std::string | pretty (unsigned indent=0, unsigned max_indent=0) const |
const dt & | read () const |
dt & | write () |
Additional Inherited Members | |
![]() | |
typedef std::vector< exprt > | operandst |
![]() | |
typedef std::vector< irept > | subt |
typedef std::map< irep_namet, irept > | named_subt |
![]() | |
void | detach () |
![]() | |
static bool | is_comment (const irep_namet &name) |
static void | remove_ref (dt *old_data) |
static void | nonrecursive_destructor (dt *old_data) |
Does the same as remove_ref, but using an explicit stack instead of recursion. More... | |
![]() | |
dt * | data |
![]() | |
static dt | empty_d |
A statement in a programming language.
Definition at line 21 of file std_code.h.
|
inline |
Definition at line 25 of file std_code.h.
Referenced by make_block().
|
inlineexplicit |
Definition at line 29 of file std_code.h.
References set_statement().
codet & codet::first_statement | ( | ) |
Definition at line 38 of file std_code.cpp.
References first_statement(), get_statement(), exprt::has_operands(), exprt::op0(), and to_code().
Referenced by first_statement().
const codet & codet::first_statement | ( | ) | const |
Definition at line 53 of file std_code.cpp.
References first_statement(), get_statement(), exprt::has_operands(), exprt::op0(), and to_code().
|
inline |
Definition at line 40 of file std_code.h.
Referenced by value_sett::apply_code_rec(), goto_program2codet::cleanup_code(), goto_program2codet::cleanup_code_block(), goto_program2codet::cleanup_code_ifthenelse(), dump_ct::cleanup_expr(), dump_ct::cleanup_harness(), goto_convertt::convert(), jsil_convertt::convert_code(), expr2ct::convert_code(), expr2ct::convert_code_dowhile(), expr2ct::convert_code_for(), expr2ct::convert_code_ifthenelse(), expr2ct::convert_code_switch_case(), expr2ct::convert_code_while(), goto_convertt::convert_cpp_delete(), goto_convert_functionst::convert_function(), java_bytecode_convert_methodt::convert_getstatic(), goto_program2codet::convert_goto_while(), java_bytecode_convert_methodt::convert_instructions(), java_bytecode_convert_methodt::convert_invoke(), java_bytecode_convert_methodt::convert_new(), java_bytecode_convert_methodt::convert_putstatic(), goto_program2codet::convert_start_thread(), goto_convertt::convert_switch(), convert_threadblock(), expr2javat::convert_with_precedence(), find_block_position_rec(), code_blockt::find_last_statement(), goto_convertt::finish_gotos(), first_statement(), ci_lazy_methodst::gather_virtual_callsites(), java_bytecode_convert_methodt::get_or_create_block_for_pcrange(), goto_checkt::goto_check(), has_labels(), insert_at_label(), mm2cppt::instruction2cpp(), java_bytecode_instrumentt::instrument_code(), is_fence(), is_lwfence(), last_statement(), make_block(), monitor_exits(), move_label_ifthenelse(), goto_programt::output_instruction(), java_bytecode_instrumentt::prepend_instrumentation(), goto_convertt::remove_statement_expression(), java_bytecode_convert_methodt::replace_goto_target(), Parser::rTryStatement(), goto_symext::symex_other(), to_code_asm(), to_code_assert(), to_code_assign(), to_code_assume(), to_code_block(), to_code_break(), to_code_continue(), to_code_dead(), to_code_decl(), to_code_dowhile(), to_code_expression(), to_code_for(), to_code_function_call(), to_code_goto(), to_code_ifthenelse(), to_code_label(), to_code_landingpad(), to_code_pop_catch(), to_code_push_catch(), to_code_return(), to_code_switch(), to_code_switch_case(), to_code_try_catch(), to_code_while(), custom_bitvector_domaint::transform(), c_typecheck_baset::typecheck_block(), java_bytecode_typecheckt::typecheck_code(), jsil_typecheckt::typecheck_code(), c_typecheck_baset::typecheck_code(), cpp_typecheckt::typecheck_code(), cpp_typecheckt::typecheck_compound_declarator(), c_typecheck_baset::typecheck_dowhile(), c_typecheck_baset::typecheck_ifthenelse(), cpp_typecheckt::typecheck_switch(), c_typecheck_baset::typecheck_while(), instrumentert::cfg_visitort::visit_cfg_function(), shared_bufferst::cfg_visitort::weak_memory(), and wp().
codet & codet::last_statement | ( | ) |
Definition at line 68 of file std_code.cpp.
References get_statement(), exprt::has_operands(), last_statement(), exprt::operands(), and to_code().
Referenced by last_statement().
const codet & codet::last_statement | ( | ) | const |
Definition at line 83 of file std_code.cpp.
References get_statement(), exprt::has_operands(), last_statement(), exprt::operands(), and to_code().
code_blockt & codet::make_block | ( | ) |
Definition at line 24 of file std_code.cpp.
References codet(), get_statement(), exprt::move_to_operands(), and irept::swap().
Referenced by java_bytecode_convert_methodt::convert_instructions(), cpp_typecheckt::move_member_initializers(), and cpp_typecheckt::typecheck_compound_declarator().
|
inline |
Definition at line 35 of file std_code.h.
Referenced by goto_program2codet::cleanup_code(), codet(), goto_convertt::convert_init(), copy_parent(), cpp_typecheckt::cpp_destructor(), goto_convertt::do_scanf(), Parser::rMSC_tryStatement(), Parser::rStatement(), Parser::rTryStatement(), c_typecheck_baset::typecheck_decl(), and yyjsilparse().