cprover
jbmc_parse_optionst Class Reference

#include <jbmc_parse_options.h>

Inheritance diagram for jbmc_parse_optionst:
[legend]
Collaboration diagram for jbmc_parse_optionst:
[legend]

Public Member Functions

virtual int doit () override
 invoke main modules More...
 
virtual void help () override
 display command line help More...
 
 jbmc_parse_optionst (int argc, const char **argv)
 
 jbmc_parse_optionst (int argc, const char **argv, const std::string &extra_options)
 
void process_goto_function (goto_model_functiont &function, const abstract_goto_modelt &, const optionst &)
 
bool process_goto_functions (goto_modelt &goto_model, const optionst &options)
 
bool can_generate_function_body (const irep_idt &name)
 
bool generate_function_body (const irep_idt &function_name, symbol_table_baset &symbol_table, goto_functiont &function, bool body_available)
 
- Public Member Functions inherited from parse_options_baset
 parse_options_baset (const std::string &optstring, int argc, const char **argv)
 
virtual void usage_error ()
 
virtual int main ()
 
virtual ~parse_options_baset ()
 
- 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 mstream using output_generator if the configured verbosity is at least as high as that of mstream. More...
 

Static Public Member Functions

static void set_default_options (optionst &)
 Set the options that have default values. More...
 
- 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 mstreamteom (mstreamt &m)
 
static mstreamtendl (mstreamt &m)
 

Protected Member Functions

void get_command_line_options (optionst &)
 
int get_goto_program (std::unique_ptr< goto_modelt > &goto_model, const optionst &)
 
bool show_loaded_functions (const abstract_goto_modelt &goto_model)
 
bool set_properties (goto_modelt &goto_model)
 

Protected Attributes

ui_message_handlert ui_message_handler
 
std::unique_ptr< cover_configtcover_config
 
path_strategy_choosert path_strategy_chooser
 
object_factory_parameterst object_factory_params
 
bool stub_objects_are_not_null
 
- 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
}
 
- Public Attributes inherited from parse_options_baset
cmdlinet cmdline
 

Detailed Description

Definition at line 86 of file jbmc_parse_options.h.

Constructor & Destructor Documentation

◆ jbmc_parse_optionst() [1/2]

jbmc_parse_optionst::jbmc_parse_optionst ( int  argc,
const char **  argv 
)

Definition at line 64 of file jbmc_parse_options.cpp.

◆ jbmc_parse_optionst() [2/2]

jbmc_parse_optionst::jbmc_parse_optionst ( int  argc,
const char **  argv,
const std::string &  extra_options 
)

Definition at line 72 of file jbmc_parse_options.cpp.

Member Function Documentation

◆ can_generate_function_body()

bool jbmc_parse_optionst::can_generate_function_body ( const irep_idt name)

Definition at line 999 of file jbmc_parse_options.cpp.

References goto_functionst::entry_point(), and INITIALIZE_FUNCTION.

Referenced by generate_function_body().

◆ doit()

int jbmc_parse_optionst::doit ( )
overridevirtual

invoke main modules

Implements parse_options_baset.

Definition at line 385 of file jbmc_parse_options.cpp.

References add_failed_symbols(), bmct::add_loop_unwind_handler(), cmdlinet::args, CBMC_VERSION, parse_options_baset::cmdline, config, cover_config, bmct::do_language_agnostic_bmc(), goto_functionst::entry_point(), messaget::eom(), messaget::error(), messaget::eval_verbosity(), lazy_goto_modelt::from_handler_object(), optionst::get_bool_option(), get_command_line_options(), get_cover_config(), get_goto_program(), get_language_from_filename(), languaget::get_language_options(), messaget::get_message_handler(), ui_message_handlert::get_ui(), cmdlinet::get_value(), symbol_table_baset::has_symbol(), lazy_goto_modelt::initialize(), cmdlinet::isset(), java_enum_static_init_unwind_handler(), messaget::M_STATISTICS, object_factory_parameterst::max_nondet_array_length, MAX_NONDET_ARRAY_LENGTH_DEFAULT, MAX_NONDET_STRING_LENGTH, object_factory_parameterst::max_nondet_string_length, MAX_NONDET_TREE_DEPTH, object_factory_parameterst::max_nondet_tree_depth, new_ansi_c_language(), new_java_bytecode_language(), object_factory_params, languaget::parse(), path_strategy_chooser, register_language(), messaget::set_message_handler(), set_properties(), show_loaded_functions(), languaget::show_parse(), show_properties(), messaget::status(), stub_objects_are_not_null, lazy_goto_modelt::symbol_table, configt::this_architecture(), configt::this_operating_system(), ui_message_handler, and widen().

◆ generate_function_body()

bool jbmc_parse_optionst::generate_function_body ( const irep_idt function_name,
symbol_table_baset symbol_table,
goto_functiont function,
bool  body_available 
)

◆ get_command_line_options()

◆ get_goto_program()

◆ help()

◆ process_goto_function()

◆ process_goto_functions()

◆ set_default_options()

void jbmc_parse_optionst::set_default_options ( optionst options)
static

Set the options that have default values.

This function can be called from clients that wish to emulate JBMC's default behaviour, for example unit tests.

Definition at line 83 of file jbmc_parse_options.cpp.

References optionst::set_option().

Referenced by get_command_line_options().

◆ set_properties()

bool jbmc_parse_optionst::set_properties ( goto_modelt goto_model)
protected

◆ show_loaded_functions()

Member Data Documentation

◆ cover_config

std::unique_ptr<cover_configt> jbmc_parse_optionst::cover_config
protected

Definition at line 122 of file jbmc_parse_options.h.

Referenced by doit(), and process_goto_function().

◆ object_factory_params

object_factory_parameterst jbmc_parse_optionst::object_factory_params
protected

Definition at line 124 of file jbmc_parse_options.h.

Referenced by doit(), generate_function_body(), and process_goto_function().

◆ path_strategy_chooser

path_strategy_choosert jbmc_parse_optionst::path_strategy_chooser
protected

Definition at line 123 of file jbmc_parse_options.h.

Referenced by doit(), and get_command_line_options().

◆ stub_objects_are_not_null

bool jbmc_parse_optionst::stub_objects_are_not_null
protected

Definition at line 125 of file jbmc_parse_options.h.

Referenced by doit(), and generate_function_body().

◆ ui_message_handler

ui_message_handlert jbmc_parse_optionst::ui_message_handler
protected

Definition at line 121 of file jbmc_parse_options.h.

Referenced by doit(), get_goto_program(), and show_loaded_functions().


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