зеркало из https://github.com/microsoft/clang-1.git
[libclang] Index C++ namespaces.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146019 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
1c636df9f4
Коммит
68478b0cc1
|
@ -189,6 +189,12 @@ public:
|
|||
return true;
|
||||
}
|
||||
|
||||
bool VisitNamespaceDecl(NamespaceDecl *D) {
|
||||
IndexCtx.handleNamespace(D);
|
||||
IndexCtx.indexDeclContext(D);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool VisitClassTemplateDecl(ClassTemplateDecl *D) {
|
||||
IndexCtx.handleClassTemplate(D);
|
||||
if (D->isThisDeclarationADefinition())
|
||||
|
|
|
@ -401,6 +401,13 @@ bool IndexingContext::handleObjCProperty(const ObjCPropertyDecl *D) {
|
|||
return handleDecl(D, D->getLocation(), getCursor(D), DInfo);
|
||||
}
|
||||
|
||||
bool IndexingContext::handleNamespace(const NamespaceDecl *D) {
|
||||
DeclInfo DInfo(/*isRedeclaration=*/!D->isOriginalNamespace(),
|
||||
/*isDefinition=*/true,
|
||||
/*isContainer=*/true);
|
||||
return handleDecl(D, D->getLocation(), getCursor(D), DInfo);
|
||||
}
|
||||
|
||||
bool IndexingContext::handleClassTemplate(const ClassTemplateDecl *D) {
|
||||
return handleCXXRecordDecl(D->getTemplatedDecl(), D);
|
||||
}
|
||||
|
|
|
@ -370,6 +370,8 @@ public:
|
|||
|
||||
bool handleObjCProperty(const ObjCPropertyDecl *D);
|
||||
|
||||
bool handleNamespace(const NamespaceDecl *D);
|
||||
|
||||
bool handleClassTemplate(const ClassTemplateDecl *D);
|
||||
bool handleFunctionTemplate(const FunctionTemplateDecl *D);
|
||||
bool handleTypeAliasTemplate(const TypeAliasTemplateDecl *D);
|
||||
|
|
Загрузка…
Ссылка в новой задаче