From: Argyrios Kyrtzidis Date: Thu, 16 Feb 2012 01:12:04 +0000 (+0000) Subject: [libclang] Do index statements inside a type source info. rdar://10872758 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f8490eeb966103516da4e3ecb05e1a36b3e6e3ec;p=clang [libclang] Do index statements inside a type source info. rdar://10872758 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150647 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Index/index-refs.cpp b/test/Index/index-refs.cpp index 35f4fe403c..fa4b4b3a09 100644 --- a/test/Index/index-refs.cpp +++ b/test/Index/index-refs.cpp @@ -55,6 +55,12 @@ void foo3() { TS s; } +const int array_size = 3; +typedef int some_arr[array_size]; + +const int default_param = 3; +void foo4(int p = default_param); + // RUN: c-index-test -index-file %s | FileCheck %s // CHECK: [indexDeclaration]: kind: namespace | name: NS // CHECK-NEXT: [indexDeclaration]: kind: variable | name: gx @@ -98,3 +104,6 @@ void foo3() { [indexEntityReference]: kind: struct-template-spec | name: TS | USR: c:@S@TS>#I | {{.*}} | loc: 55:3 */ // CHECK-NEXT: [indexEntityReference]: kind: c++-class-template | name: TS | USR: c:@ST>2#T#T@TS | {{.*}} | loc: 55:3 + +// CHECK: [indexEntityReference]: kind: variable | name: array_size | {{.*}} | loc: 59:22 +// CHECK: [indexEntityReference]: kind: variable | name: default_param | {{.*}} | loc: 62:19 diff --git a/tools/libclang/IndexTypeSourceInfo.cpp b/tools/libclang/IndexTypeSourceInfo.cpp index 34acffcf7a..b62d52156b 100644 --- a/tools/libclang/IndexTypeSourceInfo.cpp +++ b/tools/libclang/IndexTypeSourceInfo.cpp @@ -85,6 +85,11 @@ public: } return true; } + + bool TraverseStmt(Stmt *S) { + IndexCtx.indexBody(S, Parent, ParentDC); + return true; + } }; } // anonymous namespace