aboutsummaryrefslogtreecommitdiff
path: root/tools/c-index-test/c-index-test.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/c-index-test/c-index-test.c')
-rw-r--r--tools/c-index-test/c-index-test.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/tools/c-index-test/c-index-test.c b/tools/c-index-test/c-index-test.c
index fb41d13744..18a0a6b28d 100644
--- a/tools/c-index-test/c-index-test.c
+++ b/tools/c-index-test/c-index-test.c
@@ -1699,6 +1699,15 @@ static void printEntityInfo(const char *cb,
printf(" | USR: %s", info->USR);
}
+static void printBaseClassInfo(CXClientData client_data,
+ const CXIdxBaseClassInfo *info) {
+ printEntityInfo(" <base>", client_data, info->base);
+ printf(" | cursor: ");
+ PrintCursor(info->cursor);
+ printf(" | loc: ");
+ printCXIndexLoc(info->loc);
+}
+
static void printProtocolList(const CXIdxObjCProtocolRefListInfo *ProtoInfo,
CXClientData client_data) {
unsigned i;
@@ -1783,6 +1792,7 @@ static void index_indexDeclaration(CXClientData client_data,
const CXIdxObjCCategoryDeclInfo *CatInfo;
const CXIdxObjCInterfaceDeclInfo *InterInfo;
const CXIdxObjCProtocolRefListInfo *ProtoInfo;
+ const CXIdxCXXClassDeclInfo *CXXClassInfo;
unsigned i;
index_data = (IndexData *)client_data;
@@ -1832,12 +1842,7 @@ static void index_indexDeclaration(CXClientData client_data,
if ((InterInfo = clang_index_getObjCInterfaceDeclInfo(info))) {
if (InterInfo->superInfo) {
- printEntityInfo(" <base>", client_data,
- InterInfo->superInfo->base);
- printf(" | cursor: ");
- PrintCursor(InterInfo->superInfo->cursor);
- printf(" | loc: ");
- printCXIndexLoc(InterInfo->superInfo->loc);
+ printBaseClassInfo(client_data, InterInfo->superInfo);
printf("\n");
}
}
@@ -1846,6 +1851,13 @@ static void index_indexDeclaration(CXClientData client_data,
printProtocolList(ProtoInfo, client_data);
}
+ if ((CXXClassInfo = clang_index_getCXXClassDeclInfo(info))) {
+ for (i = 0; i != CXXClassInfo->numBases; ++i) {
+ printBaseClassInfo(client_data, CXXClassInfo->bases[i]);
+ printf("\n");
+ }
+ }
+
if (info->declAsContainer)
clang_index_setClientContainer(info->declAsContainer,
makeClientContainer(info->entityInfo, info->loc));