ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
solidity_convert_call.cpp File Reference

Function call conversion for the Solidity frontend. More...

#include <solidity-frontend/solidity_convert.h>
#include <solidity-frontend/typecast.h>
#include <util/arith/arith_tools.h>
#include <util/arith/bitvector.h>
#include <util/lang/c_types.h>
#include <util/expr/expr_util.h>
#include <util/base/i2string.h>
#include <util/arith/mp_arith.h>
#include <util/irep/std_expr.h>
#include <irep2/irep2_utils.h>
#include <util/irep/migrate.h>
#include <util/message/message.h>
#include <fstream>
#include <limits>
Include dependency graph for solidity_convert_call.cpp:

Functions

static std::string strip_spaces (const std::string &s)
static const nlohmann::json * resolve_function_reference (const nlohmann::json &ast_root, const nlohmann::json &node)

Detailed Description

Function call conversion for the Solidity frontend.

Converts Solidity function calls from the solc JSON AST into ESBMC's side_effect_expr_function_callt representation. Handles library function calls, using-for directive calls, and regular internal/external function calls with argument conversion and this-pointer injection.

Function Documentation

◆ resolve_function_reference()

const nlohmann::json * resolve_function_reference ( const nlohmann::json & ast_root,
const nlohmann::json & node )
static

◆ strip_spaces()

std::string strip_spaces ( const std::string & s)
static