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

Functions

static bool seeds_class_attributes (const nlohmann::json &class_node)
static bool rebinds_class_attribute (const nlohmann::json &node, const std::string &class_name, const std::string &attr_name)
static const struct_typet * self_struct (const typet &t, const namespacet &ns)
 The struct a self argument or parameter of type t points to, or null.
static const code_function_callt * as_function_call (const exprt &e)
static const symbolt * called_function (const code_function_callt &call, const contextt &symbols)
static exprt call_receiver (const code_function_callt &call)
 The call's first argument with its casts stripped, or nil.
static bool is_member_through (const exprt &e, const irep_idt &self)
static void collect_self_members (const exprt &body, const irep_idt &self, const contextt &symbols, std::set< irep_idt > &visited, std::set< irep_idt > &names)
 The attributes body reads or writes through the pointer self, including in the methods it passes self on to.
static void collect_method_self_members (const symbolt &method, const contextt &symbols, std::set< irep_idt > &visited, std::set< irep_idt > &names)
 The attributes method reads or writes through its first parameter.
static std::optional< std::size_t > component_index (const struct_typet &st, const irep_idt &name)
static bool same_slot (const struct_typet &own, const struct_typet &given, const irep_idt &name)
static std::runtime_error misaligned_call_error (const code_function_callt &call, const symbolt &callee, const struct_typet &own, const struct_typet &given, const irep_idt &name)
static void collect_self_ctor_args (const nlohmann::json &node, const std::string &class_name, size_t param_idx, const std::string &owner, std::set< std::string > &classes)
static typet self_ctor_arg_type (const std::vector< const nlohmann::json * > &module_bodies, const std::string &class_name, int param_idx)

Function Documentation

◆ as_function_call()

const code_function_callt * as_function_call ( const exprt & e)
static

◆ call_receiver()

exprt call_receiver ( const code_function_callt & call)
static

The call's first argument with its casts stripped, or nil.

◆ called_function()

const symbolt * called_function ( const code_function_callt & call,
const contextt & symbols )
static

◆ collect_method_self_members()

void collect_method_self_members ( const symbolt & method,
const contextt & symbols,
std::set< irep_idt > & visited,
std::set< irep_idt > & names )
static

The attributes method reads or writes through its first parameter.

◆ collect_self_ctor_args()

void collect_self_ctor_args ( const nlohmann::json & node,
const std::string & class_name,
size_t param_idx,
const std::string & owner,
std::set< std::string > & classes )
static

◆ collect_self_members()

void collect_self_members ( const exprt & body,
const irep_idt & self,
const contextt & symbols,
std::set< irep_idt > & visited,
std::set< irep_idt > & names )
static

The attributes body reads or writes through the pointer self, including in the methods it passes self on to.

◆ component_index()

std::optional< std::size_t > component_index ( const struct_typet & st,
const irep_idt & name )
static

◆ is_member_through()

bool is_member_through ( const exprt & e,
const irep_idt & self )
static

◆ misaligned_call_error()

std::runtime_error misaligned_call_error ( const code_function_callt & call,
const symbolt & callee,
const struct_typet & own,
const struct_typet & given,
const irep_idt & name )
static

◆ rebinds_class_attribute()

bool rebinds_class_attribute ( const nlohmann::json & node,
const std::string & class_name,
const std::string & attr_name )
static

◆ same_slot()

bool same_slot ( const struct_typet & own,
const struct_typet & given,
const irep_idt & name )
static

◆ seeds_class_attributes()

bool seeds_class_attributes ( const nlohmann::json & class_node)
static

◆ self_ctor_arg_type()

typet self_ctor_arg_type ( const std::vector< const nlohmann::json * > & module_bodies,
const std::string & class_name,
int param_idx )
static

◆ self_struct()

const struct_typet * self_struct ( const typet & t,
const namespacet & ns )
static

The struct a self argument or parameter of type t points to, or null.