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

#include <clang_c_language.h>

Inheritance diagram for clang_c_languaget:
[legend]

Public Member Functions

virtual bool preprocess (const std::string &path, std::ostream &outstream)
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
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
unsigned default_flags (presentationt target) const override
languaget * new_language () 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

Static Public Member Functions

static void register_bundled ()
 Registers the bundled clang headers with file_operations.

Protected Member Functions

virtual std::string internal_additions ()
virtual void force_file_type (std::vector< std::string > &compiler_args)
virtual void build_include_args (std::vector< std::string > &compiler_args)
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

static const std::string & clang_resource_dir ()

Protected Attributes

std::unique_ptr< clang::ASTUnit > AST

Constructor & Destructor Documentation

◆ clang_c_languaget()

clang_c_languaget::clang_c_languaget ( )
default

◆ ~clang_c_languaget()

clang_c_languaget::~clang_c_languaget ( )
default

Member Function Documentation

◆ build_compiler_args()

void clang_c_languaget::build_compiler_args ( std::vector< std::string > & compiler_args)
protectedvirtual

◆ build_include_args()

void clang_c_languaget::build_include_args ( std::vector< std::string > & compiler_args)
protectedvirtual

Reimplemented in clang_cpp_languaget.

◆ clang_resource_dir()

const std::string & clang_c_languaget::clang_resource_dir ( )
staticprotected

◆ compiler_args()

std::vector< std::string > clang_c_languaget::compiler_args ( std::string tool_name)
inlineprotected

◆ default_flags()

unsigned clang_c_languaget::default_flags ( presentationt target) const
overridevirtual

Reimplemented from languaget.

◆ final()

bool clang_c_languaget::final ( contextt & context)
overridevirtual

Reimplemented from languaget.

Reimplemented in clang_cpp_languaget, and solidity_languaget.

◆ force_file_type()

void clang_c_languaget::force_file_type ( std::vector< std::string > & compiler_args)
protectedvirtual

Reimplemented in clang_cpp_languaget.

◆ from_expr()

bool clang_c_languaget::from_expr ( const exprt & expr,
std::string & code,
const namespacet & ns,
unsigned flags )
overridevirtual

Implements languaget.

Reimplemented in clang_cpp_languaget.

◆ from_type()

bool clang_c_languaget::from_type ( const typet & type,
std::string & code,
const namespacet & ns,
unsigned flags )
overridevirtual

Implements languaget.

Reimplemented in clang_cpp_languaget.

◆ id()

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

Reimplemented from languaget.

Reimplemented in clang_cpp_languaget, and solidity_languaget.

◆ internal_additions()

std::string clang_c_languaget::internal_additions ( )
protectedvirtual

Reimplemented in clang_cpp_languaget.

◆ new_language()

languaget * clang_c_languaget::new_language ( ) const
inlineoverridevirtual

Implements languaget.

Reimplemented in clang_cpp_languaget, and solidity_languaget.

◆ parse()

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

Implements languaget.

Reimplemented in solidity_languaget.

◆ preprocess()

bool clang_c_languaget::preprocess ( const std::string & path,
std::ostream & outstream )
virtual

◆ register_bundled()

void clang_c_languaget::register_bundled ( )
static

Registers the bundled clang headers with file_operations.

◆ show_parse()

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

Implements languaget.

Reimplemented in solidity_languaget.

◆ typecheck()

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

Implements languaget.

Reimplemented in clang_cpp_languaget, and solidity_languaget.

Member Data Documentation

◆ AST

std::unique_ptr<clang::ASTUnit> clang_c_languaget::AST
protected

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