CBMC
|
Mangles the names in an entire program and its symbol table. More...
#include <name_mangler.h>
Public Member Functions | |
function_name_manglert (message_handlert &mh, goto_modelt &gm, const std::string &extra_info) | |
void | mangle () |
Mangle all file-local function symbols in the program. More... | |
Protected Attributes | |
messaget | log |
goto_modelt & | model |
MangleFun | mangle_fun |
const std::string & | extra_info |
Mangles the names in an entire program and its symbol table.
The type parameter to this class should be a functor that has a no-arg constructor and an operator()
override with the following signature:
irep_idt operator()(const symbolt &, const std::string &);
The return type doesn't actually have to be an irep_idt, just something that can be assigned to one. The function is expected to return the mangled name of its symbolt argument, incorporating the second argument into the mangled name if possible.
Definition at line 30 of file name_mangler.h.
|
inline |
mh | handler to construct a log from |
gm | mangle all names in gm's symbol table and goto program |
extra_info | a string to be included in each mangled name |
Definition at line 36 of file name_mangler.h.
|
inline |
Mangle all file-local function symbols in the program.
The way in which the symbols will be mangled is decided by which mangler type this object is instantiated with, e.g. DJB_manglert mangles the path name by hashing it.
Definition at line 49 of file name_mangler.h.
|
protected |
Definition at line 142 of file name_mangler.h.
|
mutableprotected |
Definition at line 139 of file name_mangler.h.
|
protected |
Definition at line 141 of file name_mangler.h.
|
protected |
Definition at line 140 of file name_mangler.h.