summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang/CXCursor.cpp
diff options
context:
space:
mode:
authorMichael Wu <mwu.code@gmail.com>2018-08-03 05:03:22 +0000
committerMichael Wu <mwu.code@gmail.com>2018-08-03 05:03:22 +0000
commitd092d0b17989f22bc595ac5be55a6939aa46de02 (patch)
treebe84c2cc9b40b1a3bd5b597f5ff468a332768706 /clang/tools/libclang/CXCursor.cpp
parenta80352c04e4a351c7e88faf9cec238870574fc42 (diff)
downloadbcm5719-llvm-d092d0b17989f22bc595ac5be55a6939aa46de02.tar.gz
bcm5719-llvm-d092d0b17989f22bc595ac5be55a6939aa46de02.zip
[libclang 5/8] Add support for ObjC attributes without args
Summary: This adds support to libclang for identifying ObjC related attributes that don't take arguments. All attributes but NSObject and NSConsumed are tested. Reviewers: yvvan, jbcoe Reviewed By: yvvan Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D49127 llvm-svn: 338813
Diffstat (limited to 'clang/tools/libclang/CXCursor.cpp')
-rw-r--r--clang/tools/libclang/CXCursor.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/tools/libclang/CXCursor.cpp b/clang/tools/libclang/CXCursor.cpp
index b4ad0595cc5..09321be0515 100644
--- a/clang/tools/libclang/CXCursor.cpp
+++ b/clang/tools/libclang/CXCursor.cpp
@@ -61,6 +61,23 @@ static CXCursorKind GetCursorKind(const Attr *A) {
case attr::Visibility: return CXCursor_VisibilityAttr;
case attr::DLLExport: return CXCursor_DLLExport;
case attr::DLLImport: return CXCursor_DLLImport;
+ case attr::NSReturnsRetained: return CXCursor_NSReturnsRetained;
+ case attr::NSReturnsNotRetained: return CXCursor_NSReturnsNotRetained;
+ case attr::NSReturnsAutoreleased: return CXCursor_NSReturnsAutoreleased;
+ case attr::NSConsumesSelf: return CXCursor_NSConsumesSelf;
+ case attr::NSConsumed: return CXCursor_NSConsumed;
+ case attr::ObjCException: return CXCursor_ObjCException;
+ case attr::ObjCNSObject: return CXCursor_ObjCNSObject;
+ case attr::ObjCIndependentClass: return CXCursor_ObjCIndependentClass;
+ case attr::ObjCPreciseLifetime: return CXCursor_ObjCPreciseLifetime;
+ case attr::ObjCReturnsInnerPointer: return CXCursor_ObjCReturnsInnerPointer;
+ case attr::ObjCRequiresSuper: return CXCursor_ObjCRequiresSuper;
+ case attr::ObjCRootClass: return CXCursor_ObjCRootClass;
+ case attr::ObjCSubclassingRestricted: return CXCursor_ObjCSubclassingRestricted;
+ case attr::ObjCExplicitProtocolImpl: return CXCursor_ObjCExplicitProtocolImpl;
+ case attr::ObjCDesignatedInitializer: return CXCursor_ObjCDesignatedInitializer;
+ case attr::ObjCRuntimeVisible: return CXCursor_ObjCRuntimeVisible;
+ case attr::ObjCBoxable: return CXCursor_ObjCBoxable;
}
return CXCursor_UnexposedAttr;
OpenPOWER on IntegriCloud