17 config.value_abstract_type =
33 config.context_tracking.last_write_context =
true;
34 config.context_tracking.data_dependency_context =
36 config.advanced_sensitivities.new_value_set =
49 config.context_tracking.last_write_context =
true;
70 config.context_tracking.last_write_context =
true;
100 const std::string &option_name,
101 const std::string &bad_argument,
104 auto option =
"--vsd-" + option_name;
105 auto choices = std::string(
"");
106 for(
auto &kv : mapping)
108 choices += (!choices.empty() ?
"|" :
"");
113 "Unknown argument '" + bad_argument +
"'", option, option +
" " + choices};
118 const std::string &option_name,
122 const auto argument = options.
get_option(option_name);
127 auto selected = mapping.find(argument);
128 if(selected == mapping.end())
132 return selected->second;
Thrown when users pass incorrect command line arguments, for example passing no files to analysis or ...
bool get_bool_option(const std::string &option) const
const std::string get_option(const std::string &option) const
std::map< std::string, ABSTRACT_OBJECT_TYPET > option_mappingt
static vsd_configt value_set()
static const option_mappingt array_option_mappings
static ABSTRACT_OBJECT_TYPET option_to_abstract_type(const optionst &options, const std::string &option_name, const option_mappingt &mapping, ABSTRACT_OBJECT_TYPET default_type)
static const option_mappingt struct_option_mappings
static const option_mappingt value_option_mappings
static const option_mappingt pointer_option_mappings
static const option_mappingt union_option_mappings
static vsd_configt intervals()
static vsd_configt from_options(const optionst &options)
static vsd_configt constant_domain()
static invalid_command_line_argument_exceptiont invalid_argument(const std::string &option_name, const std::string &bad_argument, const option_mappingt &mapping)
Captures the user-supplied configuration for VSD, determining which domain abstractions are used,...