|  | //===--- LLVMTidyModule.cpp - clang-tidy ----------------------------------===// | 
|  | // | 
|  | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | 
|  | // See https://llvm.org/LICENSE.txt for license information. | 
|  | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | #include "../ClangTidy.h" | 
|  | #include "../ClangTidyModule.h" | 
|  | #include "../ClangTidyModuleRegistry.h" | 
|  | #include "../readability/ElseAfterReturnCheck.h" | 
|  | #include "../readability/NamespaceCommentCheck.h" | 
|  | #include "../readability/QualifiedAutoCheck.h" | 
|  | #include "HeaderGuardCheck.h" | 
|  | #include "IncludeOrderCheck.h" | 
|  | #include "PreferIsaOrDynCastInConditionalsCheck.h" | 
|  | #include "PreferRegisterOverUnsignedCheck.h" | 
|  | #include "TwineLocalCheck.h" | 
|  |  | 
|  | namespace clang::tidy { | 
|  | namespace llvm_check { | 
|  |  | 
|  | class LLVMModule : public ClangTidyModule { | 
|  | public: | 
|  | void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override { | 
|  | CheckFactories.registerCheck<readability::ElseAfterReturnCheck>( | 
|  | "llvm-else-after-return"); | 
|  | CheckFactories.registerCheck<LLVMHeaderGuardCheck>("llvm-header-guard"); | 
|  | CheckFactories.registerCheck<IncludeOrderCheck>("llvm-include-order"); | 
|  | CheckFactories.registerCheck<readability::NamespaceCommentCheck>( | 
|  | "llvm-namespace-comment"); | 
|  | CheckFactories.registerCheck<PreferIsaOrDynCastInConditionalsCheck>( | 
|  | "llvm-prefer-isa-or-dyn-cast-in-conditionals"); | 
|  | CheckFactories.registerCheck<PreferRegisterOverUnsignedCheck>( | 
|  | "llvm-prefer-register-over-unsigned"); | 
|  | CheckFactories.registerCheck<readability::QualifiedAutoCheck>( | 
|  | "llvm-qualified-auto"); | 
|  | CheckFactories.registerCheck<TwineLocalCheck>("llvm-twine-local"); | 
|  | } | 
|  |  | 
|  | ClangTidyOptions getModuleOptions() override { | 
|  | ClangTidyOptions Options; | 
|  | Options.CheckOptions["llvm-qualified-auto.AddConstToQualified"] = "false"; | 
|  | Options.CheckOptions["llvm-else-after-return.WarnOnUnfixable"] = "false"; | 
|  | Options.CheckOptions["llvm-else-after-return.WarnOnConditionVariables"] = | 
|  | "false"; | 
|  | return Options; | 
|  | } | 
|  | }; | 
|  |  | 
|  | // Register the LLVMTidyModule using this statically initialized variable. | 
|  | static ClangTidyModuleRegistry::Add<LLVMModule> X("llvm-module", | 
|  | "Adds LLVM lint checks."); | 
|  |  | 
|  | } // namespace llvm_check | 
|  |  | 
|  | // This anchor is used to force the linker to link in the generated object file | 
|  | // and thus register the LLVMModule. | 
|  | volatile int LLVMModuleAnchorSource = 0; | 
|  |  | 
|  | } // namespace clang::tidy |