brintos

brintos / llvm-project-archived public Read only

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