diff options
| author | Michael Wu <mwu.code@gmail.com> | 2018-08-03 05:03:22 +0000 |
|---|---|---|
| committer | Michael Wu <mwu.code@gmail.com> | 2018-08-03 05:03:22 +0000 |
| commit | d092d0b17989f22bc595ac5be55a6939aa46de02 (patch) | |
| tree | be84c2cc9b40b1a3bd5b597f5ff468a332768706 /clang/tools/libclang/CXCursor.cpp | |
| parent | a80352c04e4a351c7e88faf9cec238870574fc42 (diff) | |
| download | bcm5719-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.cpp | 17 |
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; |

