cprover
|
Function Entering and Exiting. More...
#include "function.h"
#include <util/arith_tools.h>
#include <util/c_types.h>
#include <util/cprover_prefix.h>
#include <util/prefix.h>
#include <util/std_expr.h>
#include <util/string_constant.h>
Go to the source code of this file.
Functions | |
code_function_callt | function_to_call (symbol_tablet &symbol_table, const irep_idt &id, const irep_idt &argument) |
void | function_enter (goto_modelt &goto_model, const irep_idt &id) |
void | function_exit (goto_modelt &goto_model, const irep_idt &id) |
Function Entering and Exiting.
Definition in file function.cpp.
void function_enter | ( | goto_modelt & | goto_model, |
const irep_idt & | id | ||
) |
Definition at line 77 of file function.cpp.
References CPROVER_PREFIX, Forall_goto_functions, function_to_call(), goto_modelt::goto_functions, has_prefix(), id2string(), goto_programt::insert_before(), goto_programt::instructions, and goto_modelt::symbol_table.
Referenced by goto_instrument_parse_optionst::instrument_goto_program().
void function_exit | ( | goto_modelt & | goto_model, |
const irep_idt & | id | ||
) |
Definition at line 103 of file function.cpp.
References goto_programt::add_instruction(), CPROVER_PREFIX, END_FUNCTION, Forall_goto_functions, Forall_goto_program_instructions, goto_programt::instructiont::function, function_to_call(), goto_modelt::goto_functions, has_prefix(), id2string(), goto_programt::insert_before_swap(), goto_programt::instructions, goto_programt::instructiont::make_function_call(), and goto_modelt::symbol_table.
Referenced by goto_instrument_parse_optionst::instrument_goto_program().
code_function_callt function_to_call | ( | symbol_tablet & | symbol_table, |
const irep_idt & | id, | ||
const irep_idt & | argument | ||
) |
Definition at line 21 of file function.cpp.
References code_function_callt::arguments(), char_type(), from_integer(), code_function_callt::function(), id2string(), index_type(), symbol_tablet::insert(), code_function_callt::lhs(), irept::make_nil(), symbolt::name, code_typet::parameters(), pointer_type(), irept::set(), typet::subtype(), symbol_table_baset::symbols, and to_code_type().
Referenced by branch(), function_enter(), and function_exit().