summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2010-06-21 19:41:40 +0000
committerTed Kremenek <kremenek@apple.com>2010-06-21 19:41:40 +0000
commitd34da45a83a6d0428abe3d7824be563e56e65731 (patch)
tree2fbc9a26b0fe0435918ab48d71f62340d17cd142 /clang
parent466b31e900c87b9adbf72446baab4ac038fedbef (diff)
downloadbcm5719-llvm-d34da45a83a6d0428abe3d7824be563e56e65731.tar.gz
bcm5719-llvm-d34da45a83a6d0428abe3d7824be563e56e65731.zip
Add clang_getCursorType() support for @property declarations.
llvm-svn: 106451
Diffstat (limited to 'clang')
-rw-r--r--clang/test/Index/print-typekind.m7
-rw-r--r--clang/tools/libclang/CXTypes.cpp2
2 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/Index/print-typekind.m b/clang/test/Index/print-typekind.m
new file mode 100644
index 00000000000..62cbb70c8ee
--- /dev/null
+++ b/clang/test/Index/print-typekind.m
@@ -0,0 +1,7 @@
+@interface Foo
+@property (readonly) id x;
+@end
+
+// RUN: c-index-test -test-print-typekind %s | FileCheck %s
+// CHECK: ObjCPropertyDecl=x:2:25 typekind=Typedef [canonical=ObjCObjectPointer]
+
diff --git a/clang/tools/libclang/CXTypes.cpp b/clang/tools/libclang/CXTypes.cpp
index 777afb9bb7a..ae756c7a1ee 100644
--- a/clang/tools/libclang/CXTypes.cpp
+++ b/clang/tools/libclang/CXTypes.cpp
@@ -116,6 +116,8 @@ CXType clang_getCursorType(CXCursor C) {
return MakeCXType(QualType(ID->getTypeForDecl(), 0), AU);
if (ValueDecl *VD = dyn_cast<ValueDecl>(D))
return MakeCXType(VD->getType(), AU);
+ if (ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(D))
+ return MakeCXType(PD->getType(), AU);
return MakeCXType(QualType(), AU);
}
OpenPOWER on IntegriCloud