ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
string_method_dispatch Namespace Reference

Classes

struct  split_method_argst
struct  search_args_parsedt

Typedefs

using keyword_valuest = string_call_utils::keyword_valuest

Functions

std::optional< exprt > dispatch_decode_join_method (string_handler &self, const std::string &method_name, const nlohmann::json &call_json, const nlohmann::json &receiver_json, const nlohmann::json &args, const keyword_valuest &keyword_values, python_converter &converter)
std::optional< exprt > dispatch_no_arg_string_methods (string_handler &self, const std::string &method_name, const nlohmann::json &args, const keyword_valuest &keyword_values, const std::function< exprt()> &get_receiver_expr, const std::function< locationt()> &get_location)
std::optional< exprt > dispatch_one_arg_string_methods (string_handler &self, const std::string &method_name, const nlohmann::json &args, const keyword_valuest &keyword_values, const std::function< exprt()> &get_receiver_expr, const std::function< locationt()> &get_location, python_converter &converter)
std::optional< exprt > dispatch_search_string_methods (string_handler &self, const std::string &method_name, const nlohmann::json &call_json, const nlohmann::json &receiver_json, const nlohmann::json &args, const keyword_valuest &keyword_values, const std::function< exprt()> &get_receiver_expr, const std::function< locationt()> &get_location, python_converter &converter)
std::optional< exprt > dispatch_spacing_and_padding_methods (string_handler &self, const std::string &method_name, const nlohmann::json &args, const keyword_valuest &keyword_values, const std::function< exprt()> &get_receiver_expr, const std::function< locationt()> &get_location, python_converter &converter)
std::optional< exprt > dispatch_replace_method (string_handler &self, const std::string &method_name, const nlohmann::json &call_json, const nlohmann::json &args, const keyword_valuest &keyword_values, const std::function< exprt()> &get_receiver_expr, const std::function< locationt()> &get_location, python_converter &converter)
std::optional< exprt > dispatch_count_method (string_handler &self, const std::string &method_name, const nlohmann::json &args, const keyword_valuest &keyword_values, const std::function< exprt()> &get_receiver_expr, const std::function< locationt()> &get_location, python_converter &converter)
std::optional< exprt > dispatch_splitlines_method (string_handler &self, const std::string &method_name, const nlohmann::json &call_json, const nlohmann::json &args, const keyword_valuest &keyword_values, const std::function< exprt()> &get_receiver_expr, const std::function< locationt()> &get_location)
std::optional< exprt > dispatch_format_methods (string_handler &self, const std::string &method_name, const nlohmann::json &call_json, const keyword_valuest &keyword_values, const std::function< exprt()> &get_receiver_expr, const std::function< locationt()> &get_location)
std::optional< exprt > dispatch_split_method (const std::string &method_name, const nlohmann::json &receiver_json, const nlohmann::json &call_json, const nlohmann::json &args, const keyword_valuest &keyword_values, const std::function< exprt()> &get_receiver_expr, python_converter &converter)
static std::optional< exprt > fold_constant_replace (const nlohmann::json &call_json, const std::function< exprt()> &get_receiver_expr, python_converter &converter)
static bool is_falsey_constant (const nlohmann::json &node)
static bool is_none_literal_json (const nlohmann::json &node)
static search_args_parsedt parse_string_search_args (const std::string &method_name, const nlohmann::json &args, const keyword_valuest &keyword_values, python_converter &converter)
static std::optional< exprt > fold_constant_search (const std::string &method_name, const nlohmann::json &receiver_json, const nlohmann::json &args, const exprt &receiver, python_converter &converter)
static bool is_ascii_compatible_encoding_json (const nlohmann::json &node)
static bool is_strict_ascii_encoding_json (const nlohmann::json &node)
keyword_valuest collect_keyword_values (const std::string &method_name, const nlohmann::json &keywords, bool reject_kwargs_unpacking)
void ensure_allowed_keywords (const std::string &method_name, const keyword_valuest &keyword_values, std::initializer_list< const char * > allowed)
const nlohmann::json * find_keyword_value (const keyword_valuest &keyword_values, const std::string &name)
const nlohmann::json * required_arg_node_or_throw (const std::string &method_name, const nlohmann::json &args, const keyword_valuest &keyword_values, const std::string &arg_name, std::size_t positional_index, const std::string &error_message)
long long required_constant_int_arg (const nlohmann::json &arg_node, const std::string &error_message, python_converter &converter)
const nlohmann::json * resolve_positional_or_keyword_arg (const std::string &method_name, const nlohmann::json &args, const keyword_valuest &keyword_values, const std::string &arg_name, std::size_t positional_index, bool required)

Typedef Documentation

◆ keyword_valuest

Function Documentation

◆ collect_keyword_values()

keyword_valuest string_call_utils::collect_keyword_values ( const std::string & method_name,
const nlohmann::json & keywords,
bool reject_kwargs_unpacking = true )

◆ dispatch_count_method()

std::optional< exprt > string_method_dispatch::dispatch_count_method ( string_handler & self,
const std::string & method_name,
const nlohmann::json & args,
const keyword_valuest & keyword_values,
const std::function< exprt()> & get_receiver_expr,
const std::function< locationt()> & get_location,
python_converter & converter )

◆ dispatch_decode_join_method()

