cprover
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 symbolt
12 create_void_function_symbol(const irep_idt &name, const codet &code)
13 {
14  const code_typet void_function_type({}, empty_typet());
15  symbolt function;
16  function.name = name;
17  function.type = void_function_type;
18  function.mode = ID_java;
19  function.value = code;
20  return function;
21 }
22 
24  const std::multimap<irep_idt, irep_idt> &map,
25  const irep_idt &key,
26  const std::set<irep_idt> &values)
27 {
28  auto matching_values = map.equal_range(key);
29  std::set<irep_idt> matching_set;
30  for(auto it = matching_values.first; it != matching_values.second; ++it)
31  matching_set.insert(it->second);
32  return matching_set == values;
33 }
dstringt
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Definition: dstring.h:37
empty_typet
The empty type.
Definition: std_types.h:46
code_typet
Base type of functions.
Definition: std_types.h:736
call_graph_test_utils.h
symbolt
Symbol table entry.
Definition: symbol.h:28
create_void_function_symbol
symbolt create_void_function_symbol(const irep_idt &name, const codet &code)
Definition: call_graph_test_utils.cpp:12
symbolt::name
irep_idt name
The unique identifier.
Definition: symbol.h:40
multimap_key_matches
bool multimap_key_matches(const std::multimap< irep_idt, irep_idt > &map, const irep_idt &key, const std::set< irep_idt > &values)
Definition: call_graph_test_utils.cpp:23
codet
Data structure for representing an arbitrary statement in a program.
Definition: std_code.h:35