ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
function_call_expr Class Reference

#include <expr.h>

Inheritance diagram for function_call_expr:
[legend]

Public Member Functions

 function_call_expr (const symbol_id &function_id, const nlohmann::json &call, python_converter &converter)
virtual ~function_call_expr ()=default
virtual exprt get ()
std::optional< exprt > check_explicit_super () const
 super(C, self) in a class that is not a C, where self can never be a C, raises TypeError (#8631).
const symbol_id & get_function_id () const

Static Public Member Functions

static exprt fold_from_bytes_byteorder (exprt arg, const nlohmann::json &node, const symbolt &func_symbol, const code_typet::argumentst &params, std::size_t param_idx, const nlohmann::json &module)
 Folds a CPython byteorder string bound to params[param_idx] of the int.from_bytes model, whose parameter is a bool, and leaves every other argument unchanged.
static exprt::operandst strip_ctor_self_parameters (const exprt::operandst &args)

Protected Member Functions

exprt handle_any ()
exprt handle_all ()

Protected Attributes

symbol_id function_id_
const nlohmann::json & call_
python_converter & converter_
const type_handler & type_handler_
FunctionType function_type_
std::unordered_map< std::string, const symbolt * > sym_cache_

Friends

class function_call_expr_test_access

Constructor & Destructor Documentation

◆ function_call_expr()

function_call_expr::function_call_expr ( const symbol_id & function_id,
const nlohmann::json & call,
python_converter & converter )

◆ ~function_call_expr()

virtual function_call_expr::~function_call_expr ( )
virtualdefault

Member Function Documentation

◆ check_explicit_super()

std::optional< exprt > function_call_expr::check_explicit_super ( ) const

super(C, self) in a class that is not a C, where self can never be a C, raises TypeError (#8631).

◆ fold_from_bytes_byteorder()

exprt function_call_expr::fold_from_bytes_byteorder ( exprt arg,
const nlohmann::json & node,
const symbolt & func_symbol,
const code_typet::argumentst & params,
std::size_t param_idx,
const nlohmann::json & module )
static

Folds a CPython byteorder string bound to params[param_idx] of the int.from_bytes model, whose parameter is a bool, and leaves every other argument unchanged.

Throws unless the argument is the constant "big" or "little": a literal, or a name module binds exactly once, at top level, to a literal.

◆ get()

exprt function_call_expr::get ( )
virtual

Reimplemented in numpy_call_expr.

◆ get_function_id()

const symbol_id & function_call_expr::get_function_id ( ) const
inline

◆ handle_all()

exprt function_call_expr::handle_all ( )
protected

◆ handle_any()

exprt function_call_expr::handle_any ( )
protected

◆ strip_ctor_self_parameters()

exprt::operandst function_call_expr::strip_ctor_self_parameters ( const exprt::operandst & args)
static

◆ function_call_expr_test_access

friend class function_call_expr_test_access
friend

Member Data Documentation

◆ call_

const nlohmann::json& function_call_expr::call_
protected

◆ converter_

python_converter& function_call_expr::converter_
protected

◆ function_id_

symbol_id function_call_expr::function_id_
protected

◆ function_type_

FunctionType function_call_expr::function_type_
protected

◆ sym_cache_

std::unordered_map<std::string, const symbolt *> function_call_expr::sym_cache_
mutableprotected

◆ type_handler_

const type_handler& function_call_expr::type_handler_
protected

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