cprover
string_instrumentationt Class Reference
+ Inheritance diagram for string_instrumentationt:
+ Collaboration diagram for string_instrumentationt:

Public Member Functions

 string_instrumentationt (symbol_tablet &_symbol_table, message_handlert &_message_handler)
 
void operator() (goto_programt &dest)
 
void operator() (goto_functionst &dest)
 
- Public 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 message_stream using output_generator if the configured verbosity is at least as high as that of message_stream. More...
 

Protected Member Functions

void make_type (exprt &dest, const typet &type)
 
void instrument (goto_programt &dest, goto_programt::targett it)
 
void do_function_call (goto_programt &dest, goto_programt::targett target)
 
void do_sprintf (goto_programt &dest, goto_programt::targett target, const code_function_callt &)
 
void do_snprintf (goto_programt &dest, goto_programt::targett target, const code_function_callt &)
 
void do_strcat (goto_programt &dest, goto_programt::targett it, const code_function_callt &)
 
void do_strncmp (goto_programt &dest, goto_programt::targett it, const code_function_callt &)
 
void do_strchr (goto_programt &dest, goto_programt::targett target, const code_function_callt &)
 
void do_strrchr (goto_programt &dest, goto_programt::targett target, const code_function_callt &)
 
void do_strstr (goto_programt &dest, goto_programt::targett target, const code_function_callt &)
 
void do_strtok (goto_programt &dest, goto_programt::targett target, const code_function_callt &)
 
void do_strerror (goto_programt &dest, goto_programt::targett it, const code_function_callt &)
 
void do_fscanf (goto_programt &dest, goto_programt::targett target, const code_function_callt &)
 
void do_format_string_read (goto_programt &dest, goto_programt::const_targett target, const code_function_callt::argumentst &arguments, std::size_t format_string_inx, std::size_t argument_start_inx, const std::string &function_name)
 
void do_format_string_write (goto_programt &dest, goto_programt::const_targett target, const code_function_callt::argumentst &arguments, std::size_t format_string_inx, std::size_t argument_start_inx, const std::string &function_name)
 
bool is_string_type (const typet &t) const
 
void invalidate_buffer (goto_programt &dest, goto_programt::const_targett target, const exprt &buffer, const typet &buf_type, const mp_integer &limit)
 

Protected Attributes

symbol_tabletsymbol_table
 
namespacet ns
 
- Protected Attributes inherited from messaget
message_handlertmessage_handler
 
mstreamt mstream
 

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
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 commandt command (unsigned c)
 Create an ECMA-48 SGR (Select Graphic Rendition) command. More...
 
- Static Public Attributes inherited from messaget
static eomt eom
 
static const commandt reset
 return to default formatting, as defined by the terminal More...
 
static const commandt red
 render text with red foreground color More...
 
static const commandt green
 render text with green foreground color More...
 
static const commandt yellow
 render text with yellow foreground color More...
 
static const commandt blue
 render text with blue foreground color More...
 
static const commandt magenta
 render text with magenta foreground color More...
 
static const commandt cyan
 render text with cyan foreground color More...
 
static const commandt bright_red
 render text with bright red foreground color More...
 
static const commandt bright_green
 render text with bright green foreground color More...
 
static const commandt bright_yellow
 render text with bright yellow foreground color More...
 
static const commandt bright_blue
 render text with bright blue foreground color More...
 
static const commandt bright_magenta
 render text with bright magenta foreground color More...
 
static const commandt bright_cyan
 render text with bright cyan foreground color More...
 
static const commandt bold
 render text with bold font More...
 
static const commandt faint
 render text with faint font More...
 
static const commandt italic
 render italic text More...
 
static const commandt underline
 render underlined text More...
 

Detailed Description

Definition at line 55 of file string_instrumentation.cpp.

Constructor & Destructor Documentation

◆ string_instrumentationt()

string_instrumentationt::string_instrumentationt ( symbol_tablet _symbol_table,
message_handlert _message_handler 
)
inline

Definition at line 58 of file string_instrumentation.cpp.

Member Function Documentation

◆ do_format_string_read()

void string_instrumentationt::do_format_string_read ( goto_programt dest,
goto_programt::const_targett  target,
const code_function_callt::argumentst arguments,
std::size_t  format_string_inx,
std::size_t  argument_start_inx,
const std::string &  function_name 
)
protected

