CBMC
Loading...
Searching...
No Matches
Public Member Functions | List of all members
cleanert Class Reference

Class that allows to clean expressions of side effects and to generate havoc_slice expressions. More...

#include <utils.h>

+ Inheritance diagram for cleanert:
+ Collaboration diagram for cleanert:

Public Member Functions

 
std::list< irep_idtclean (exprt &guard, goto_programt &dest, const irep_idt &mode)
 
 
- Public Member Functions inherited from goto_convertt
 
 
 
void  set_prefix (const std::string &prefix)
 
- Public Member Functions inherited from messaget
 
 
  messaget (const messaget &other)
 
 
 
 
mstreamtget_mstream (unsigned message_level) const
 
 
 
 
 
 
 
 
  Generate output to message_stream using output_generator if the configured verbosity is at least as high as that of message_stream.
 

Additional Inherited Members

- Public 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 Public Member Functions inherited from messaget
  Parse a (user-)provided string as a verbosity level and set it as the verbosity of dest.
 
  Create an ECMA-48 SGR (Select Graphic Rendition) command.
 
- Static Public Attributes inherited from messaget
 
  return to default formatting, as defined by the terminal
 
  render text with red foreground color
 
  render text with green foreground color
 
  render text with yellow foreground color
 
  render text with blue foreground color
 
  render text with magenta foreground color
 
  render text with cyan foreground color
 
  render text with bright red foreground color
 
  render text with bright green foreground color
 
  render text with bright yellow foreground color
 
  render text with bright blue foreground color
 
  render text with bright magenta foreground color
 
  render text with bright cyan foreground color
 
  render text with bold font
 
  render text with faint font
 
  render italic text
 
  render underlined text
 
  Start quoted text.
 
  End quoted text.
 
- Protected Types inherited from goto_convertt
 
 
typedef std::list< std::pair< goto_programt::targett, node_indext > >  gotost
 
 
 
typedef std::list< std::pair< goto_programt::targett, caset > >  casest
 
 
- Protected Member Functions inherited from goto_convertt
 
symboltnew_tmp_symbol (const typet &type, const std::string &suffix, goto_programt &dest, const source_locationt &, const irep_idt &mode)
 
 
 
 
irep_idt  make_temp_symbol (exprt &expr, const std::string &suffix, goto_programt &, const irep_idt &mode)
 
  re-write boolean operators into ?:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  builds a goto program for object initialization after new
 
 
 
  add function calls to function queue for later processing
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  converts 'code' and appends the result to 'dest'
 
 
 
  Unwinds the destructor stack and creates destructors for each node between destructor_start_point and destructor_end_point (including the start, excluding the end).
 
 
 
 
  Rewrite "if(x) goto z; goto y; z:" into "if(!x) goto y;" This only works if the "goto y" is not a branch target.
 
exprt  case_guard (const exprt &value, const caset &case_op)
 
  if(guard) true_case; else false_case;
 
  if(guard) goto target_true; else goto target_false;
 
 
  Generates the necessary goto-instructions to represent a thread-block.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  alloca allocates memory that is freed when leaving the function (and not the block, as regular destructors would do).
 
 
- Static Protected Member Functions inherited from goto_convertt
  Returns 'true' for expressions that may change the program state.
 
 
 
static void  collect_operands (const exprt &expr, const irep_idt &id, std::list< exprt > &dest)
 
- Protected Attributes inherited from goto_convertt
 
 
std::string  tmp_symbol_prefix
 
 
 
- Protected Attributes inherited from messaget
 
 

Detailed Description

Class that allows to clean expressions of side effects and to generate havoc_slice expressions.

Definition at line 34 of file utils.h.

Constructor & Destructor Documentation

◆  cleanert()

cleanert::cleanert ( symbol_table_baset_symbol_table,
message_handlert_message_handler 
)
inline

Definition at line 37 of file utils.h.

Member Function Documentation

◆  clean()

std::list< irep_idt > cleanert::clean ( exprtguard,
goto_programtdest,
const irep_idtmode 
)
inline

Definition at line 45 of file utils.h.

◆  do_havoc_slice()

void cleanert::do_havoc_slice ( const symbol_exprtfunction,
const exprt::operandstarguments,
goto_programtdest,
const irep_idtmode 
)
inline

Definition at line 52 of file utils.h.


The documentation for this class was generated from the following file:
  • /home/runner/work/cbmc/cbmc/src/goto-instrument/contracts/utils.h

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