cprover
|
#include <cpp_id.h>
Public Member Functions | |
cpp_idt () | |
bool | is_class () const |
bool | is_enum () const |
bool | is_namespace () const |
bool | is_typedef () const |
cpp_idt & | get_parent () const |
void | set_parent (cpp_idt &_parent) |
void | clear () |
void | print (std::ostream &out, unsigned indent=0) const |
void | print_fields (std::ostream &out, unsigned indent=0) const |
Public Attributes | |
bool | is_member |
bool | is_method |
bool | is_static_member |
bool | is_scope |
bool | is_constructor |
id_classt | id_class |
irep_idt | identifier |
irep_idt | base_name |
irep_idt | class_identifier |
exprt | this_expr |
std::string | prefix |
std::string | suffix |
unsigned | compound_counter |
Protected Types | |
typedef std::multimap< irep_idt, cpp_idt > | cpp_id_mapt |
typedef std::vector< cpp_idt * > | scope_listt |
Protected Attributes | |
cpp_id_mapt | sub |
scope_listt | using_scopes |
scope_listt | secondary_scopes |
cpp_idt * | parent |
|
protected |
|
protected |
|
strong |
cpp_idt::cpp_idt | ( | ) |
Definition at line 18 of file cpp_id.cpp.
References id_class, and UNKNOWN.
Referenced by clear(), and cpp_scopet::insert().
|
inline |
Definition at line 83 of file cpp_id.h.
References parent, and PRECONDITION.
Referenced by cpp_scopet::get_parent().
|
inline |
Definition at line 53 of file cpp_id.h.
References CLASS, and id_class.
Referenced by cpp_typecheckt::check_component_access(), and cpp_typecheckt::instantiate_template().
|
inline |
|
inline |
|
inline |
void cpp_idt::print | ( | std::ostream & | out, |
unsigned | indent = 0 |
||
) | const |
Definition at line 31 of file cpp_id.cpp.
References print_fields(), and sub.
Referenced by cpp_typecheck_resolvet::do_builtin(), and operator<<().
void cpp_idt::print_fields | ( | std::ostream & | out, |
unsigned | indent = 0 |
||
) | const |
Definition at line 46 of file cpp_id.cpp.
References base_name, class_identifier, id_class, identifier, is_constructor, is_member, is_method, is_scope, is_static_member, prefix, secondary_scopes, suffix, and using_scopes.
Referenced by print(), and cpp_scopest::print_current().
|
inline |
irep_idt cpp_idt::base_name |
Definition at line 73 of file cpp_id.h.
Referenced by cpp_scopet::contains(), cpp_scopet::insert(), cpp_scopet::lookup(), and print_fields().
irep_idt cpp_idt::class_identifier |
Definition at line 76 of file cpp_id.h.
Referenced by cpp_typecheck_resolvet::convert_identifier(), cpp_scopet::new_scope(), print_fields(), cpp_typecheck_resolvet::resolve_scope(), cpp_typecheckt::typecheck_expr_this(), and cpp_typecheckt::typecheck_member_initializer().
unsigned cpp_idt::compound_counter |
Definition at line 81 of file cpp_id.h.
Referenced by cpp_scopest::new_block_scope().
id_classt cpp_idt::id_class |
Definition at line 51 of file cpp_id.h.
Referenced by cpp_typecheckt::add_anonymous_members_to_scope(), cpp_typecheckt::class_template_symbol(), cpp_declarator_convertert::convert(), cpp_typecheckt::convert_anonymous_union(), cpp_typecheck_resolvet::convert_identifier(), cpp_declarator_convertert::convert_new_symbol(), cpp_root_scopet::cpp_root_scopet(), cpp_typecheckt::instantiate_template(), is_class(), is_enum(), cpp_scopet::is_global_scope(), is_namespace(), cpp_scopet::is_root_scope(), cpp_scopet::is_template_scope(), is_typedef(), cpp_scopet::lookup(), cpp_scopet::lookup_identifier(), cpp_scopest::new_scope(), print_fields(), cpp_typecheckt::put_compound_into_scope(), cpp_scopest::put_into_scope(), cpp_typecheck_resolvet::resolve(), cpp_typecheckt::typecheck_class_template(), cpp_typecheckt::typecheck_compound_type(), cpp_typecheckt::typecheck_enum_body(), cpp_typecheckt::typecheck_enum_type(), cpp_typecheckt::typecheck_function_template(), and cpp_typecheckt::typecheck_template_parameters().
irep_idt cpp_idt::identifier |
Definition at line 73 of file cpp_id.h.
Referenced by cpp_typecheckt::check_component_access(), cpp_declarator_convertert::convert(), cpp_typecheck_resolvet::convert_identifier(), cpp_typecheck_resolvet::convert_template_parameter(), cpp_root_scopet::cpp_root_scopet(), cpp_typecheck_resolvet::filter_for_named_scopes(), cpp_typecheckt::instantiate_template(), cpp_scopet::lookup(), cpp_scopet::lookup_identifier(), print_fields(), cpp_typecheckt::put_compound_into_scope(), cpp_scopest::put_into_scope(), cpp_typecheck_resolvet::resolve(), cpp_typecheckt::typecheck_class_template_member(), and cpp_typecheckt::typecheck_template_parameters().
bool cpp_idt::is_constructor |
Definition at line 48 of file cpp_id.h.
Referenced by cpp_typecheck_resolvet::convert_identifier(), and print_fields().
bool cpp_idt::is_member |
Definition at line 48 of file cpp_id.h.
Referenced by cpp_typecheck_resolvet::convert_identifier(), and print_fields().
bool cpp_idt::is_method |
Definition at line 48 of file cpp_id.h.
Referenced by cpp_typecheckt::convert_function(), cpp_typecheck_resolvet::convert_identifier(), and print_fields().
bool cpp_idt::is_scope |
Definition at line 48 of file cpp_id.h.
Referenced by cpp_scopet::add_secondary_scope(), cpp_scopet::add_using_scope(), cpp_scopet::cpp_scopet(), cpp_typecheck_resolvet::filter_for_named_scopes(), cpp_scopest::get_scope(), print_fields(), set_parent(), and cpp_typecheckt::typecheck_enum_type().
bool cpp_idt::is_static_member |
Definition at line 48 of file cpp_id.h.
Referenced by cpp_typecheckt::convert_function(), cpp_typecheck_resolvet::convert_identifier(), and print_fields().
|
protected |
Definition at line 110 of file cpp_id.h.
Referenced by get_parent(), cpp_scopet::lookup_identifier(), and set_parent().
std::string cpp_idt::prefix |
Definition at line 80 of file cpp_id.h.
Referenced by cpp_typecheckt::class_template_identifier(), cpp_typecheckt::class_template_symbol(), cpp_typecheckt::convert(), cpp_typecheckt::convert_anon_struct_union_member(), cpp_typecheckt::convert_function(), cpp_typecheckt::convert_parameter(), cpp_typecheck_resolvet::do_builtin(), cpp_declarator_convertert::get_final_identifier(), cpp_declarator_convertert::get_pretty_name(), cpp_typecheckt::instantiate_template(), cpp_scopet::new_scope(), print_fields(), cpp_scopest::put_into_scope(), cpp_typecheck_resolvet::resolve(), cpp_typecheckt::typecheck_class_template(), cpp_typecheckt::typecheck_compound_bases(), cpp_typecheckt::typecheck_compound_declarator(), cpp_typecheckt::typecheck_compound_type(), cpp_typecheckt::typecheck_enum_type(), cpp_typecheckt::typecheck_function_template(), cpp_typecheckt::typecheck_member_function(), and cpp_typecheckt::typecheck_template_parameters().
|
protected |
Definition at line 109 of file cpp_id.h.
Referenced by cpp_scopet::add_secondary_scope(), cpp_scopet::lookup(), and print_fields().
|
protected |
Definition at line 105 of file cpp_id.h.
Referenced by cpp_scopet::insert(), cpp_scopet::lookup(), cpp_scopet::lookup_identifier(), and print().
std::string cpp_idt::suffix |
Definition at line 80 of file cpp_id.h.
Referenced by cpp_typecheckt::instantiate_template(), print_fields(), and cpp_typecheckt::typecheck_compound_type().
exprt cpp_idt::this_expr |
Definition at line 77 of file cpp_id.h.
Referenced by cpp_typecheckt::convert_function(), cpp_typecheck_resolvet::convert_identifier(), cpp_scopet::new_scope(), cpp_typecheckt::this_struct_type(), cpp_typecheckt::typecheck_expr_cpp_name(), cpp_typecheckt::typecheck_expr_this(), and cpp_typecheckt::typecheck_member_initializer().
|
protected |
Definition at line 109 of file cpp_id.h.
Referenced by cpp_scopet::add_using_scope(), cpp_scopet::lookup(), and print_fields().