CBMC
|
Public Member Functions | |
remove_virtual_functionst (symbol_table_baset &_symbol_table, const class_hierarchyt &_class_hierarchy) | |
void | operator() (goto_functionst &functions) |
Remove virtual function calls from all functions in the specified list and replace them with their most derived implementations. | |
bool | remove_virtual_functions (const irep_idt &function_id, goto_programt &goto_program) |
Remove all virtual function calls in a GOTO program and replace them with calls to their most derived implementations. | |
Private Member Functions | |
goto_programt::targett | remove_virtual_function (const irep_idt &function_id, goto_programt &goto_program, goto_programt::targett target) |
Replace specified virtual function call with a static call to its most derived implementation. | |
Private Attributes | |
const class_hierarchyt & | class_hierarchy |
symbol_table_baset & | symbol_table |
namespacet | ns |
Definition at line 61 of file remove_virtual_functions.cpp.
|
inline |
Definition at line 64 of file remove_virtual_functions.cpp.
void remove_virtual_functionst::operator() | ( | goto_functionst & | functions | ) |
Remove virtual function calls from all functions in the specified list and replace them with their most derived implementations.
Definition at line 692 of file remove_virtual_functions.cpp.
|
private |
Replace specified virtual function call with a static call to its most derived implementation.
function_id | The identifier of the function we are currently analysing | |
[in,out] | goto_program | GOTO program to modify |
target | iterator to a function in the supplied GOTO program to replace. Must point to a virtual function call. |
Definition at line 467 of file remove_virtual_functions.cpp.
bool remove_virtual_functionst::remove_virtual_functions | ( | const irep_idt & | function_id, |
goto_programt & | goto_program | ||
) |
Remove all virtual function calls in a GOTO program and replace them with calls to their most derived implementations.
Returns true if at least one function has been replaced.
Definition at line 659 of file remove_virtual_functions.cpp.
|
private |
Definition at line 80 of file remove_virtual_functions.cpp.
|
private |
Definition at line 82 of file remove_virtual_functions.cpp.
|
private |
Definition at line 81 of file remove_virtual_functions.cpp.