31 const std::string &callercallee,
32 std::vector<std::string> &result)
35 return (result.size()!= 2);
40 const std::string &callercallee,
46 std::vector<std::string> caller_callee;
49 message.
error() <<
"Expecting two function names separated by a comma" 53 goto_functionst::function_mapt::iterator caller_fun=
55 goto_functionst::function_mapt::const_iterator callee_fun=
62 if(!caller_fun->second.body_available())
73 caller_fun->second.body.instructions.begin();
75 caller_fun->second.body.insert_before(start);
Goto Programs with Functions.
function_mapt function_map
static mstreamt & eom(mstreamt &m)
instructionst::iterator targett
instructionst::const_iterator const_targett
Abstract interface to support a programming language.
void split_string(const std::string &s, char delim, std::vector< std::string > &result, bool strip, bool remove_empty)
Given a string s, split into a sequence of substrings when separated by specified delimiter...
Harnessing for goto functions.
static bool parse_caller_callee(const std::string &callercallee, std::vector< std::string > &result)
goto_programt coverage_criteriont message_handlert & message_handler
bool lookup(const irep_idt &name, const symbolt *&symbol) const override
See namespace_baset::lookup().
const code_function_callt & to_code_function_call(const codet &code)
bool splice_call(goto_functionst &goto_functions, const std::string &callercallee, const symbol_tablet &symbol_table, message_handlert &message_handler)