From: Steve Naroff Date: Mon, 5 Oct 2009 17:58:19 +0000 (+0000) Subject: - Fix assert in clang_getCursorDecl (having to do with recently added ObjC_ProtocolRef). X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f9adf8f9303bc18204105e68cbe0d180dd0694c6;p=clang - Fix assert in clang_getCursorDecl (having to do with recently added ObjC_ProtocolRef). - Make sure CHECK: lines in test case match the expected output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83316 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Index/c-index-api-test.m b/test/Index/c-index-api-test.m index a50e6f396a..12167d020a 100644 --- a/test/Index/c-index-api-test.m +++ b/test/Index/c-index-api-test.m @@ -123,10 +123,10 @@ int main (int argc, const char * argv[]) { // CHECK: :86:2: TypedefDecl=id:0:0 [Context:id] // CHECK: :86:3: TypedefDecl=id:0:0 [Context:id] // CHECK: c-index-api-test.m:86:5: VarDecl=c:86:12 [Context:c] -// CHECK: c-index-api-test.m:86:6: ObjCProtocolRef=SubP [Context:SubP] -// CHECK: c-index-api-test.m:86:7: ObjCProtocolRef=SubP [Context:SubP] -// CHECK: c-index-api-test.m:86:8: ObjCProtocolRef=SubP [Context:SubP] -// CHECK: c-index-api-test.m:86:9: ObjCProtocolRef=SubP [Context:SubP] +// CHECK: c-index-api-test.m:86:6: ObjCProtocolRef=SubP:86:12 [Context:SubP] +// CHECK: c-index-api-test.m:86:7: ObjCProtocolRef=SubP:86:12 [Context:SubP] +// CHECK: c-index-api-test.m:86:8: ObjCProtocolRef=SubP:86:12 [Context:SubP] +// CHECK: c-index-api-test.m:86:9: ObjCProtocolRef=SubP:86:12 [Context:SubP] // CHECK: c-index-api-test.m:86:10: VarDecl=c:86:12 [Context:c] // CHECK: c-index-api-test.m:86:12: VarDecl=c:86:12 [Context:c] // CHECK: c-index-api-test.m:86:13: VarDecl=c:86:12 [Context:c] @@ -145,11 +145,11 @@ int main (int argc, const char * argv[]) { // CHECK: :87:2: TypedefDecl=id:0:0 [Context:id] // CHECK: :87:3: TypedefDecl=id:0:0 [Context:id] // CHECK: c-index-api-test.m:87:5: VarDecl=d:87:13 [Context:d] -// CHECK: c-index-api-test.m:87:6: ObjCProtocolRef=Proto [Context:Proto] -// CHECK: c-index-api-test.m:87:7: ObjCProtocolRef=Proto [Context:Proto] -// CHECK: c-index-api-test.m:87:8: ObjCProtocolRef=Proto [Context:Proto] -// CHECK: c-index-api-test.m:87:9: ObjCProtocolRef=Proto [Context:Proto] -// CHECK: c-index-api-test.m:87:10: ObjCProtocolRef=Proto [Context:Proto] +// CHECK: c-index-api-test.m:87:6: ObjCProtocolRef=Proto:87:13 [Context:Proto] +// CHECK: c-index-api-test.m:87:7: ObjCProtocolRef=Proto:87:13 [Context:Proto] +// CHECK: c-index-api-test.m:87:8: ObjCProtocolRef=Proto:87:13 [Context:Proto] +// CHECK: c-index-api-test.m:87:9: ObjCProtocolRef=Proto:87:13 [Context:Proto] +// CHECK: c-index-api-test.m:87:10: ObjCProtocolRef=Proto:87:13 [Context:Proto] // CHECK: c-index-api-test.m:87:11: VarDecl=d:87:13 [Context:d] // CHECK: c-index-api-test.m:87:13: VarDecl=d:87:13 [Context:d] // CHECK: c-index-api-test.m:88:2: VarRef=d:87:13 [Context:main] diff --git a/tools/CIndex/CIndex.cpp b/tools/CIndex/CIndex.cpp index 90fe3a8d6f..9204d1863d 100644 --- a/tools/CIndex/CIndex.cpp +++ b/tools/CIndex/CIndex.cpp @@ -606,7 +606,8 @@ CXDecl clang_getCursorDecl(CXCursor C) if (clang_isReference(C.kind)) { if (C.stmt) { - if (C.kind == CXCursor_ObjCClassRef) + if (C.kind == CXCursor_ObjCClassRef || + C.kind == CXCursor_ObjCProtocolRef) return static_cast(C.stmt); else return getDeclFromExpr(static_cast(C.stmt));