1 | //===--- ModernizeTidyModule.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 "AvoidBindCheck.h" |
13 | #include "AvoidCArraysCheck.h" |
14 | #include "ConcatNestedNamespacesCheck.h" |
15 | #include "DeprecatedHeadersCheck.h" |
16 | #include "DeprecatedIosBaseAliasesCheck.h" |
17 | #include "LoopConvertCheck.h" |
18 | #include "MacroToEnumCheck.h" |
19 | #include "MakeSharedCheck.h" |
20 | #include "MakeUniqueCheck.h" |
21 | #include "MinMaxUseInitializerListCheck.h" |
22 | #include "PassByValueCheck.h" |
23 | #include "RawStringLiteralCheck.h" |
24 | #include "RedundantVoidArgCheck.h" |
25 | #include "ReplaceAutoPtrCheck.h" |
26 | #include "ReplaceDisallowCopyAndAssignMacroCheck.h" |
27 | #include "ReplaceRandomShuffleCheck.h" |
28 | #include "ReturnBracedInitListCheck.h" |
29 | #include "ShrinkToFitCheck.h" |
30 | #include "TypeTraitsCheck.h" |
31 | #include "UnaryStaticAssertCheck.h" |
32 | #include "UseAutoCheck.h" |
33 | #include "UseBoolLiteralsCheck.h" |
34 | #include "UseConstraintsCheck.h" |
35 | #include "UseDefaultMemberInitCheck.h" |
36 | #include "UseDesignatedInitializersCheck.h" |
37 | #include "UseEmplaceCheck.h" |
38 | #include "UseEqualsDefaultCheck.h" |
39 | #include "UseEqualsDeleteCheck.h" |
40 | #include "UseIntegerSignComparisonCheck.h" |
41 | #include "UseNodiscardCheck.h" |
42 | #include "UseNoexceptCheck.h" |
43 | #include "UseNullptrCheck.h" |
44 | #include "UseOverrideCheck.h" |
45 | #include "UseRangesCheck.h" |
46 | #include "UseStartsEndsWithCheck.h" |
47 | #include "UseStdFormatCheck.h" |
48 | #include "UseStdNumbersCheck.h" |
49 | #include "UseStdPrintCheck.h" |
50 | #include "UseTrailingReturnTypeCheck.h" |
51 | #include "UseTransparentFunctorsCheck.h" |
52 | #include "UseUncaughtExceptionsCheck.h" |
53 | #include "UseUsingCheck.h" |
54 | |
55 | using namespace clang::ast_matchers; |
56 | |
57 | namespace clang::tidy { |
58 | namespace modernize { |
59 | |
60 | class ModernizeModule : public ClangTidyModule { |
61 | public: |
62 | void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override { |
63 | CheckFactories.registerCheck<AvoidBindCheck>(CheckName: "modernize-avoid-bind" ); |
64 | CheckFactories.registerCheck<AvoidCArraysCheck>(CheckName: "modernize-avoid-c-arrays" ); |
65 | CheckFactories.registerCheck<ConcatNestedNamespacesCheck>( |
66 | CheckName: "modernize-concat-nested-namespaces" ); |
67 | CheckFactories.registerCheck<DeprecatedHeadersCheck>( |
68 | CheckName: "modernize-deprecated-headers" ); |
69 | CheckFactories.registerCheck<DeprecatedIosBaseAliasesCheck>( |
70 | CheckName: "modernize-deprecated-ios-base-aliases" ); |
71 | CheckFactories.registerCheck<LoopConvertCheck>(CheckName: "modernize-loop-convert" ); |
72 | CheckFactories.registerCheck<MacroToEnumCheck>(CheckName: "modernize-macro-to-enum" ); |
73 | CheckFactories.registerCheck<MakeSharedCheck>(CheckName: "modernize-make-shared" ); |
74 | CheckFactories.registerCheck<MakeUniqueCheck>(CheckName: "modernize-make-unique" ); |
75 | CheckFactories.registerCheck<MinMaxUseInitializerListCheck>( |
76 | CheckName: "modernize-min-max-use-initializer-list" ); |
77 | CheckFactories.registerCheck<PassByValueCheck>(CheckName: "modernize-pass-by-value" ); |
78 | CheckFactories.registerCheck<UseDesignatedInitializersCheck>( |
79 | CheckName: "modernize-use-designated-initializers" ); |
80 | CheckFactories.registerCheck<UseIntegerSignComparisonCheck>( |
81 | CheckName: "modernize-use-integer-sign-comparison" ); |
82 | CheckFactories.registerCheck<UseRangesCheck>(CheckName: "modernize-use-ranges" ); |
83 | CheckFactories.registerCheck<UseStartsEndsWithCheck>( |
84 | CheckName: "modernize-use-starts-ends-with" ); |
85 | CheckFactories.registerCheck<UseStdFormatCheck>(CheckName: "modernize-use-std-format" ); |
86 | CheckFactories.registerCheck<UseStdNumbersCheck>( |
87 | CheckName: "modernize-use-std-numbers" ); |
88 | CheckFactories.registerCheck<UseStdPrintCheck>(CheckName: "modernize-use-std-print" ); |
89 | CheckFactories.registerCheck<RawStringLiteralCheck>( |
90 | CheckName: "modernize-raw-string-literal" ); |
91 | CheckFactories.registerCheck<RedundantVoidArgCheck>( |
92 | CheckName: "modernize-redundant-void-arg" ); |
93 | CheckFactories.registerCheck<ReplaceAutoPtrCheck>( |
94 | CheckName: "modernize-replace-auto-ptr" ); |
95 | CheckFactories.registerCheck<ReplaceDisallowCopyAndAssignMacroCheck>( |
96 | CheckName: "modernize-replace-disallow-copy-and-assign-macro" ); |
97 | CheckFactories.registerCheck<ReplaceRandomShuffleCheck>( |
98 | CheckName: "modernize-replace-random-shuffle" ); |
99 | CheckFactories.registerCheck<ReturnBracedInitListCheck>( |
100 | CheckName: "modernize-return-braced-init-list" ); |
101 | CheckFactories.registerCheck<ShrinkToFitCheck>(CheckName: "modernize-shrink-to-fit" ); |
102 | CheckFactories.registerCheck<TypeTraitsCheck>(CheckName: "modernize-type-traits" ); |
103 | CheckFactories.registerCheck<UnaryStaticAssertCheck>( |
104 | CheckName: "modernize-unary-static-assert" ); |
105 | CheckFactories.registerCheck<UseAutoCheck>(CheckName: "modernize-use-auto" ); |
106 | CheckFactories.registerCheck<UseBoolLiteralsCheck>( |
107 | CheckName: "modernize-use-bool-literals" ); |
108 | CheckFactories.registerCheck<UseConstraintsCheck>( |
109 | CheckName: "modernize-use-constraints" ); |
110 | CheckFactories.registerCheck<UseDefaultMemberInitCheck>( |
111 | CheckName: "modernize-use-default-member-init" ); |
112 | CheckFactories.registerCheck<UseEmplaceCheck>(CheckName: "modernize-use-emplace" ); |
113 | CheckFactories.registerCheck<UseEqualsDefaultCheck>( |
114 | CheckName: "modernize-use-equals-default" ); |
115 | CheckFactories.registerCheck<UseEqualsDeleteCheck>( |
116 | CheckName: "modernize-use-equals-delete" ); |
117 | CheckFactories.registerCheck<UseNodiscardCheck>(CheckName: "modernize-use-nodiscard" ); |
118 | CheckFactories.registerCheck<UseNoexceptCheck>(CheckName: "modernize-use-noexcept" ); |
119 | CheckFactories.registerCheck<UseNullptrCheck>(CheckName: "modernize-use-nullptr" ); |
120 | CheckFactories.registerCheck<UseOverrideCheck>(CheckName: "modernize-use-override" ); |
121 | CheckFactories.registerCheck<UseTrailingReturnTypeCheck>( |
122 | CheckName: "modernize-use-trailing-return-type" ); |
123 | CheckFactories.registerCheck<UseTransparentFunctorsCheck>( |
124 | CheckName: "modernize-use-transparent-functors" ); |
125 | CheckFactories.registerCheck<UseUncaughtExceptionsCheck>( |
126 | CheckName: "modernize-use-uncaught-exceptions" ); |
127 | CheckFactories.registerCheck<UseUsingCheck>(CheckName: "modernize-use-using" ); |
128 | } |
129 | }; |
130 | |
131 | // Register the ModernizeTidyModule using this statically initialized variable. |
132 | static ClangTidyModuleRegistry::Add<ModernizeModule> X("modernize-module" , |
133 | "Add modernize checks." ); |
134 | |
135 | } // namespace modernize |
136 | |
137 | // This anchor is used to force the linker to link in the generated object file |
138 | // and thus register the ModernizeModule. |
139 | // NOLINTNEXTLINE(misc-use-internal-linkage) |
140 | volatile int ModernizeModuleAnchorSource = 0; |
141 | |
142 | } // namespace clang::tidy |
143 | |