cprover
|
Function Entering and Exiting. More...
#include "function.h"
#include <util/arith_tools.h>
#include <util/cprover_prefix.h>
#include <util/prefix.h>
#include <util/std_expr.h>
#include <util/c_types.h>
#include <ansi-c/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 (symbol_tablet &symbol_table, goto_functionst &goto_functions, const irep_idt &id) |
void | function_exit (symbol_tablet &symbol_table, goto_functionst &goto_functions, const irep_idt &id) |
Function Entering and Exiting.
Definition in file function.cpp.
void function_enter | ( | symbol_tablet & | symbol_table, |
goto_functionst & | goto_functions, | ||
const irep_idt & | id | ||
) |
Definition at line 81 of file function.cpp.
References CPROVER_PREFIX, Forall_goto_functions, function_to_call(), has_prefix(), id2string(), goto_program_templatet< codeT, guardT >::insert_before(), and goto_program_templatet< codeT, guardT >::instructions.
Referenced by goto_instrument_parse_optionst::instrument_goto_program().
void function_exit | ( | symbol_tablet & | symbol_table, |
goto_functionst & | goto_functions, | ||
const irep_idt & | id | ||
) |
Definition at line 108 of file function.cpp.
References goto_program_templatet< codeT, guardT >::add_instruction(), CPROVER_PREFIX, END_FUNCTION, Forall_goto_functions, Forall_goto_program_instructions, function_to_call(), has_prefix(), id2string(), goto_program_templatet< codeT, guardT >::insert_before_swap(), and goto_program_templatet< codeT, guardT >::instructions.
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 22 of file function.cpp.
References code_function_callt::arguments(), symbolt::base_name, char_type(), from_integer(), code_function_callt::function(), id2string(), index_type(), code_function_callt::lhs(), irept::make_nil(), symbol_tablet::move(), symbolt::name, code_typet::parameters(), pointer_type(), code_typet::return_type(), irept::set(), typet::subtype(), symbol_tablet::symbols, to_code_type(), and symbolt::type.
Referenced by branch(), function_enter(), and function_exit().