cprover
replace_calls.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Replace calls
4 
5 Author: Daniel Poetzl
6 
7 \*******************************************************************/
8 
12 
13 #ifndef CPROVER_GOTO_PROGRAMS_REPLACE_CALLS_H
14 #define CPROVER_GOTO_PROGRAMS_REPLACE_CALLS_H
15 
16 #include "goto_model.h"
17 
19 {
20 public:
21  typedef std::list<std::string> replacement_listt;
22  typedef std::map<irep_idt, irep_idt> replacement_mapt;
23 
24  void operator()(
25  goto_modelt &goto_model,
26  const replacement_listt &replacement_list) const;
27 
28  void operator()(
29  goto_modelt &goto_model,
30  const replacement_mapt &replacement_map) const;
31 
32 protected:
33  void operator()(
35  const goto_functionst &goto_functions,
36  const namespacet &ns,
37  const replacement_mapt &replacement_map) const;
38 
40  parse_replacement_list(const replacement_listt &replacement_list) const;
41 
43  const replacement_mapt &replacement_map,
44  const goto_functionst &goto_functions,
45  const namespacet &ns) const;
46 };
47 
48 #define OPT_REPLACE_CALLS "(replace-calls):"
49 
50 #define HELP_REPLACE_CALLS \
51  " --replace-calls f:g replace calls to f with calls to g\n"
52 
53 #endif // CPROVER_GOTO_PROGRAMS_REPLACE_CALLS_H
void check_replacement_map(const replacement_mapt &replacement_map, const goto_functionst &goto_functions, const namespacet &ns) const
replacement_mapt parse_replacement_list(const replacement_listt &replacement_list) const
Symbol Table + CFG.
void operator()(goto_modelt &goto_model, const replacement_listt &replacement_list) const
Replace function calls with calls to other functions.
TO_BE_DOCUMENTED.
Definition: namespace.h:74
A generic container class for the GOTO intermediate representation of one function.
Definition: goto_program.h:70
goto_programt & goto_program
Definition: cover.cpp:63
std::list< std::string > replacement_listt
Definition: replace_calls.h:21
std::map< irep_idt, irep_idt > replacement_mapt
Definition: replace_calls.h:22