|
cprover
|
Public Member Functions | |
| get_virtual_calleest (const symbol_table_baset &_symbol_table, const class_hierarchyt &_class_hierarchy) | |
| void | get_functions (const exprt &, dispatch_table_entriest &) const |
| Used to get dispatch entries to call for the given function. | |
Private Types | |
| typedef std::function< std::optional< resolve_inherited_componentt::inherited_componentt >(const irep_idt &, const irep_idt &)> | function_call_resolvert |
Private Member Functions | |
| void | get_child_functions_rec (const irep_idt &, const std::optional< symbol_exprt > &, const irep_idt &, dispatch_table_entriest &, dispatch_table_entries_mapt &) const |
| Used by get_functions to track the most-derived parent that provides an override of a given function. | |
| exprt | get_method (const irep_idt &class_id, const irep_idt &component_name) const |
| Returns symbol pointing to a specified method in a specified class. | |
Private Attributes | |
| const namespacet | ns |
| const symbol_table_baset & | symbol_table |
| const class_hierarchyt & | class_hierarchy |
Definition at line 26 of file remove_virtual_functions.cpp.
|
private |
Definition at line 50 of file remove_virtual_functions.cpp.
|
inline |
Definition at line 29 of file remove_virtual_functions.cpp.
|
private |
Used by get_functions to track the most-derived parent that provides an override of a given function.
| this_id | class name | |
| last_method_defn | the most-derived parent of this_id to define the requested function | |
| component_name | name of the function searched for | |
| [out] | functions | functions is assigned a list of {class name, function symbol} pairs indicating that if this is of the given class, then the call will target the given function. Thus if A <: B <: C and A and C provide overrides of f (but B does not), get_child_functions_rec("C", C.f, "f") -> [{"C", C.f}, {"B", C.f}, {"A", A.f}] |
| entry_map | map of class identifiers to dispatch table entries |
Definition at line 507 of file remove_virtual_functions.cpp.
| void get_virtual_calleest::get_functions | ( | const exprt & | function, |
| dispatch_table_entriest & | functions ) const |
Used to get dispatch entries to call for the given function.
| function | function that should be called | |
| [out] | functions | is assigned a list of dispatch entries, i.e., pairs of class names and function symbol to call when encountering the class. |
Definition at line 569 of file remove_virtual_functions.cpp.
|
private |
Returns symbol pointing to a specified method in a specified class.
| class_id | Class identifier to look up |
| component_name | Name of the function to look up |
Definition at line 641 of file remove_virtual_functions.cpp.
|
private |
Definition at line 44 of file remove_virtual_functions.cpp.
|
private |
Definition at line 41 of file remove_virtual_functions.cpp.
|
private |
Definition at line 42 of file remove_virtual_functions.cpp.