clang-tools  10.0.0git
ClangTidyModule.cpp
Go to the documentation of this file.
1 //===--- tools/extra/clang-tidy/ClangTidyModule.cpp - Clang tidy tool -----===//
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 /// \file Implements classes required to build clang-tidy modules.
10 ///
11 //===----------------------------------------------------------------------===//
12 
13 #include "ClangTidyModule.h"
14 
15 namespace clang {
16 namespace tidy {
17 
19  CheckFactory Factory) {
20  Factories[Name] = std::move(Factory);
21 }
22 
23 std::vector<std::unique_ptr<ClangTidyCheck>>
25  std::vector<std::unique_ptr<ClangTidyCheck>> Checks;
26  for (const auto &Factory : Factories) {
27  if (Context->isCheckEnabled(Factory.first))
28  Checks.emplace_back(Factory.second(Factory.first, Context));
29  }
30  return Checks;
31 }
32 
34  return ClangTidyOptions();
35 }
36 
37 } // namespace tidy
38 } // namespace clang
void registerCheckFactory(StringRef Name, CheckFactory Factory)
Registers check Factory with name Name.
bool isCheckEnabled(StringRef CheckName) const
Returns true if the check is enabled for the CurrentFile.
Contains options for clang-tidy.
virtual ClangTidyOptions getModuleOptions()
Gets default options for checks defined in this module.
std::function< std::unique_ptr< ClangTidyCheck >(StringRef Name, ClangTidyContext *Context)> CheckFactory
static constexpr llvm::StringLiteral Name
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
static cl::opt< std::string > Checks("checks", cl::desc(R"( Comma-separated list of globs with optional '-' prefix. Globs are processed in order of appearance in the list. Globs without '-' prefix add checks with matching names to the set, globs with the '-' prefix remove checks with matching names from the set of enabled checks. This option's value is appended to the value of the 'Checks' option in .clang-tidy file, if any. )"), cl::init(""), cl::cat(ClangTidyCategory))
Every ClangTidyCheck reports errors through a DiagnosticsEngine provided by this context.
std::vector< std::unique_ptr< ClangTidyCheck > > createChecks(ClangTidyContext *Context)
Create instances of checks that are enabled.