|
CBMC
|
Collaboration diagram for remove_virtual_functionst: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.