Improve location fidelity of objc decls.

-Add the location of the class name to all objc container decls, not just ObjCInterfaceDecl.
-Make objc decls consistent with the rest of the NamedDecls and have getLocation() point to the
 class name, not the location of '@'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141061 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Index/c-index-getCursor-test.m b/test/Index/c-index-getCursor-test.m
index 5aeb0fd..5bbb62b 100644
--- a/test/Index/c-index-getCursor-test.m
+++ b/test/Index/c-index-getCursor-test.m
@@ -80,15 +80,15 @@
 // CHECK: [20:1 - 20:23] ObjCInstanceMethodDecl=floatMethod:20:1
 // CHECK: [20:23 - 21:5] ObjCCategoryDecl=FooCat:18:12
 // CHECK: [21:5 - 23:1] Invalid Cursor => NoDeclFound
-// CHECK: [23:1 - 24:1] ObjCProtocolDecl=Proto:23:1 (Definition)
+// CHECK: [23:1 - 24:1] ObjCProtocolDecl=Proto:23:11 (Definition)
 // CHECK: [24:1 - 24:11] ObjCInstanceMethodDecl=pMethod:24:1
-// CHECK: [24:11 - 25:5] ObjCProtocolDecl=Proto:23:1 (Definition)
+// CHECK: [24:11 - 25:5] ObjCProtocolDecl=Proto:23:11 (Definition)
 // CHECK: [25:5 - 27:1] Invalid Cursor => NoDeclFound
-// CHECK: [27:1 - 27:17] ObjCProtocolDecl=SubP:27:1 (Definition)
+// CHECK: [27:1 - 27:17] ObjCProtocolDecl=SubP:27:11 (Definition)
 // CHECK: [27:17 - 27:22] ObjCProtocolRef=Proto:23:1
-// CHECK: [27:22 - 28:1] ObjCProtocolDecl=SubP:27:1 (Definition)
+// CHECK: [27:22 - 28:1] ObjCProtocolDecl=SubP:27:11 (Definition)
 // CHECK: [28:1 - 28:12] ObjCInstanceMethodDecl=spMethod:28:1
-// CHECK: [28:12 - 29:5] ObjCProtocolDecl=SubP:27:1 (Definition)
+// CHECK: [28:12 - 29:5] ObjCProtocolDecl=SubP:27:11 (Definition)
 // CHECK: [29:5 - 31:1] Invalid Cursor => NoDeclFound
 // CHECK: [31:1 - 31:18] ObjCInterfaceDecl=Baz:31:12
 // CHECK: [31:18 - 31:21] ObjCSuperClassRef=Bar:12:12