CBMC
call_graph_test_utils.cpp
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Call graph test utils
4 
5 Author: Chris Smowton, chris.smowton@diffblue.com
6 
7 \*******************************************************************/
8 
10 
11 #include <util/std_code_base.h>
12 
13 symbolt
14 create_void_function_symbol(const irep_idt &name, const codet &code)
15 {
16  const code_typet void_function_type({}, empty_typet());
17  symbolt function{name, void_function_type, ID_java};
18  function.value = code;
19  return function;
20 }
21 
23  const std::multimap<irep_idt, irep_idt> &map,
24  const irep_idt &key,
25  const std::set<irep_idt> &values)
26 {
27  auto matching_values = map.equal_range(key);
28  std::set<irep_idt> matching_set;
29  for(auto it = matching_values.first; it != matching_values.second; ++it)
30  matching_set.insert(it->second);
31  return matching_set == values;
32 }
symbolt create_void_function_symbol(const irep_idt &name, const codet &code)
bool multimap_key_matches(const std::multimap< irep_idt, irep_idt > &map, const irep_idt &key, const std::set< irep_idt > &values)
Base type of functions.
Definition: std_types.h:583
Data structure for representing an arbitrary statement in a program.
Definition: std_code_base.h:29
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Definition: dstring.h:38
The empty type.
Definition: std_types.h:51
Symbol table entry.
Definition: symbol.h:28