CBMC
remove_function_pointerst Class Reference
+ Collaboration diagram for remove_function_pointerst:

Public Member Functions

 remove_function_pointerst (message_handlert &_message_handler, symbol_tablet &_symbol_table, bool only_resolve_const_fps, const goto_functionst &goto_functions)
 
void operator() (goto_functionst &goto_functions)
 
bool remove_function_pointers (goto_programt &goto_program, const irep_idt &function_id)
 

Protected Types

typedef std::map< irep_idt, code_typettype_mapt
 

Protected Member Functions

void remove_function_pointer (goto_programt &goto_program, const irep_idt &function_id, goto_programt::targett target)
 Replace a call to a dynamic function at location target in the given goto-program by determining functions that have a compatible signature. More...
 

Protected Attributes

message_handlertmessage_handler
 
const namespacet ns
 
symbol_tabletsymbol_table
 
bool only_resolve_const_fps
 
std::unordered_set< irep_idtaddress_taken
 
type_mapt type_map
 

Detailed Description

Definition at line 34 of file remove_function_pointers.cpp.

Member Typedef Documentation

◆ type_mapt

Definition at line 75 of file remove_function_pointers.cpp.

Constructor & Destructor Documentation

◆ remove_function_pointerst()

remove_function_pointerst::remove_function_pointerst ( message_handlert _message_handler,
symbol_tablet _symbol_table,
bool  only_resolve_const_fps,
const goto_functionst goto_functions 
)

Definition at line 79 of file remove_function_pointers.cpp.

Member Function Documentation

◆ operator()()

void remove_function_pointerst::operator() ( goto_functionst goto_functions)

Definition at line 507 of file remove_function_pointers.cpp.

◆ remove_function_pointer()

void remove_function_pointerst::remove_function_pointer ( goto_programt goto_program,
const irep_idt function_id,
goto_programt::targett  target 
)
protected

Replace a call to a dynamic function at location target in the given goto-program by determining functions that have a compatible signature.

Parameters
goto_programThe goto program that contains target
function_idName of function containing the target
targetlocation with function call with function pointer

Definition at line 246 of file remove_function_pointers.cpp.

◆ remove_function_pointers()

bool remove_function_pointerst::remove_function_pointers ( goto_programt goto_program,
const irep_idt function_id 
)

Definition at line 485 of file remove_function_pointers.cpp.

Member Data Documentation

◆ address_taken

std::unordered_set<irep_idt> remove_function_pointerst::address_taken
protected

Definition at line 73 of file remove_function_pointers.cpp.

◆ message_handler

message_handlert& remove_function_pointerst::message_handler
protected

Definition at line 50 of file remove_function_pointers.cpp.

◆ ns

const namespacet remove_function_pointerst::ns
protected

Definition at line 51 of file remove_function_pointers.cpp.

◆ only_resolve_const_fps

bool remove_function_pointerst::only_resolve_const_fps
protected

Definition at line 60 of file remove_function_pointers.cpp.

◆ symbol_table

symbol_tablet& remove_function_pointerst::symbol_table
protected

Definition at line 52 of file remove_function_pointers.cpp.

◆ type_map

type_mapt remove_function_pointerst::type_map
protected

Definition at line 76 of file remove_function_pointers.cpp.


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