cprover
havoc_generate_function_bodiest Class Reference
Inheritance diagram for havoc_generate_function_bodiest:
[legend]
Collaboration diagram for havoc_generate_function_bodiest:
[legend]

Public Member Functions

 havoc_generate_function_bodiest (std::vector< irep_idt > globals_to_havoc, std::regex parameters_to_havoc, message_handlert &message_handler)
 
- Public Member Functions inherited from generate_function_bodiest
virtual ~generate_function_bodiest ()=default
 
void generate_function_body (goto_functiont &function, symbol_tablet &symbol_table, const irep_idt &function_name) const
 Replace the function body with one based on the replace_function_body class being used. More...
 

Protected Member Functions

void generate_function_body_impl (goto_functiont &function, const symbol_tablet &symbol_table, const irep_idt &function_name) const override
 Produce a body for the passed function At this point the body of function is always empty, and all function parameters have identifiers. More...
 

Private Member Functions

void havoc_expr_rec (const exprt &lhs, const namespacet &ns, const std::function< goto_programt::targett(void)> &add_instruction, const irep_idt &function_name) const
 
- Private Member Functions inherited from messaget
virtual void set_message_handler (message_handlert &_message_handler)
 
message_handlertget_message_handler ()
 
 messaget ()
 
 messaget (const messaget &other)
 
messagetoperator= (const messaget &other)
 
 messaget (message_handlert &_message_handler)
 
virtual ~messaget ()
 
mstreamtget_mstream (unsigned message_level) const
 
mstreamterror () const
 
mstreamtwarning () const
 
mstreamtresult () const
 
mstreamtstatus () const
 
mstreamtstatistics () const
 
mstreamtprogress () const
 
mstreamtdebug () const
 
void conditional_output (mstreamt &mstream, const std::function< void(mstreamt &)> &output_generator) const
 Generate output to mstream using output_generator if the configured verbosity is at least as high as that of mstream. More...
 

Private Attributes

const std::vector< irep_idtglobals_to_havoc
 
std::regex parameters_to_havoc
 
- Private Attributes inherited from messaget
message_handlertmessage_handler
 
mstreamt mstream
 

Additional Inherited Members

- Private Types inherited from messaget
enum  message_levelt {
  M_ERROR =1, M_WARNING =2, M_RESULT =4, M_STATUS =6,
  M_STATISTICS =8, M_PROGRESS =9, M_DEBUG =10
}
 
- Static Private Member Functions inherited from messaget
static unsigned eval_verbosity (const std::string &user_input, const message_levelt default_verbosity, message_handlert &dest)
 Parse a (user-)provided string as a verbosity level and set it as the verbosity of dest. More...
 
static mstreamteom (mstreamt &m)
 
static mstreamtendl (mstreamt &m)
 

Detailed Description

Definition at line 149 of file generate_function_bodies.cpp.

Constructor & Destructor Documentation

◆ havoc_generate_function_bodiest()

havoc_generate_function_bodiest::havoc_generate_function_bodiest ( std::vector< irep_idt globals_to_havoc,
std::regex  parameters_to_havoc,
message_handlert message_handler 
)
inline

Definition at line 153 of file generate_function_bodies.cpp.

Member Function Documentation

◆ generate_function_body_impl()

void havoc_generate_function_bodiest::generate_function_body_impl ( goto_functiont function,
const symbol_tablet symbol_table,
const irep_idt function_name 
) const
inlineoverrideprotectedvirtual

Produce a body for the passed function At this point the body of function is always empty, and all function parameters have identifiers.

Parameters
functionwhose body to generate
symbol_tableof the current goto program
function_nameIdentifier of function

Implements generate_function_bodiest.

Definition at line 255 of file generate_function_bodies.cpp.

References globals_to_havoc, havoc_expr_rec(), id2string(), symbol_table_baset::lookup_ref(), parameters_to_havoc, remove_skip(), typet::subtype(), to_pointer_type(), and exprt::type().

◆ havoc_expr_rec()

void havoc_generate_function_bodiest::havoc_expr_rec ( const exprt lhs,
const namespacet ns,
const std::function< goto_programt::targett(void)> &  add_instruction,
const irep_idt function_name 
) const
inlineprivate

Member Data Documentation

◆ globals_to_havoc

const std::vector<irep_idt> havoc_generate_function_bodiest::globals_to_havoc
private

Definition at line 319 of file generate_function_bodies.cpp.

Referenced by generate_function_body_impl().

◆ parameters_to_havoc

std::regex havoc_generate_function_bodiest::parameters_to_havoc
private

Definition at line 320 of file generate_function_bodies.cpp.

Referenced by generate_function_body_impl().


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