Definition at line 368 of file string_instrumentation.cpp.

◆ do_format_string_write()

void string_instrumentationt::do_format_string_write ( goto_programt dest,
goto_programt::const_targett  target,
const code_function_callt::argumentst arguments,
std::size_t  format_string_inx,
std::size_t  argument_start_inx,
const std::string &  function_name 
)
protected

Definition at line 461 of file string_instrumentation.cpp.

◆ do_fscanf()

void string_instrumentationt::do_fscanf ( goto_programt dest,
goto_programt::targett  target,
const code_function_callt call 
)
protected

Definition at line 338 of file string_instrumentation.cpp.

◆ do_function_call()

void string_instrumentationt::do_function_call ( goto_programt dest,
goto_programt::targett  target 
)
protected

Definition at line 210 of file string_instrumentation.cpp.

◆ do_snprintf()

void string_instrumentationt::do_snprintf ( goto_programt dest,
goto_programt::targett  target,
const code_function_callt call 
)
protected

Definition at line 299 of file string_instrumentation.cpp.

◆ do_sprintf()

void string_instrumentationt::do_sprintf ( goto_programt dest,
goto_programt::targett  target,
const code_function_callt call 
)
protected

Definition at line 261 of file string_instrumentation.cpp.

◆ do_strcat()

void string_instrumentationt::do_strcat ( goto_programt dest,
goto_programt::targett  it,
const code_function_callt  
)
protected

◆ do_strchr()

void string_instrumentationt::do_strchr ( goto_programt dest,
goto_programt::targett  target,
const code_function_callt call 
)
protected

Definition at line 613 of file string_instrumentation.cpp.

◆ do_strerror()

void string_instrumentationt::do_strerror ( goto_programt dest,
goto_programt::targett  it,
const code_function_callt call 
)
protected

Definition at line 725 of file string_instrumentation.cpp.

◆ do_strncmp()

void string_instrumentationt::do_strncmp ( goto_programt dest,
goto_programt::targett  it,
const code_function_callt  
)
protected

Definition at line 606 of file string_instrumentation.cpp.

◆ do_strrchr()

void string_instrumentationt::do_strrchr ( goto_programt dest,
goto_programt::targett  target,
const code_function_callt call 
)
protected

Definition at line 638 of file string_instrumentation.cpp.

◆ do_strstr()

void string_instrumentationt::do_strstr ( goto_programt dest,
goto_programt::targett  target,
const code_function_callt call 
)
protected

Definition at line 663 of file string_instrumentation.cpp.

◆ do_strtok()

void string_instrumentationt::do_strtok ( goto_programt dest,
goto_programt::targett  target,
const code_function_callt call 
)
protected

Definition at line 694 of file string_instrumentation.cpp.

◆ instrument()

void string_instrumentationt::instrument ( goto_programt dest,
goto_programt::targett  it 
)
protected

Definition at line 202 of file string_instrumentation.cpp.

◆ invalidate_buffer()

void string_instrumentationt::invalidate_buffer ( goto_programt dest,
goto_programt::const_targett  target,
const exprt buffer,
const typet buf_type,
const mp_integer limit 
)
protected

Definition at line 810 of file string_instrumentation.cpp.

◆ is_string_type()

bool string_instrumentationt::is_string_type ( const typet t) const
inlineprotected

Definition at line 141 of file string_instrumentation.cpp.

◆ make_type()

void string_instrumentationt::make_type ( exprt dest,
const typet type 
)
inlineprotected

Definition at line 74 of file string_instrumentation.cpp.

◆ operator()() [1/2]

void string_instrumentationt::operator() ( goto_functionst dest)

Definition at line 185 of file string_instrumentation.cpp.

◆ operator()() [2/2]

void string_instrumentationt::operator() ( goto_programt dest)

Definition at line 196 of file string_instrumentation.cpp.

Member Data Documentation

◆ ns

namespacet string_instrumentationt::ns
protected

Definition at line 72 of file string_instrumentation.cpp.

◆ symbol_table

symbol_tablet& string_instrumentationt::symbol_table
protected

Definition at line 71 of file string_instrumentation.cpp.


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