ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
converter_funcall.cpp File Reference
Include dependency graph for converter_funcall.cpp:

Functions

static bool blocks_constant_call_fold (const nlohmann::json &arg_node)
static exprt call_as_value (const exprt &call)
 A call converted as a statement, as a side-effect expression: goto-convert hoists it in evaluation order (short-circuit, loop guards).
static void refuse_unbound_arguments (const nlohmann::json &element, bool is_lambda)
 Keyword, starred and default arguments of a call of an expression's result are not bound.
static bool passes_as (const typet &arg, const code_typet::argumentt &param)
 Whether an argument of type arg binds param as it is, a string decaying to a pointer to its first character.
static void refuse_unbound_parameters (const side_effect_expr_function_callt &call, const code_typet &callee_type, bool is_lambda)
static bool reads_only (const nlohmann::json &node, const std::set< std::string > &params)
 Whether every name node reads is one of params.
static nlohmann::json lambda_bound_to (const std::string &name, const nlohmann::json &body, const nlohmann::json &ast)
 The lambda name is bound to in body: name = lambda ..., or name = make() where make returns a lambda reading only its parameters.
static bool is_name (const nlohmann::json &node, const std::string &name)
static void push_dict_values (const nlohmann::json &value, std::vector< nlohmann::json > &out)
static void collect_dict_stores (const nlohmann::json &node, const std::string &name, std::vector< nlohmann::json > &out)
static void collect_dict_values (const nlohmann::json &node, const std::string &name, std::vector< nlohmann::json > &out)
static void collect_own_returns (const nlohmann::json &node, std::vector< nlohmann::json > &out)
static bool binds_dict_literal (const nlohmann::json &body, const nlohmann::json &name)
static bool returned_dict_values (const nlohmann::json &module, const nlohmann::json &call, std::vector< nlohmann::json > &out)
static const nlohmann::json & subscript_root (const nlohmann::json &node, int &depth)
static void collect_nested_stores (const nlohmann::json &node, const nlohmann::json &container, std::vector< nlohmann::json > &out)
static void refuse_mixed_return_types ()
static bool append_default_arguments (const code_typet &type, exprt::operandst &args)
static bool used_as_value (const nlohmann::json &node, const std::string &name)

Function Documentation

◆ append_default_arguments()

bool append_default_arguments ( const code_typet & type,
exprt::operandst & args )
static

◆ binds_dict_literal()

bool binds_dict_literal ( const nlohmann::json & body,
const nlohmann::json & name )
static

◆ blocks_constant_call_fold()

bool blocks_constant_call_fold ( const nlohmann::json & arg_node)
static

◆ call_as_value()

exprt call_as_value ( const exprt & call)
static

A call converted as a statement, as a side-effect expression: goto-convert hoists it in evaluation order (short-circuit, loop guards).

◆ collect_dict_stores()

void collect_dict_stores ( const nlohmann::json & node,
const std::string & name,
std::vector< nlohmann::json > & out )
static

◆ collect_dict_values()

void collect_dict_values ( const nlohmann::json & node,
const std::string & name,
std::vector< nlohmann::json > & out )
static

◆ collect_nested_stores()

void collect_nested_stores ( const nlohmann::json & node,
const nlohmann::json & container,
std::vector< nlohmann::json > & out )
static

◆ collect_own_returns()

void collect_own_returns ( const nlohmann::json & node,
std::vector< nlohmann::json > & out )
static

◆ is_name()

bool is_name ( const nlohmann::json & node,
const std::string & name )
static

◆ lambda_bound_to()

nlohmann::json lambda_bound_to ( const std::string & name,
const nlohmann::json & body,
const nlohmann::json & ast )
static

The lambda name is bound to in body: name = lambda ..., or name = make() where make returns a lambda reading only its parameters.

◆ passes_as()

bool passes_as ( const typet & arg,
const code_typet::argumentt & param )
static

Whether an argument of type arg binds param as it is, a string decaying to a pointer to its first character.

◆ push_dict_values()

void push_dict_values ( const nlohmann::json & value,
std::vector< nlohmann::json > & out )
static

◆ reads_only()

bool reads_only ( const nlohmann::json & node,
const std::set< std::string > & params )
static

Whether every name node reads is one of params.

◆ refuse_mixed_return_types()

void refuse_mixed_return_types ( )
static

◆ refuse_unbound_arguments()

void refuse_unbound_arguments ( const nlohmann::json & element,
bool is_lambda )
static

Keyword, starred and default arguments of a call of an expression's result are not bound.

◆ refuse_unbound_parameters()

void refuse_unbound_parameters ( const side_effect_expr_function_callt & call,
const code_typet & callee_type,
bool is_lambda )
static

◆ returned_dict_values()

bool returned_dict_values ( const nlohmann::json & module,
const nlohmann::json & call,
std::vector< nlohmann::json > & out )
static

◆ subscript_root()

const nlohmann::json & subscript_root ( const nlohmann::json & node,
int & depth )
static

◆ used_as_value()

bool used_as_value ( const nlohmann::json & node,
const std::string & name )
static