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

#include <solidity_language.h>

Inheritance diagram for solidity_languaget:
[legend]

Public Member Functions

 solidity_languaget ()
bool parse (const std::string &path) override
bool final (contextt &context) override
bool typecheck (contextt &context, const std::string &module) override
std::string id () const override
void show_parse (std::ostream &out) override
std::string get_temp_file ()
bool convert_intrinsics (contextt &context)
std::string find_solc () const
std::string get_solc_version (const std::string &solc) const
bool invoke_solc (const std::string &sol_path, std::string &solast_path)
bool parse_solast (const std::string &solast_path)
languaget * new_language () const override
Public Member Functions inherited from clang_cpp_languaget
bool from_expr (const exprt &expr, std::string &code, const namespacet &ns, unsigned flags) override
bool from_type (const typet &type, std::string &code, const namespacet &ns, unsigned flags) override
Public Member Functions inherited from clang_c_languaget
virtual bool preprocess (const std::string &path, std::ostream &outstream)
unsigned default_flags (presentationt target) const override
 clang_c_languaget ()
 ~clang_c_languaget ()
Public Member Functions inherited from languaget
bool from_expr (const exprt &expr, std::string &code, const namespacet &ns, presentationt target=presentationt::HUMAN)
bool from_type (const typet &type, std::string &code, const namespacet &ns, presentationt target=presentationt::HUMAN)
virtual ~languaget ()=default

Public Attributes

std::string temp_path
std::string contract_names
std::string func_name
std::string focus_func_name
std::string contract_path
nlohmann::json src_ast_json_array = nlohmann::json::array()
nlohmann::json intrinsic_json
languaget * clang_c_module

Additional Inherited Members

Static Public Member Functions inherited from clang_c_languaget
static void register_bundled ()
 Registers the bundled clang headers with file_operations.
Protected Member Functions inherited from clang_cpp_languaget
std::string internal_additions () override
void force_file_type (std::vector< std::string > &compiler_args) override
void build_include_args (std::vector< std::string > &compiler_args) override
Protected Member Functions inherited from clang_c_languaget
virtual void build_compiler_args (std::vector< std::string > &compiler_args)
std::vector< std::string > compiler_args (std::string tool_name)
Static Protected Member Functions inherited from clang_c_languaget
static const std::string & clang_resource_dir ()
Protected Attributes inherited from clang_c_languaget
std::unique_ptr< clang::ASTUnit > AST

Constructor & Destructor Documentation

◆ solidity_languaget()

solidity_languaget::solidity_languaget ( )

Member Function Documentation

◆ convert_intrinsics()

bool solidity_languaget::convert_intrinsics ( contextt & context)

◆ final()

bool solidity_languaget::final ( contextt & context)
overridevirtual

Reimplemented from clang_cpp_languaget.

◆ find_solc()

std::string solidity_languaget::find_solc ( ) const

◆ get_solc_version()

std::string solidity_languaget::get_solc_version ( const std::string & solc) const

◆ get_temp_file()

std::string solidity_languaget::get_temp_file ( )

◆ id()

std::string solidity_languaget::id ( ) const
inlineoverridevirtual

Reimplemented from clang_cpp_languaget.

◆ invoke_solc()

bool solidity_languaget::invoke_solc ( const std::string & sol_path,
std::string & solast_path )

◆ new_language()

languaget * solidity_languaget::new_language ( ) const
inlineoverridevirtual

Reimplemented from clang_cpp_languaget.

◆ parse()

bool solidity_languaget::parse ( const std::string & path)
overridevirtual

Reimplemented from clang_c_languaget.

◆ parse_solast()

bool solidity_languaget::parse_solast ( const std::string & solast_path)

◆ show_parse()

void solidity_languaget::show_parse ( std::ostream & out)
overridevirtual

Reimplemented from clang_c_languaget.

◆ typecheck()

bool solidity_languaget::typecheck ( contextt & context,
const std::string & module )
overridevirtual

Reimplemented from clang_cpp_languaget.

Member Data Documentation

◆ clang_c_module

languaget* solidity_languaget::clang_c_module

◆ contract_names

std::string solidity_languaget::contract_names

◆ contract_path

std::string solidity_languaget::contract_path

◆ focus_func_name

std::string solidity_languaget::focus_func_name

◆ func_name

std::string solidity_languaget::func_name

◆ intrinsic_json

nlohmann::json solidity_languaget::intrinsic_json

◆ src_ast_json_array

nlohmann::json solidity_languaget::src_ast_json_array = nlohmann::json::array()

◆ temp_path

std::string solidity_languaget::temp_path

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