diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-12-13 18:47:45 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-12-13 18:47:45 +0000 |
commit | c10a4c8baff3164bee9b7fc293679a5a5a90eb74 (patch) | |
tree | 680180423d03f28dd647ececd4ff1a2a672afade /tools/libclang/IndexingContext.cpp | |
parent | e422e45a6a89d450b8eca10f671b49874e87617a (diff) |
[libclang] Indexing API: Provide the protocols list for objc categories as well.
rdar://10573361
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146498 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/libclang/IndexingContext.cpp')
-rw-r--r-- | tools/libclang/IndexingContext.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/libclang/IndexingContext.cpp b/tools/libclang/IndexingContext.cpp index 66e552c8f4..812669397d 100644 --- a/tools/libclang/IndexingContext.cpp +++ b/tools/libclang/IndexingContext.cpp @@ -383,6 +383,8 @@ bool IndexingContext::handleObjCCategory(const ObjCCategoryDecl *D) { if (suppressRefs()) markEntityOccurrenceInFile(IFaceD, ClassLoc); + ObjCProtocolListInfo ProtInfo(D->getReferencedProtocols(), *this, SA); + CatDInfo.ObjCCatDeclInfo.containerInfo = &CatDInfo.ObjCContDeclInfo; if (IFaceD) { CatDInfo.ObjCCatDeclInfo.objcClass = &ClassEntity; @@ -393,6 +395,9 @@ bool IndexingContext::handleObjCCategory(const ObjCCategoryDecl *D) { CatDInfo.ObjCCatDeclInfo.classCursor = clang_getNullCursor(); } CatDInfo.ObjCCatDeclInfo.classLoc = getIndexLoc(ClassLoc); + CatDInfo.ObjCProtoListInfo = ProtInfo.getListInfo(); + CatDInfo.ObjCCatDeclInfo.protocols = &CatDInfo.ObjCProtoListInfo; + return handleObjCContainer(D, CategoryLoc, getCursor(D), CatDInfo); } @@ -416,6 +421,8 @@ bool IndexingContext::handleObjCCategoryImpl(const ObjCCategoryImplDecl *D) { CatDInfo.ObjCCatDeclInfo.classCursor = clang_getNullCursor(); } CatDInfo.ObjCCatDeclInfo.classLoc = getIndexLoc(ClassLoc); + CatDInfo.ObjCCatDeclInfo.protocols = 0; + return handleObjCContainer(D, CategoryLoc, getCursor(D), CatDInfo); } |