| 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 |
