diff options
author | Michael Wyman <michael@mwyman.com> | 2020-02-07 16:08:17 -0700 |
---|---|---|
committer | Ben Hamilton <benhamilton@google.com> | 2020-02-10 08:56:28 -0700 |
commit | 0151ddc2e834ab4949789cbed4e03a958284cd54 (patch) | |
tree | 7329d8f3b1789ffa5934e4c2e3a3e97e4dc31c2b /clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp | |
parent | f5086b3803ac2f908a734bbb2c7a50018fb3cd8c (diff) | |
download | llvm-0151ddc2e834ab4949789cbed4e03a958284cd54.zip llvm-0151ddc2e834ab4949789cbed4e03a958284cd54.tar.gz llvm-0151ddc2e834ab4949789cbed4e03a958284cd54.tar.bz2 |
Create a clang-tidy check to warn when -dealloc is implemented inside an ObjC class category.
Summary: Such implementations may override the class's own implementation, and even be a danger in case someone later comes and adds one to the class itself. Most times this has been encountered have been a mistake.
Reviewers: stephanemoore, benhamilton, dmaclach
Reviewed By: stephanemoore, benhamilton, dmaclach
Subscribers: dmaclach, mgorny, cfe-commits
Tags: #clang-tools-extra, #clang
Differential Revision: https://reviews.llvm.org/D72876
Diffstat (limited to 'clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp')
-rw-r--r-- | clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp b/clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp index 6991312..ff220b8 100644 --- a/clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp +++ b/clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp @@ -10,6 +10,7 @@ #include "../ClangTidyModule.h" #include "../ClangTidyModuleRegistry.h" #include "AvoidNSErrorInitCheck.h" +#include "DeallocInCategoryCheck.h" #include "ForbiddenSubclassingCheck.h" #include "MissingHashCheck.h" #include "PropertyDeclarationCheck.h" @@ -26,6 +27,8 @@ public: void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override { CheckFactories.registerCheck<AvoidNSErrorInitCheck>( "objc-avoid-nserror-init"); + CheckFactories.registerCheck<DeallocInCategoryCheck>( + "objc-dealloc-in-category"); CheckFactories.registerCheck<ForbiddenSubclassingCheck>( "objc-forbidden-subclassing"); CheckFactories.registerCheck<MissingHashCheck>( |