#include <cppTemplateScope.h>
Inheritance diagram for CPPTemplateScope:
Public Types | |
typedef vector< CPPDeclaration * > | Declarations |
typedef map< string, CPPType * > | ExtensionTypes |
typedef map< string, CPPNamespace * > | Namespaces |
typedef map< string, CPPTypedef * > | Typedefs |
typedef map< string, CPPInstance * > | Variables |
typedef map< string, CPPFunctionGroup * > | Functions |
typedef map< string, CPPDeclaration * > | Templates |
Public Member Functions | |
CPPTemplateScope (CPPScope *parent_scope) | |
void | add_template_parameter (CPPDeclaration *param) |
virtual void | add_declaration (CPPDeclaration *decl, CPPScope *global_scope, CPPPreprocessor *preprocessor, const cppyyltype &pos) |
virtual void | add_enum_value (CPPInstance *inst) |
virtual void | define_extension_type (CPPExtensionType *type) |
virtual void | define_namespace (CPPNamespace *scope) |
virtual void | add_using (CPPUsing *using_decl, CPPScope *global_scope, CPPPreprocessor *error_sink=NULL) |
virtual bool | is_fully_specified () const |
Returns true if this declaration is an actual, factual declaration, or false if some part of the declaration depends on a template parameter which has not yet been instantiated. | |
virtual string | get_simple_name () const |
virtual string | get_local_name (CPPScope *scope=NULL) const |
virtual string | get_fully_scoped_name () const |
virtual void | output (ostream &out, CPPScope *scope) const |
virtual CPPTemplateScope * | as_template_scope () |
void | set_current_vis (CPPVisibility current_vis) |
CPPVisibility | get_current_vis () const |
void | set_struct_type (CPPStructType *struct_type) |
Sets the struct or class that owns this scope. | |
CPPStructType * | get_struct_type () const |
Returns the class or struct that defines this scope, if any. | |
CPPScope * | get_parent_scope () const |
Returns the parent scope of this scope, if any. | |
CPPScope * | instantiate (const CPPTemplateParameterList *actual_params, CPPScope *current_scope, CPPScope *global_scope, CPPPreprocessor *error_sink=NULL) const |
CPPScope * | substitute_decl (CPPDeclaration::SubstDecl &subst, CPPScope *current_scope, CPPScope *global_scope) const |
CPPType * | find_type (const string &name, bool recurse=true) const |
CPPType * | find_type (const string &name, CPPDeclaration::SubstDecl &subst, CPPScope *global_scope, bool recurse=true) const |
CPPScope * | find_scope (const string &name, bool recurse=true) const |
CPPScope * | find_scope (const string &name, CPPDeclaration::SubstDecl &subst, CPPScope *global_scope, bool recurse=true) const |
CPPDeclaration * | find_symbol (const string &name, bool recurse=true) const |
CPPDeclaration * | find_template (const string &name, bool recurse=true) const |
void | write (ostream &out, int indent, CPPScope *scope) const |
CPPTemplateScope * | get_template_scope () |
Returns the nearest ancestor of this scope that is a template scope, or NULL if the scope is fully specified. | |
Public Attributes | |
CPPTemplateParameterList | _parameters |
Declarations | _declarations |
ExtensionTypes | _structs |
ExtensionTypes | _classes |
ExtensionTypes | _unions |
ExtensionTypes | _enums |
Namespaces | _namespaces |
Typedefs | _typedefs |
Variables | _variables |
Variables | _enum_values |
Functions | _functions |
Templates | _templates |
CPPNameComponent | _name |
Protected Types | |
typedef set< CPPScope * > | Using |
Protected Attributes | |
CPPScope * | _parent_scope |
CPPStructType * | _struct_type |
Using | _using |
CPPVisibility | _current_vis |
It simply defines the template parameters.
Definition at line 43 of file cppTemplateScope.h.
|
Definition at line 126 of file cppScope.h. |
|
Definition at line 129 of file cppScope.h. |
|
Definition at line 143 of file cppScope.h. |
|
Definition at line 135 of file cppScope.h. |
|
Definition at line 145 of file cppScope.h. |
|
Definition at line 138 of file cppScope.h. |
|
Definition at line 152 of file cppScope.h. |
|
Definition at line 140 of file cppScope.h. |
|
Definition at line 37 of file cppTemplateScope.cxx. References CPPScope::_parent_scope, CPPDeclaration::_template_scope, CPPScope::add_declaration(), global_scope, and NULL. |
|
Reimplemented from CPPScope. Definition at line 51 of file cppTemplateScope.cxx. References CPPScope::_parent_scope, CPPDeclaration::_template_scope, CPPScope::add_enum_value(), and NULL. |
|
Reimplemented from CPPScope. Definition at line 67 of file cppTemplateScope.cxx. References CPPScope::_parent_scope, CPPDeclaration::_template_scope, CPPScope::define_extension_type(), and NULL. |
|
Definition at line 122 of file cppTemplateScope.cxx. |
|
Reimplemented from CPPScope. Definition at line 108 of file cppTemplateScope.cxx. References CPPClassTemplateParameter::_ident, CPPScope::_typedefs, CPPIdentifier::get_local_name(), and NULL. |
|
Reimplemented from CPPScope. Definition at line 221 of file cppTemplateScope.cxx. |
|
Reimplemented from CPPScope. Definition at line 81 of file cppTemplateScope.cxx. References CPPScope::_parent_scope, CPPScope::define_namespace(), and NULL. |
|
Reimplemented from CPPScope. Definition at line 95 of file cppTemplateScope.cxx. References CPPScope::_parent_scope. |
|
Definition at line 642 of file cppScope.cxx. |
|
Definition at line 587 of file cppScope.cxx. References CPPStructType::_scope, CPPDeclaration::as_struct_type(), CPPScope::find_type(), global_scope, and NULL. Referenced by CPPIdentifier::get_scope(), and CPPIdentifier::is_fully_specified(). |
|
Definition at line 663 of file cppScope.cxx. References NULL. |
|
Definition at line 729 of file cppScope.cxx. References CPPScope::_parent_scope, CPPScope::get_local_name(), CPPNameComponent::get_name_with_templ(), and NULL. |
|
Definition at line 538 of file cppScope.cxx. References CPPScope::_namespaces. |
|
Definition at line 493 of file cppScope.cxx. References CPPScope::_typedefs, current_scope, global_scope, and CPPScope::substitute_decl(). Referenced by CPPScope::find_scope(), CPPIdentifier::get_scope(), and CPPScope::substitute_decl(). |
|
Definition at line 143 of file cppScope.cxx. |
|
Reimplemented from CPPScope. Definition at line 193 of file cppTemplateScope.cxx. |
|
Reimplemented from CPPScope. Definition at line 180 of file cppTemplateScope.cxx. |
|
Returns the parent scope of this scope, if any.
Definition at line 119 of file cppScope.cxx. References CPPScope::_current_vis. |
|
Reimplemented from CPPScope. Definition at line 167 of file cppTemplateScope.cxx. |
|
Returns the class or struct that defines this scope, if any.
Definition at line 106 of file cppScope.cxx. References CPPScope::_current_vis. |
|
Returns the nearest ancestor of this scope that is a template scope, or NULL if the scope is fully specified.
Definition at line 889 of file cppScope.cxx. Referenced by CPPScope::get_fully_scoped_name(). |
|
Definition at line 359 of file cppScope.cxx. References NULL. Referenced by CPPIdentifier::get_scope(). |
|
Returns true if this declaration is an actual, factual declaration, or false if some part of the declaration depends on a template parameter which has not yet been instantiated.
Reimplemented from CPPScope. Definition at line 155 of file cppTemplateScope.cxx. References CPPScope::_parent_scope. |
|
Reimplemented from CPPScope. Definition at line 206 of file cppTemplateScope.cxx. |
|
Definition at line 131 of file cppScope.cxx. References CPPDeclaration::_leading_comment, cppyyltype::file, cppyyltype::first_line, CPPPreprocessor::get_comment_before(), and NULL. |
|
Sets the struct or class that owns this scope. This should only be done once, when the scope and its associated struct are created. It's provided so the scope can check the struct's ancestry for inherited symbols. Definition at line 91 of file cppScope.cxx. References CPPScope::_parent_scope. |
|
Definition at line 440 of file cppScope.cxx. References CPPStructType::_derivation, CPPScope::_parent_scope, CPPStructType::_scope, CPPScope::_struct_type, CPPScope::_typedefs, CPPScope::_using, CPPScope::find_type(), and NULL. Referenced by CPPScope::find_type(). |
|
|
Definition at line 131 of file cppScope.h. |
|
Definition at line 154 of file cppScope.h. Referenced by CPPScope::get_parent_scope(), and CPPScope::get_struct_type(). |
|
Definition at line 127 of file cppScope.h. Referenced by InterrogateBuilder::remap_indices(), and TypeManager::wrap_const_pointer(). |
|
Definition at line 142 of file cppScope.h. Referenced by CPPScope::add_declaration(). |
|
Definition at line 133 of file cppScope.h. Referenced by CPPScope::add_enum_value(). |
|
Definition at line 144 of file cppScope.h. Referenced by CPPStructType::check_virtual(). |
|
Definition at line 147 of file cppScope.h. Referenced by CPPScope::is_fully_specified(), and CPPScope::write(). |
|
Definition at line 136 of file cppScope.h. Referenced by CPPScope::find_type(). |
|
Definition at line 68 of file cppTemplateScope.h. Referenced by CPPScope::is_fully_specified(). |
|
|
Definition at line 151 of file cppScope.h. Referenced by CPPScope::CPPScope(), CPPScope::substitute_decl(), CPPScope::write(), and CPPScope::~CPPScope(). |
|
Definition at line 130 of file cppScope.h. |
|
Definition at line 146 of file cppScope.h. |
|
Definition at line 139 of file cppScope.h. Referenced by add_using(), CPPScope::find_type(), and CPPScope::substitute_decl(). |
|
Definition at line 132 of file cppScope.h. Referenced by CPPScope::add_enum_value(). |
|
Definition at line 153 of file cppScope.h. Referenced by CPPScope::substitute_decl(). |
|
Definition at line 141 of file cppScope.h. |