diff options
| author | Erik Verbruggen <erikjv@me.com> | 2011-10-13 09:41:32 +0000 |
|---|---|---|
| committer | Erik Verbruggen <erikjv@me.com> | 2011-10-13 09:41:32 +0000 |
| commit | ca98f2a63f94d83860b264c365cf5c5d3f64678b (patch) | |
| tree | b0fda2fa66f0d4922a93be6328ed2cb1401efc4e /clang/tools/libclang | |
| parent | 25f6d3e32186fde2e89ed278c94c05ad82e563eb (diff) | |
| download | bcm5719-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.cpp | 7 | ||||
| -rw-r--r-- | clang/tools/libclang/CXCursor.cpp | 1 |
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; |

