ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
string_method_dispatch.h
Go to the documentation of this file.
1#ifndef PYTHON_FRONTEND_STRING_METHOD_DISPATCH_H
2#define PYTHON_FRONTEND_STRING_METHOD_DISPATCH_H
3
6
7#include <functional>
8#include <optional>
9#include <string>
10
12{
14
15std::optional<exprt> dispatch_decode_join_method(
16 string_handler &self,
17 const std::string &method_name,
18 const nlohmann::json &call_json,
19 const nlohmann::json &receiver_json,
20 const nlohmann::json &args,
21 const keyword_valuest &keyword_values,
22 python_converter &converter);
23std::optional<exprt> dispatch_no_arg_string_methods(
24 string_handler &self,
25 const std::string &method_name,
26 const nlohmann::json &args,
27 const keyword_valuest &keyword_values,
28 const std::function<exprt()> &get_receiver_expr,
29 const std::function<locationt()> &get_location);
30std::optional<exprt> dispatch_one_arg_string_methods(
31 string_handler &self,
32 const std::string &method_name,
33 const nlohmann::json &args,
34 const keyword_valuest &keyword_values,
35 const std::function<exprt()> &get_receiver_expr,
36 const std::function<locationt()> &get_location,
37 python_converter &converter);
38std::optional<exprt> dispatch_search_string_methods(
39 string_handler &self,
40 const std::string &method_name,
41 const nlohmann::json &call_json,
42 const nlohmann::json &receiver_json,
43 const nlohmann::json &args,
44 const keyword_valuest &keyword_values,
45 const std::function<exprt()> &get_receiver_expr,
46 const std::function<locationt()> &get_location,
47 python_converter &converter);
48std::optional<exprt> dispatch_spacing_and_padding_methods(
49 string_handler &self,
50 const std::string &method_name,
51 const nlohmann::json &args,
52 const keyword_valuest &keyword_values,
53 const std::function<exprt()> &get_receiver_expr,
54 const std::function<locationt()> &get_location,
55 python_converter &converter);
56std::optional<exprt> dispatch_replace_method(
57 string_handler &self,
58 const std::string &method_name,
59 const nlohmann::json &call_json,
60 const nlohmann::json &args,
61 const keyword_valuest &keyword_values,
62 const std::function<exprt()> &get_receiver_expr,
63 const std::function<locationt()> &get_location,
64 python_converter &converter);
65std::optional<exprt> dispatch_count_method(
66 string_handler &self,
67 const std::string &method_name,
68 const nlohmann::json &args,
69 const keyword_valuest &keyword_values,
70 const std::function<exprt()> &get_receiver_expr,
71 const std::function<locationt()> &get_location,
72 python_converter &converter);
73std::optional<exprt> dispatch_splitlines_method(
74 string_handler &self,
75 const std::string &method_name,
76 const nlohmann::json &call_json,
77 const nlohmann::json &args,
78 const keyword_valuest &keyword_values,
79 const std::function<exprt()> &get_receiver_expr,
80 const std::function<locationt()> &get_location);
81std::optional<exprt> dispatch_format_methods(
82 string_handler &self,
83 const std::string &method_name,
84 const nlohmann::json &call_json,
85 const keyword_valuest &keyword_values,
86 const std::function<exprt()> &get_receiver_expr,
87 const std::function<locationt()> &get_location);
88std::optional<exprt> dispatch_split_method(
89 const std::string &method_name,
90 const nlohmann::json &receiver_json,
91 const nlohmann::json &call_json,
92 const nlohmann::json &args,
93 const keyword_valuest &keyword_values,
94 const std::function<exprt()> &get_receiver_expr,
95 python_converter &converter);
96} // namespace string_method_dispatch
97
98#endif
Definition expr.h:34
Definition location.h:7
Main converter for transforming Python AST into ESBMC's intermediate representation.
Definition python_converter.h:76
Handles all string-related operations for Python-to-C conversion.
Definition string_handler.h:36
std::unordered_map< std::string, const nlohmann::json * > keyword_valuest
Definition string_handler_utils.h:14
Definition string_method_dispatch.h:12
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)
Definition string_method_handler.cpp:504
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)
Definition string_method_handler.cpp:817
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)
Definition string_method_handler.cpp:564
string_call_utils::keyword_valuest keyword_valuest
Definition string_method_dispatch.h:13
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)
Definition string_method_handler.cpp:982
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)
Definition string_method_handler.cpp:1372
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)
Definition string_method_handler.cpp:1257
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)
Definition string_method_handler.cpp:1098
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)
Definition string_method_handler.cpp:620
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)
Definition string_method_handler.cpp:663
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)
Definition string_method_handler.cpp:776