clang-tools  4.0.0
ReadabilityTidyModule.cpp
Go to the documentation of this file.
1 //===--- ReadabilityTidyModule.cpp - clang-tidy ---------------------------===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #include "../ClangTidy.h"
11 #include "../ClangTidyModule.h"
12 #include "../ClangTidyModuleRegistry.h"
16 #include "DeleteNullPointerCheck.h"
17 #include "DeletedDefaultCheck.h"
18 #include "ElseAfterReturnCheck.h"
19 #include "FunctionSizeCheck.h"
20 #include "IdentifierNamingCheck.h"
21 #include "ImplicitBoolCastCheck.h"
24 #include "NamedParameterCheck.h"
25 #include "NonConstParameterCheck.h"
36 
37 namespace clang {
38 namespace tidy {
39 namespace readability {
40 
42 public:
43  void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
44  CheckFactories.registerCheck<AvoidConstParamsInDecls>(
45  "readability-avoid-const-params-in-decls");
47  "readability-braces-around-statements");
48  CheckFactories.registerCheck<ContainerSizeEmptyCheck>(
49  "readability-container-size-empty");
50  CheckFactories.registerCheck<DeleteNullPointerCheck>(
51  "readability-delete-null-pointer");
52  CheckFactories.registerCheck<DeletedDefaultCheck>(
53  "readability-deleted-default");
54  CheckFactories.registerCheck<ElseAfterReturnCheck>(
55  "readability-else-after-return");
56  CheckFactories.registerCheck<FunctionSizeCheck>(
57  "readability-function-size");
58  CheckFactories.registerCheck<IdentifierNamingCheck>(
59  "readability-identifier-naming");
60  CheckFactories.registerCheck<ImplicitBoolCastCheck>(
61  "readability-implicit-bool-cast");
63  "readability-inconsistent-declaration-parameter-name");
65  "readability-misplaced-array-index");
67  "readability-redundant-function-ptr-dereference");
69  "readability-redundant-member-init");
71  "readability-static-definition-in-anonymous-namespace");
73  "readability-named-parameter");
74  CheckFactories.registerCheck<NonConstParameterCheck>(
75  "readability-non-const-parameter");
77  "readability-redundant-control-flow");
79  "readability-redundant-declaration");
81  "readability-redundant-smartptr-get");
83  "readability-redundant-string-cstr");
85  "readability-redundant-string-init");
87  "readability-simplify-boolean-expr");
89  "readability-uniqueptr-delete-release");
90  }
91 };
92 
93 // Register the ReadabilityModule using this statically initialized variable.
94 static ClangTidyModuleRegistry::Add<ReadabilityModule>
95  X("readability-module", "Adds readability-related checks.");
96 
97 } // namespace readability
98 
99 // This anchor is used to force the linker to link in the generated object file
100 // and thus register the ReadabilityModule.
102 
103 } // namespace tidy
104 } // namespace clang
static ClangTidyModuleRegistry::Add< ReadabilityModule > X("readability-module","Adds readability-related checks.")
volatile int ReadabilityModuleAnchorSource
Finds member initializations that are unnecessary because the same default constructor would be calle...
Checks when a constructor or an assignment operator is marked as '= default' but is actually deleted ...
void registerCheck(StringRef CheckName)
Registers the CheckType with the name Name.
Finds static function and variable definitions in anonymous namespace.
Check whether the 'if' statement is unnecessary before calling 'delete' on a pointer.
Looks for boolean expressions involving boolean constants and simplifies them to use the appropriate ...
Checks whether a call to the size() method can be replaced with a call to empty().
A collection of ClangTidyCheckFactory instances.
Flags the usages of else after return.
Checks for large functions based on various metrics.
A clang-tidy module groups a number of ClangTidyChecks and gives them a prefixed name.
Warn when a pointer function parameter can be const.
Finds unnecessary string initializations.
Find and remove redundant calls to smart pointer's .get() method.
Warn about unusual array index syntax (index[array] instead of array[index]).
Checks for declarations of functions which differ in parameter names.
Find functions with unnamed arguments.
Flags statements of the form delete <unique_ptr expr>.release(); and replaces them with: <unique_ptr ...
Finds unnecessary calls to std::string::c_str().
Checks for use of implicit bool casts in expressions.
void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override
Implement this function in order to register all CheckFactories belonging to this module...
Checks that bodies of if statements and loops (for, range-for, do-while, and while) are inside braces...
Eliminates redundant return statements at the end of a function that returns void.
Checks for identifiers naming style mismatch.