Go to the documentation of this file.
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 ns.
lookup(callee_fun->first).symbol_expr());
76 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 const char * message(const static_verifier_resultt::statust &status)
Makes a status message string from a status.
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)
Abstract interface to support a programming language.
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)