CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
fresh_symbol.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Fresh auxiliary symbol creation
4
5Author: Chris Smowton, chris.smowton@diffblue.com
6
7\*******************************************************************/
8
11
12#ifndef CPROVER_UTIL_FRESH_SYMBOL_H
13#define CPROVER_UTIL_FRESH_SYMBOL_H
14
15#include <string>
16
17#include "irep.h"
18
19class namespacet;
21class symbolt;
23class typet;
24
25#if defined(__GNUC__) && __GNUC__ >= 14
27#endif
28symbolt &
30 const typet &type,
31 const std::string &name_prefix,
32 const std::string &basename_prefix,
34 const irep_idt &symbol_mode,
35 symbol_table_baset &symbol_table);
36
37#if defined(__GNUC__) && __GNUC__ >= 14
39#endif
40symbolt &
42 const typet &type,
43 const std::string &name_prefix,
44 const std::string &basename_prefix,
46 const irep_idt &symbol_mode,
47 const namespacet &ns,
48 symbol_table_baset &symbol_table);
49
50#endif // CPROVER_UTIL_FRESH_SYMBOL_H
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
ait()
Definition ai.h:565
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Definition dstring.h:38
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition namespace.h:91
The symbol table base class interface.
Symbol table entry.
Definition symbol.h:28
The type of an expression, extends irept.
Definition type.h:29
const source_locationt & source_location() const
Definition type.h:72
symbolt & get_fresh_aux_symbol(const typet &type, const std::string &name_prefix, const std::string &basename_prefix, const source_locationt &source_location, const irep_idt &symbol_mode, symbol_table_baset &symbol_table)
Installs a fresh-named symbol with the requested name pattern in the given symbol table.