aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
diff options
context:
space:
mode:
authorYan Zhang <ynzhang@google.com>2017-11-30 19:05:08 +0000
committerYan Zhang <ynzhang@google.com>2017-11-30 19:05:08 +0000
commit8c348b33385e5d1c39d2b8e0af956d889bac65a1 (patch)
treee7b6275529612c69038bb4b1a12e05249254df69 /clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
parent59e3d198136da55656c67d67aa0d0d3695054373 (diff)
downloadllvm-8c348b33385e5d1c39d2b8e0af956d889bac65a1.zip
llvm-8c348b33385e5d1c39d2b8e0af956d889bac65a1.tar.gz
llvm-8c348b33385e5d1c39d2b8e0af956d889bac65a1.tar.bz2
add new check to find NSError init invocation
Summary: This check will find out improper initialization of NSError objects. According to Apple developer document, we should always use factory method errorWithDomain:code:userInfo: to create new NSError objects instead of [NSError alloc] init]. Otherwise it will lead to a warning message during runtime in Xcode. The corresponding information about NSError creation: https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ErrorHandlingCocoa/CreateCustomizeNSError/CreateCustomizeNSError.html Reviewers: hokein, benhamilton Reviewed By: benhamilton Subscribers: klimek, mgorny, cfe-commits Differential Revision: https://reviews.llvm.org/D40528 llvm-svn: 319459
Diffstat (limited to 'clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp3
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 674da34..19152c2 100644
--- a/clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
+++ b/clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
@@ -10,6 +10,7 @@
#include "../ClangTidy.h"
#include "../ClangTidyModule.h"
#include "../ClangTidyModuleRegistry.h"
+#include "AvoidNSErrorInitCheck.h"
#include "AvoidSpinlockCheck.h"
#include "ForbiddenSubclassingCheck.h"
#include "PropertyDeclarationCheck.h"
@@ -23,6 +24,8 @@ namespace objc {
class ObjCModule : public ClangTidyModule {
public:
void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
+ CheckFactories.registerCheck<AvoidNSErrorInitCheck>(
+ "objc-avoid-nserror-init");
CheckFactories.registerCheck<AvoidSpinlockCheck>(
"objc-avoid-spinlock");
CheckFactories.registerCheck<ForbiddenSubclassingCheck>(