Go to the documentation of this file.
27 const std::string &callercallee,
28 std::vector<std::string> &result)
31 return result.size() != 2;
36 const std::string &callercallee,
42 std::vector<std::string> caller_callee;
45 message.
error() <<
"Expecting two function names separated by a comma"
49 goto_functionst::function_mapt::iterator caller_fun=
51 goto_functionst::function_mapt::const_iterator callee_fun=
58 if(!caller_fun->second.body_available())
69 caller_fun->second.body.instructions.begin();
71 ns.
lookup(callee_fun->first).symbol_expr());
72 caller_fun->second.body.insert_before(
Class that provides messages with a built-in verbosity 'level'.
bool splice_call(goto_functionst &goto_functions, const std::string &callercallee, const symbol_tablet &symbol_table, message_handlert &message_handler)
function_mapt function_map
Harnessing for goto functions.
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
static instructiont make_function_call(const code_function_callt &_code, const source_locationt &l=source_locationt::nil())
Create a function call instruction.
bool lookup(const irep_idt &name, const symbolt *&symbol) const override
See documentation for namespace_baset::lookup().
codet representation of a function call statement.
void split_string(const std::string &s, char delim, std::vector< std::string > &result, bool strip, bool remove_empty)
A collection of goto functions.
Goto Programs with Functions.
instructionst::const_iterator const_targett
static bool parse_caller_callee(const std::string &callercallee, std::vector< std::string > &result)