summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang
diff options
context:
space:
mode:
authorErik Verbruggen <erikjv@me.com>2011-10-13 09:41:32 +0000
committerErik Verbruggen <erikjv@me.com>2011-10-13 09:41:32 +0000
commitca98f2a63f94d83860b264c365cf5c5d3f64678b (patch)
treeb0fda2fa66f0d4922a93be6328ed2cb1401efc4e /clang/tools/libclang
parent25f6d3e32186fde2e89ed278c94c05ad82e563eb (diff)
downloadbcm5719-llvm-ca98f2a63f94d83860b264c365cf5c5d3f64678b.tar.gz
bcm5719-llvm-ca98f2a63f94d83860b264c365cf5c5d3f64678b.zip
Allow for annotate attributes after access specifiers. When such
attributes are found, propagate them to subsequent declarations. llvm-svn: 141861
Diffstat (limited to 'clang/tools/libclang')
-rw-r--r--clang/tools/libclang/CIndex.cpp7
-rw-r--r--clang/tools/libclang/CXCursor.cpp1
2 files changed, 8 insertions, 0 deletions
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp
index 71d9462a01b..5748d6bdb7b 100644
--- a/clang/tools/libclang/CIndex.cpp
+++ b/clang/tools/libclang/CIndex.cpp
@@ -3200,6 +3200,11 @@ CXString clang_getCursorSpelling(CXCursor C) {
if (clang_isDeclaration(C.kind))
return getDeclSpelling(getCursorDecl(C));
+ if (C.kind == CXCursor_AnnotateAttr) {
+ AnnotateAttr *AA = cast<AnnotateAttr>(cxcursor::getCursorAttr(C));
+ return createCXString(AA->getAnnotation());
+ }
+
return createCXString("");
}
@@ -3521,6 +3526,8 @@ CXString clang_getCursorKindSpelling(enum CXCursorKind Kind) {
return createCXString("attribute(final)");
case CXCursor_CXXOverrideAttr:
return createCXString("attribute(override)");
+ case CXCursor_AnnotateAttr:
+ return createCXString("attribute(annotate)");
case CXCursor_PreprocessingDirective:
return createCXString("preprocessing directive");
case CXCursor_MacroDefinition:
diff --git a/clang/tools/libclang/CXCursor.cpp b/clang/tools/libclang/CXCursor.cpp
index 45f3fa8c2b4..db275001435 100644
--- a/clang/tools/libclang/CXCursor.cpp
+++ b/clang/tools/libclang/CXCursor.cpp
@@ -45,6 +45,7 @@ static CXCursorKind GetCursorKind(const Attr *A) {
case attr::IBOutletCollection: return CXCursor_IBOutletCollectionAttr;
case attr::Final: return CXCursor_CXXFinalAttr;
case attr::Override: return CXCursor_CXXOverrideAttr;
+ case attr::Annotate: return CXCursor_AnnotateAttr;
}
return CXCursor_UnexposedAttr;
OpenPOWER on IntegriCloud