Classes |
| struct | RuleInfo |
Public Member Functions |
| | CCSemantic (CCSyntax &, CCBuilder &) |
| void | init (CSemDatabase &, Unit &) |
| | Initialize the semantic analysis.
|
| void | init (CSemDatabase &, Unit &, CStructure *, bool, bool, CCInstantiation *) |
| virtual CTree * | access_spec () |
| virtual CTree * | typedef_name () |
| virtual CTree * | class_name () |
| virtual CTree * | enum_name () |
| virtual CTree * | condition () |
| virtual CTree * | colon_colon () |
| virtual CTree * | decl_spec_seq1 () |
| virtual CTree * | nested_name_spec () |
| virtual CTree * | nested_name_spec1 () |
| virtual CTree * | valid_id_expr (CTree *expr) |
| virtual CTree * | postfix_expr1 () |
| virtual CTree * | postfix_expr2 () |
| virtual CTree * | pseudo_dtor_name () |
| virtual CTree * | simple_type_spec () |
| virtual CTree * | direct_new_declarator () |
| virtual CTree * | class_spec_err () |
| virtual CTree * | member_decl1 () |
| virtual CTree * | member_declarator_err () |
| virtual CTree * | declarator_id (bool) |
| virtual CTree * | finish_init_declarator () |
| virtual CTree * | obj_decl (CTree *) |
| virtual bool | implicit_int () |
| virtual CTree * | init_declarator (CTree *) |
| virtual CTree * | const_expr () |
| virtual CTree * | enumerator_def () |
| virtual CTree * | pure_spec () |
| virtual CTree * | const_init () |
| virtual CTree * | template_param () |
| virtual CTree * | class_spec () |
| virtual CTree * | ctor_init () |
| virtual CTree * | handler () |
| virtual CTree * | exception_spec () |
| virtual CTree * | introduce_orig_ns () |
| virtual CTree * | introduce_ns_extension () |
| virtual CTree * | introduce_unnamed_ns () |
| virtual CTree * | introduce_ns_alias () |
| virtual CTree * | namespace_def (CTree *) |
| virtual CTree * | namespace_def_err (CTree *) |
| virtual CTree * | original_ns_name () |
| virtual CTree * | namespace_alias () |
| virtual CTree * | using_directive () |
| virtual CTree * | using_decl () |
| virtual CTree * | access_decl (CTree *=0) |
| virtual CTree * | introduce_type_param () |
| virtual CTree * | introduce_non_type_param () |
| virtual CTree * | introduce_template_instance () |
| virtual CTree * | template_param_list () |
| virtual CTree * | template_decl () |
| virtual CTree * | template_name (bool class_only=false) |
| virtual CTree * | template_key () |
| virtual CTree * | explicit_instantiation () |
| virtual CTree * | explicit_specialization () |
| virtual CTree * | introduce_label () |
| virtual CTree * | introduce_enum () |
| virtual CTree * | introduce_enumerator () |
| virtual CTree * | introduce_object () |
| virtual CTree * | introduce_named_type () |
| virtual CTree * | introduce_function () |
| virtual CTree * | introduce_parameter () |
| virtual CTree * | introduce_class () |
| virtual CTree * | introduce_member () |
| virtual CTree * | introduce_tag () |
| virtual CTree * | introduce_exception () |
| void | reenter_class_scope () |
| void | enter_param_decl_clause () |
| | Enter a function parameter declaration clause.
|
| void | enter_template_param_list (Syntax::State) |
| void | enter_base_spec () |
| void | enter_class_def () |
| void | enter_template_decl () |
| void | enter_member_access () |
| void | enter_postfix_expr () |
| void | enter_exception_spec () |
| void | enter_template_arg_list (Syntax::State) |
| void | enter_conv_type_id () |
| void | enter_entity_name (bool v=true) |
| void | enter_nested_name () |
| bool | enter_expr () |
| void | enter_extern_decl () |
| void | leave_param_decl_clause () |
| | Leave a function parameter declaration clause.
|
| void | leave_template_param_list () |
| void | leave_base_spec () |
| void | leave_class_def () |
| void | leave_member_access () |
| void | leave_postfix_expr () |
| void | leave_exception_spec () |
| void | leave_template_arg_list () |
| void | leave_conv_type_id () |
| void | leave_entity_name () |
| void | leave_nested_name () |
| bool | leave_expr () |
| void | leave_extern_decl () |
| bool | in_base_spec () const |
| bool | in_class_def () const |
| bool | in_conv_type_id () const |
| bool | in_nested_name () const |
| bool | in_expr () const |
| bool | in_extern_decl () const |
| bool | is_entity_name () const |
| Syntax::State | in_template_param_list () const |
| Syntax::State | in_template_arg_list () const |
| virtual CProtection::Type | protection () const |
| bool | non_project_loc () |
| bool | non_primary_loc () |
| bool | skip_tpl_fct_bodies () const |
| bool | reset_search_scope (bool=false) |
| CStructure * | array_delim (CStructure *=0) |
| void | postfix_expr (CTree *) |
| int | lookup_rule () |
| void | add_rule (CTree *(CCSyntax::*)(), CTree *, void(CCSyntax::*)()) |
| void | parse_rules () |
| void | reject_rules () |
| virtual void | add_base_classes (CTree *) |
Public Attributes |
| CStructure * | search_scope |
| CStructure * | last_search_scope |
| CStructure * | last_scope |
| bool | dep_nested_name |
| const Token * | tok |
| CStructure * | scope |
| bool | nested |
| bool | nested_name |
| bool | base_spec |
Protected Member Functions |
| virtual CCBuilder & | builder () const |
| virtual CCSyntax & | syntax () const |
| virtual void | Delete () |
| | Delete the top item on the semantic stack.
|
| void | enter_scope (CStructure *) |
| | Enter the given scope.
|
| void | deleteContainer (int) |
| void | setQualName (CObjectInfo *, CObjectInfo *) const |
| CStructure * | getQualifiedScope (CStructure *scope) const |
| CTypeInfo * | resolveExpr (CTree *, CTree *=(CTree *) 0) const |
| void | calculateAddress (CTree *) const |
| bool | isAddrExpr (CTree *) const |
| CObjectInfo * | getLastResolvedName (CT_SimpleName *) const |
| CStructure * | getNameScope (CT_SimpleName *, bool=true) const |
| CStructure * | getScope (CObjectInfo *obj) const |
| CStructure * | getFriendScope (bool skip_tpl_scope=false) const |
| CStructure * | getNonTplScope (bool consider_instance_scope=false) const |
| void | qualifiedScopeName (CT_SimpleName *, std::ostringstream &) const |
| bool | isQualName (CT_SimpleName *) const |
| bool | realTypedef (CObjectInfo *) const |
| bool | equalType (CTypeInfo *, CTypeInfo *, bool=true) const |
| void | lookupName (const Token *, CStructure *, bool) |
| bool | isClassOrEnum (CObjectInfo *) const |
| void | introduceTemplate (CObjectInfo *, CTemplateInfo *) |
| void | setTemplateScope (CCNameLookup &, CObjectInfo *, CTypeInfo *, CTemplateInfo *, bool) |
| bool | isSpecialization (CTree *) const |
| void | setSpecializationName (CTree *, CTemplateInfo *) const |
| bool | matchArguments (CT_TemplateName *n1, CT_TemplateName *n2) const |
| CLinkage::Type | determine_linkage (CSemDeclSpecs *, SemObjType, CObjectInfo *=(CObjectInfo *) 0) const |
| CStorage::Type | determine_storage_class (CSemDeclSpecs *) const |
| void | setLanguage (CObjectInfo *) const |
| void | setProtection (CObjectInfo *) const |
| void | linkFctDecls (CCNameLookup &, CObjectInfo *) const |
| void | linkCtorDecls (CObjectInfo *) const |
| void | declareNamespaceStd () |
| void | declareImplicitFcts () |
| void | declareSpecialMembers () |
| CFunctionInfo * | createMethod (const char *, CRecord *, CTypeInfo *) |
| bool | isRefToClass (CTypeInfo *, CRecord *) const |
| bool | isBaseClass (CClassInfo *, CClassInfo *) const |
| void | addBaseClasses (CClassInfo *, CT_ClassDef *) |
| void | addBaseClass (CClassInfo *, CT_BaseSpec *) |
| virtual bool | check_function_lookup (CCNameLookup &, CStructure *, CSemDeclSpecs *, CCSemDeclarator &, CTree *, bool) |
| virtual bool | check_member_lookup (CCNameLookup &, CStructure *, CSemDeclSpecs *, CCSemDeclarator &, CTree *, bool &, bool) |
| virtual bool | check_object_lookup (CCNameLookup &, CStructure *, CSemDeclSpecs *, CCSemDeclarator &, CTree *, bool &, CObjectInfo *&) |
Protected Attributes |
| Array< RuleInfo > | rules |
| Stack< bool > | _in_base_spec |
| Stack< bool > | _in_class_def |
| Stack< bool > | _in_nested_name |
| Stack< bool > | _in_conv_type_id |
| Stack< const char * > | _in_extern_decl |
| Stack< CProtection::Type > | _protection |
| CCNameLookup | shared_nl |
| struct { |
| const Token * tok |
| CStructure * scope |
| bool nested |
| bool nested_name |
| bool base_spec |
| } | last_token_nl |
| Stack< Syntax::State > | _in_template_arg_list |
| Stack< Syntax::State > | _in_template_param_list |
| Stack< bool > | parsing_entity_name |
| Stack< bool > | _in_expr |
| Stack< CTree * > | _postfix_expr |
| Stack< bool > | _in_memb_access_expr |
| bool | expect_template |
| bool | parsing_fct_inst |
| bool | parsing_class_inst |
| bool | real_inst |
| CCInstantiation * | tpl_inst |
| Unit * | _last_unit |
| bool | _last_body_skipped |