CBMC
cpp_declarator_convertert Class Reference

#include <cpp_declarator_converter.h>

+ Collaboration diagram for cpp_declarator_convertert:

Public Member Functions

 cpp_declarator_convertert (class cpp_typecheckt &_cpp_typecheck)
 
symboltconvert (const typet &type, const cpp_storage_spect &storage_spec, const cpp_member_spect &member_spec, cpp_declaratort &declarator)
 
symboltconvert (const cpp_declarationt &declaration, cpp_declaratort &declarator)
 

Public Attributes

bool is_typedef
 
bool is_template
 
bool is_template_parameter
 
bool is_friend
 
irep_idt linkage_spec
 
class cpp_typechecktcpp_typecheck
 

Protected Member Functions

void get_final_identifier ()
 
irep_idt get_pretty_name ()
 
symboltconvert_new_symbol (const cpp_storage_spect &storage_spec, const cpp_member_spect &member_spec, cpp_declaratort &declarator)
 
void handle_initializer (symbolt &symbol, cpp_declaratort &declarator)
 
void operator_overloading_rules (const symbolt &symbol)
 
void main_function_rules (const symbolt &symbol)
 
void enforce_rules (const symbolt &symbol)
 
void check_array_types (typet &type, bool force_constant)
 
bool is_code_type (const typet &type) const
 
void combine_types (const source_locationt &source_location, const typet &decl_type, symbolt &symbol)
 

Protected Attributes

irep_idt base_name
 
typet final_type
 
cpp_scopetscope
 
irep_idt final_identifier
 
bool is_code
 

Detailed Description

Definition at line 24 of file cpp_declarator_converter.h.

Constructor & Destructor Documentation

◆ cpp_declarator_convertert()

cpp_declarator_convertert::cpp_declarator_convertert ( class cpp_typecheckt _cpp_typecheck)

Definition at line 24 of file cpp_declarator_converter.cpp.

Member Function Documentation

◆ check_array_types()

void cpp_declarator_convertert::check_array_types ( typet type,
bool  force_constant 
)
protected

◆ combine_types()

void cpp_declarator_convertert::combine_types ( const source_locationt source_location,
const typet decl_type,
symbolt symbol 
)
protected

Definition at line 257 of file cpp_declarator_converter.cpp.

◆ convert() [1/2]

symbolt& cpp_declarator_convertert::convert ( const cpp_declarationt declaration,
cpp_declaratort declarator 
)
inline

Definition at line 42 of file cpp_declarator_converter.h.

◆ convert() [2/2]

symbolt & cpp_declarator_convertert::convert ( const typet type,
const cpp_storage_spect storage_spec,
const cpp_member_spect member_spec,
cpp_declaratort declarator 
)

Definition at line 36 of file cpp_declarator_converter.cpp.

◆ convert_new_symbol()

symbolt & cpp_declarator_convertert::convert_new_symbol ( const cpp_storage_spect storage_spec,
const cpp_member_spect member_spec,
cpp_declaratort declarator 
)
protected

Definition at line 440 of file cpp_declarator_converter.cpp.

◆ enforce_rules()

void cpp_declarator_convertert::enforce_rules ( const symbolt symbol)
protected

Definition at line 337 of file cpp_declarator_converter.cpp.

◆ get_final_identifier()

void cpp_declarator_convertert::get_final_identifier ( )
protected

Definition at line 398 of file cpp_declarator_converter.cpp.

◆ get_pretty_name()

irep_idt cpp_declarator_convertert::get_pretty_name ( )
protected

Definition at line 568 of file cpp_declarator_converter.cpp.

◆ handle_initializer()

void cpp_declarator_convertert::handle_initializer ( symbolt symbol,
cpp_declaratort declarator 
)
protected

Definition at line 346 of file cpp_declarator_converter.cpp.

◆ is_code_type()

bool cpp_declarator_convertert::is_code_type ( const typet type) const
inlineprotected

Definition at line 83 of file cpp_declarator_converter.h.

◆ main_function_rules()

void cpp_declarator_convertert::main_function_rules ( const symbolt symbol)
protected

Definition at line 600 of file cpp_declarator_converter.cpp.

◆ operator_overloading_rules()

void cpp_declarator_convertert::operator_overloading_rules ( const symbolt symbol)
protected

Definition at line 595 of file cpp_declarator_converter.cpp.

Member Data Documentation

◆ base_name

irep_idt cpp_declarator_convertert::base_name
protected

Definition at line 56 of file cpp_declarator_converter.h.

◆ cpp_typecheck

class cpp_typecheckt& cpp_declarator_convertert::cpp_typecheck

Definition at line 53 of file cpp_declarator_converter.h.

◆ final_identifier

irep_idt cpp_declarator_convertert::final_identifier
protected

Definition at line 59 of file cpp_declarator_converter.h.

◆ final_type

typet cpp_declarator_convertert::final_type
protected

Definition at line 57 of file cpp_declarator_converter.h.

◆ is_code

bool cpp_declarator_convertert::is_code
protected

Definition at line 60 of file cpp_declarator_converter.h.

◆ is_friend

bool cpp_declarator_convertert::is_friend

Definition at line 33 of file cpp_declarator_converter.h.

◆ is_template

bool cpp_declarator_convertert::is_template

Definition at line 31 of file cpp_declarator_converter.h.

◆ is_template_parameter

bool cpp_declarator_convertert::is_template_parameter

Definition at line 32 of file cpp_declarator_converter.h.

◆ is_typedef

bool cpp_declarator_convertert::is_typedef

Definition at line 30 of file cpp_declarator_converter.h.

◆ linkage_spec

irep_idt cpp_declarator_convertert::linkage_spec

Definition at line 34 of file cpp_declarator_converter.h.

◆ scope

cpp_scopet* cpp_declarator_convertert::scope
protected

Definition at line 58 of file cpp_declarator_converter.h.


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