CBMC
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
remove_virtual_functionst Class Reference
+ Collaboration diagram for remove_virtual_functionst:

Public Member 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

  Replace specified virtual function call with a static call to its most derived implementation.
 

Private Attributes

 
 
 

Detailed Description

Definition at line 61 of file remove_virtual_functions.cpp.

Constructor & Destructor Documentation

◆  remove_virtual_functionst()

remove_virtual_functionst::remove_virtual_functionst ( symbol_table_baset_symbol_table,
const class_hierarchyt_class_hierarchy 
)
inline

Definition at line 64 of file remove_virtual_functions.cpp.

Member Function Documentation

◆  operator()()

void remove_virtual_functionst::operator() ( goto_functionstfunctions )

Remove virtual function calls from all functions in the specified list and replace them with their most derived implementations.

Definition at line 690 of file remove_virtual_functions.cpp.

◆  remove_virtual_function()

goto_programt::targett remove_virtual_functionst::remove_virtual_function ( const irep_idtfunction_id,
goto_programtgoto_program,
)
private

Replace specified virtual function call with a static call to its most derived implementation.

Parameters
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.
Returns
Returns a pointer to the statement in the supplied GOTO program after replaced function call

Definition at line 466 of file remove_virtual_functions.cpp.

◆  remove_virtual_functions()

bool remove_virtual_functionst::remove_virtual_functions ( const irep_idtfunction_id,
goto_programtgoto_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 657 of file remove_virtual_functions.cpp.

Member Data Documentation

◆  class_hierarchy

const class_hierarchyt& remove_virtual_functionst::class_hierarchy
private

Definition at line 80 of file remove_virtual_functions.cpp.

◆  ns

namespacet remove_virtual_functionst::ns
private

Definition at line 82 of file remove_virtual_functions.cpp.

◆  symbol_table

symbol_table_baset& remove_virtual_functionst::symbol_table
private

Definition at line 81 of file remove_virtual_functions.cpp.


The documentation for this class was generated from the following file:

AltStyle によって変換されたページ (->オリジナル) /