std::optional< exprt > string_method_dispatch::dispatch_decode_join_method ( string_handler & self,
const std::string & method_name,
const nlohmann::json & call_json,
const nlohmann::json & receiver_json,
const nlohmann::json & args,
const keyword_valuest & keyword_values,
python_converter & converter )

◆ dispatch_format_methods()

std::optional< exprt > string_method_dispatch::dispatch_format_methods ( string_handler & self,
const std::string & method_name,
const nlohmann::json & call_json,
const keyword_valuest & keyword_values,
const std::function< exprt()> & get_receiver_expr,
const std::function< locationt()> & get_location )

◆ dispatch_no_arg_string_methods()

std::optional< exprt > string_method_dispatch::dispatch_no_arg_string_methods ( string_handler & self,
const std::string & method_name,
const nlohmann::json & args,
const keyword_valuest & keyword_values,
const std::function< exprt()> & get_receiver_expr,
const std::function< locationt()> & get_location )

◆ dispatch_one_arg_string_methods()

std::optional< exprt > string_method_dispatch::dispatch_one_arg_string_methods ( string_handler & self,
const std::string & method_name,
const nlohmann::json & args,
const keyword_valuest & keyword_values,
const std::function< exprt()> & get_receiver_expr,
const std::function< locationt()> & get_location,
python_converter & converter )

◆ dispatch_replace_method()

std::optional< exprt > string_method_dispatch::dispatch_replace_method ( string_handler & self,
const std::string & method_name,
const nlohmann::json & call_json,
const nlohmann::json & args,
const keyword_valuest & keyword_values,
const std::function< exprt()> & get_receiver_expr,
const std::function< locationt()> & get_location,
python_converter & converter )

◆ dispatch_search_string_methods()

std::optional< exprt > string_method_dispatch::dispatch_search_string_methods ( string_handler & self,
const std::string & method_name,
const nlohmann::json & call_json,
const nlohmann::json & receiver_json,
const nlohmann::json & args,
const keyword_valuest & keyword_values,
const std::function< exprt()> & get_receiver_expr,
const std::function< locationt()> & get_location,
python_converter & converter )

◆ dispatch_spacing_and_padding_methods()

std::optional< exprt > string_method_dispatch::dispatch_spacing_and_padding_methods ( string_handler & self,
const std::string & method_name,
const nlohmann::json & args,
const keyword_valuest & keyword_values,
const std::function< exprt()> & get_receiver_expr,
const std::function< locationt()> & get_location,
python_converter & converter )

◆ dispatch_split_method()

std::optional< exprt > string_method_dispatch::dispatch_split_method ( const std::string & method_name,
const nlohmann::json & receiver_json,
const nlohmann::json & call_json,
const nlohmann::json & args,
const keyword_valuest & keyword_values,
const std::function< exprt()> & get_receiver_expr,
python_converter & converter )

◆ dispatch_splitlines_method()

std::optional< exprt > string_method_dispatch::dispatch_splitlines_method ( string_handler & self,
const std::string & method_name,
const nlohmann::json & call_json,
const nlohmann::json & args,
const keyword_valuest & keyword_values,
const std::function< exprt()> & get_receiver_expr,
const std::function< locationt()> & get_location )

◆ ensure_allowed_keywords()

void string_call_utils::ensure_allowed_keywords ( const std::string & method_name,
const keyword_valuest & keyword_values,
std::initializer_list< const char * > allowed )

◆ find_keyword_value()

const nlohmann::json * string_call_utils::find_keyword_value ( const keyword_valuest & keyword_values,
const std::string & name )

◆ fold_constant_replace()

std::optional< exprt > string_method_dispatch::fold_constant_replace ( const nlohmann::json & call_json,
const std::function< exprt()> & get_receiver_expr,
python_converter & converter )
static

◆ fold_constant_search()

std::optional< exprt > string_method_dispatch::fold_constant_search ( const std::string & method_name,
const nlohmann::json & receiver_json,
const nlohmann::json & args,
const exprt & receiver,
python_converter & converter )
static

◆ is_ascii_compatible_encoding_json()

bool string_method_dispatch::is_ascii_compatible_encoding_json ( const nlohmann::json & node)
static

◆ is_falsey_constant()

bool string_method_dispatch::is_falsey_constant ( const nlohmann::json & node)
static

◆ is_none_literal_json()

bool string_method_dispatch::is_none_literal_json ( const nlohmann::json & node)
static

◆ is_strict_ascii_encoding_json()

bool string_method_dispatch::is_strict_ascii_encoding_json ( const nlohmann::json & node)
static

◆ parse_string_search_args()

search_args_parsedt string_method_dispatch::parse_string_search_args ( const std::string & method_name,
const nlohmann::json & args,
const keyword_valuest & keyword_values,
python_converter & converter )
static

◆ required_arg_node_or_throw()

const nlohmann::json * string_call_utils::required_arg_node_or_throw ( const std::string & method_name,
const nlohmann::json & args,
const keyword_valuest & keyword_values,
const std::string & arg_name,
std::size_t positional_index,
const std::string & error_message )

◆ required_constant_int_arg()

long long string_call_utils::required_constant_int_arg ( const nlohmann::json & arg_node,
const std::string & error_message,
python_converter & converter )

◆ resolve_positional_or_keyword_arg()

const nlohmann::json * string_call_utils::resolve_positional_or_keyword_arg ( const std::string & method_name,
const nlohmann::json & args,
const keyword_valuest & keyword_values,
const std::string & arg_name,
std::size_t positional_index,
bool required )