cprover
function_modifies.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Modifies
4 
5 Author: Daniel Kroening, kroening@kroening.com
6 
7 \*******************************************************************/
8 
11 
12 #ifndef CPROVER_GOTO_INSTRUMENT_FUNCTION_MODIFIES_H
13 #define CPROVER_GOTO_INSTRUMENT_FUNCTION_MODIFIES_H
14 
17 
19 {
20 public:
21  explicit function_modifiest(const goto_functionst &_goto_functions):
22  goto_functions(_goto_functions)
23  {
24  }
25 
26  typedef std::set<exprt> modifiest;
27 
28  void get_modifies(
29  const local_may_aliast &local_may_alias,
31  modifiest &);
32 
34  const exprt &,
35  modifiest &);
36 
37  void operator()(const exprt &function, modifiest &modifies)
38  {
39  get_modifies_function(function, modifies);
40  }
41 
42 protected:
44 
45  typedef std::map<irep_idt, modifiest> function_mapt;
47 };
48 
49 #endif // CPROVER_GOTO_INSTRUMENT_FUNCTION_MODIFIES_H
Base class for all expressions.
Definition: expr.h:54
const goto_functionst & goto_functions
function_mapt function_map
std::set< exprt > modifiest
void get_modifies_function(const exprt &, modifiest &)
std::map< irep_idt, modifiest > function_mapt
void operator()(const exprt &function, modifiest &modifies)
function_modifiest(const goto_functionst &_goto_functions)
void get_modifies(const local_may_aliast &local_may_alias, const goto_programt::const_targett, modifiest &)
A collection of goto functions.
instructionst::const_iterator const_targett
Definition: goto_program.h:551
Goto Programs with Functions.
Field-insensitive, location-sensitive may-alias analysis.