Mercurial > hg > CbC > CbC_llvm
view clang-tools-extra/clang-tidy/ClangTidyModule.cpp @ 266:00f31e85ec16 default tip
Added tag current for changeset 31d058e83c98
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 14 Oct 2023 10:13:55 +0900 |
parents | 1f2b6ac9f198 |
children |
line wrap: on
line source
//===--- tools/extra/clang-tidy/ClangTidyModule.cpp - Clang tidy tool -----===// // // 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 // //===----------------------------------------------------------------------===// /// /// \file Implements classes required to build clang-tidy modules. /// //===----------------------------------------------------------------------===// #include "ClangTidyModule.h" #include "ClangTidyCheck.h" namespace clang::tidy { void ClangTidyCheckFactories::registerCheckFactory(StringRef Name, CheckFactory Factory) { Factories.insert_or_assign(Name, std::move(Factory)); } std::vector<std::unique_ptr<ClangTidyCheck>> ClangTidyCheckFactories::createChecks(ClangTidyContext *Context) const { std::vector<std::unique_ptr<ClangTidyCheck>> Checks; for (const auto &Factory : Factories) { if (Context->isCheckEnabled(Factory.getKey())) Checks.emplace_back(Factory.getValue()(Factory.getKey(), Context)); } return Checks; } std::vector<std::unique_ptr<ClangTidyCheck>> ClangTidyCheckFactories::createChecksForLanguage( ClangTidyContext *Context) const { std::vector<std::unique_ptr<ClangTidyCheck>> Checks; const LangOptions &LO = Context->getLangOpts(); for (const auto &Factory : Factories) { if (!Context->isCheckEnabled(Factory.getKey())) continue; std::unique_ptr<ClangTidyCheck> Check = Factory.getValue()(Factory.getKey(), Context); if (Check->isLanguageVersionSupported(LO)) Checks.push_back(std::move(Check)); } return Checks; } ClangTidyOptions ClangTidyModule::getModuleOptions() { return ClangTidyOptions(); } } // namespace clang::tidy