diff options
-rw-r--r-- | clang-tools-extra/clang-tidy/ClangTidy.cpp | 8 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/ClangTidyModule.cpp | 7 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/ClangTidyModule.h | 9 | ||||
-rw-r--r-- | clang-tools-extra/clangd/ParsedAST.cpp | 2 |
4 files changed, 12 insertions, 14 deletions
diff --git a/clang-tools-extra/clang-tidy/ClangTidy.cpp b/clang-tools-extra/clang-tidy/ClangTidy.cpp index 4c4745f8102..21984aea0e8 100644 --- a/clang-tools-extra/clang-tidy/ClangTidy.cpp +++ b/clang-tools-extra/clang-tidy/ClangTidy.cpp @@ -384,8 +384,8 @@ ClangTidyASTConsumerFactory::CreateASTConsumer( if (WorkingDir) Context.setCurrentBuildDirectory(WorkingDir.get()); - std::vector<std::unique_ptr<ClangTidyCheck>> Checks; - CheckFactories->createChecks(&Context, Checks); + std::vector<std::unique_ptr<ClangTidyCheck>> Checks = + CheckFactories->createChecks(&Context); ast_matchers::MatchFinder::MatchFinderOptions FinderOptions; @@ -459,8 +459,8 @@ std::vector<std::string> ClangTidyASTConsumerFactory::getCheckNames() { ClangTidyOptions::OptionMap ClangTidyASTConsumerFactory::getCheckOptions() { ClangTidyOptions::OptionMap Options; - std::vector<std::unique_ptr<ClangTidyCheck>> Checks; - CheckFactories->createChecks(&Context, Checks); + std::vector<std::unique_ptr<ClangTidyCheck>> Checks = + CheckFactories->createChecks(&Context); for (const auto &Check : Checks) Check->storeOptions(Options); return Options; diff --git a/clang-tools-extra/clang-tidy/ClangTidyModule.cpp b/clang-tools-extra/clang-tidy/ClangTidyModule.cpp index 7d6de87a6ae..ff83e7e9405 100644 --- a/clang-tools-extra/clang-tidy/ClangTidyModule.cpp +++ b/clang-tools-extra/clang-tidy/ClangTidyModule.cpp @@ -20,13 +20,14 @@ void ClangTidyCheckFactories::registerCheckFactory(StringRef Name, Factories[Name] = std::move(Factory); } -void ClangTidyCheckFactories::createChecks( - ClangTidyContext *Context, - std::vector<std::unique_ptr<ClangTidyCheck>> &Checks) { +std::vector<std::unique_ptr<ClangTidyCheck>> +ClangTidyCheckFactories::createChecks(ClangTidyContext *Context) { + std::vector<std::unique_ptr<ClangTidyCheck>> Checks; for (const auto &Factory : Factories) { if (Context->isCheckEnabled(Factory.first)) Checks.emplace_back(Factory.second(Factory.first, Context)); } + return Checks; } ClangTidyOptions ClangTidyModule::getModuleOptions() { diff --git a/clang-tools-extra/clang-tidy/ClangTidyModule.h b/clang-tools-extra/clang-tidy/ClangTidyModule.h index b92971f30fd..5c484f1a68d 100644 --- a/clang-tools-extra/clang-tidy/ClangTidyModule.h +++ b/clang-tools-extra/clang-tidy/ClangTidyModule.h @@ -62,12 +62,9 @@ public: }); } - /// Create instances of all checks matching \p CheckRegexString and - /// store them in \p Checks. - /// - /// The caller takes ownership of the return \c ClangTidyChecks. - void createChecks(ClangTidyContext *Context, - std::vector<std::unique_ptr<ClangTidyCheck>> &Checks); + /// Create instances of checks that are enabled. + std::vector<std::unique_ptr<ClangTidyCheck>> + createChecks(ClangTidyContext *Context); typedef std::map<std::string, CheckFactory> FactoryMap; FactoryMap::const_iterator begin() const { return Factories.begin(); } diff --git a/clang-tools-extra/clangd/ParsedAST.cpp b/clang-tools-extra/clangd/ParsedAST.cpp index 370af1d83ff..752fabe608c 100644 --- a/clang-tools-extra/clangd/ParsedAST.cpp +++ b/clang-tools-extra/clangd/ParsedAST.cpp @@ -261,7 +261,7 @@ ParsedAST::build(std::unique_ptr<clang::CompilerInvocation> CI, CTContext->setDiagnosticsEngine(&Clang->getDiagnostics()); CTContext->setASTContext(&Clang->getASTContext()); CTContext->setCurrentFile(Filename); - CTFactories.createChecks(CTContext.getPointer(), CTChecks); + CTChecks = CTFactories.createChecks(CTContext.getPointer()); ASTDiags.setLevelAdjuster([&CTContext](DiagnosticsEngine::Level DiagLevel, const clang::Diagnostic &Info) { if (CTContext) { |