clang-tools 20.0.0git
ObjCTidyModule.cpp
Go to the documentation of this file.
1//===--- ObjCTidyModule.cpp - clang-tidy --------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "../ClangTidy.h"
10#include "../ClangTidyModule.h"
11#include "../ClangTidyModuleRegistry.h"
12#include "AssertEquals.h"
16#include "MissingHashCheck.h"
20#include "SuperSelfCheck.h"
21
22using namespace clang::ast_matchers;
23
24namespace clang::tidy {
25namespace objc {
26
28public:
29 void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
31 "objc-avoid-nserror-init");
32 CheckFactories.registerCheck<AssertEquals>("objc-assert-equals");
33
35 "objc-dealloc-in-category");
37 "objc-forbidden-subclassing");
38 CheckFactories.registerCheck<MissingHashCheck>(
39 "objc-missing-hash");
40 CheckFactories.registerCheck<NSDateFormatterCheck>("objc-nsdate-formatter");
42 "objc-nsinvocation-argument-lifetime");
44 "objc-property-declaration");
45 CheckFactories.registerCheck<SuperSelfCheck>(
46 "objc-super-self");
47 }
48};
49
50// Register the ObjCTidyModule using this statically initialized variable.
51static ClangTidyModuleRegistry::Add<ObjCModule> X(
52 "objc-module",
53 "Adds Objective-C lint checks.");
54
55} // namespace objc
56
57// This anchor is used to force the linker to link in the generated object file
58// and thus register the ObjCModule.
59volatile int ObjCModuleAnchorSource = 0;
60
61} // namespace clang::tidy
int X
A collection of ClangTidyCheckFactory instances.
void registerCheck(llvm::StringRef CheckName)
Registers the CheckType with the name Name.
A clang-tidy module groups a number of ClangTidyChecks and gives them a prefixed name.
Warn if XCTAssertEqual() or XCTAssertNotEqual() is used with at least one operands of type NSString*.
Definition: AssertEquals.h:22
Finds usages of -[NSError init].
Finds implementations of -dealloc in Objective-C categories.
Finds Objective-C classes which have a superclass which is documented to not support subclassing.
Finds Objective-C implementations that implement -isEqual: without also appropriately implementing -h...
Checks the string pattern used as a date format specifier and reports warnings if it contains any inc...
Finds calls to NSInvocation methods under ARC that don't have proper argument object lifetimes.
void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override
Implement this function in order to register all CheckFactories belonging to this module.
Finds invocations of -self on super instances in initializers of subclasses of NSObject and recommend...
volatile int ObjCModuleAnchorSource