clang-tools 22.0.0git
clang::tidy::ClangTidyCheckFactories Class Reference

A collection of ClangTidyCheckFactory instances. More...

#include <ClangTidyModule.h>

Public Types

using CheckFactory
using FactoryMap = llvm::StringMap<CheckFactory>

Public Member Functions

void registerCheckFactory (llvm::StringRef Name, CheckFactory Factory)
 Registers check Factory with name Name.
template<typename CheckType>
void registerCheck (llvm::StringRef CheckName)
 Registers the CheckType with the name Name.
void eraseCheck (llvm::StringRef CheckName)
std::vector< std::unique_ptr< ClangTidyCheck > > createChecks (ClangTidyContext *Context) const
 Create instances of checks that are enabled.
std::vector< std::unique_ptr< ClangTidyCheck > > createChecksForLanguage (ClangTidyContext *Context) const
 Create instances of checks that are enabled for the current Language.
FactoryMap::const_iterator begin () const
FactoryMap::const_iterator end () const
bool empty () const

Detailed Description

A collection of ClangTidyCheckFactory instances.

All clang-tidy modules register their check factories with an instance of this object.

Definition at line 27 of file ClangTidyModule.h.

Member Typedef Documentation

◆ CheckFactory

Initial value:
std::function<std::unique_ptr<ClangTidyCheck>(
llvm::StringRef Name, ClangTidyContext *Context)>
Every ClangTidyCheck reports errors through a DiagnosticsEngine provided by this context.

Definition at line 29 of file ClangTidyModule.h.

◆ FactoryMap

Definition at line 75 of file ClangTidyModule.h.

Member Function Documentation

◆ begin()

FactoryMap::const_iterator clang::tidy::ClangTidyCheckFactories::begin ( ) const
inline

Definition at line 76 of file ClangTidyModule.h.

◆ createChecks()

std::vector< std::unique_ptr< ClangTidyCheck > > clang::tidy::ClangTidyCheckFactories::createChecks ( ClangTidyContext * Context) const

Create instances of checks that are enabled.

Definition at line 24 of file ClangTidyModule.cpp.

References Checks(), and clang::tidy::ClangTidyContext::isCheckEnabled().

◆ createChecksForLanguage()

std::vector< std::unique_ptr< ClangTidyCheck > > clang::tidy::ClangTidyCheckFactories::createChecksForLanguage ( ClangTidyContext * Context) const

Create instances of checks that are enabled for the current Language.

Definition at line 34 of file ClangTidyModule.cpp.

References Checks(), clang::tidy::ClangTidyContext::getLangOpts(), and clang::tidy::ClangTidyContext::isCheckEnabled().

Referenced by clang::clangd::ParsedAST::build().

◆ empty()

bool clang::tidy::ClangTidyCheckFactories::empty ( ) const
inline

Definition at line 78 of file ClangTidyModule.h.

◆ end()

FactoryMap::const_iterator clang::tidy::ClangTidyCheckFactories::end ( ) const
inline

Definition at line 77 of file ClangTidyModule.h.

◆ eraseCheck()

void clang::tidy::ClangTidyCheckFactories::eraseCheck ( llvm::StringRef CheckName)
inline

Definition at line 65 of file ClangTidyModule.h.

Referenced by clang::tidy::custom::registerCustomChecks().

◆ registerCheck()

template<typename CheckType>
void clang::tidy::ClangTidyCheckFactories::registerCheck ( llvm::StringRef CheckName)
inline

Registers the CheckType with the name Name.

This method should be used for all ClangTidyChecks that don't require constructor parameters.

For example, if have a clang-tidy check like:

class MyTidyCheck : public ClangTidyCheck {
void registerMatchers(ast_matchers::MatchFinder *Finder) override {
..
}
};

you can register it with:

class MyModule : public ClangTidyModule {
void addCheckFactories(ClangTidyCheckFactories &Factories) override {
Factories.registerCheck<MyTidyCheck>("myproject-my-check");
}
};
A collection of ClangTidyCheckFactory instances.
A clang-tidy module groups a number of ClangTidyChecks and gives them a prefixed name.
virtual void addCheckFactories(ClangTidyCheckFactories &CheckFactories)=0
Implement this function in order to register all CheckFactories belonging to this module.

Definition at line 58 of file ClangTidyModule.h.

References registerCheckFactory().

Referenced by clang::tidy::abseil::AbseilModule::addCheckFactories(), clang::tidy::altera::AlteraModule::addCheckFactories(), clang::tidy::android::AndroidModule::addCheckFactories(), clang::tidy::boost::BoostModule::addCheckFactories(), clang::tidy::bugprone::BugproneModule::addCheckFactories(), clang::tidy::cert::CERTModule::addCheckFactories(), clang::tidy::concurrency::ConcurrencyModule::addCheckFactories(), clang::tidy::cppcoreguidelines::CppCoreGuidelinesModule::addCheckFactories(), clang::tidy::darwin::DarwinModule::addCheckFactories(), clang::tidy::fuchsia::FuchsiaModule::addCheckFactories(), clang::tidy::google::GoogleModule::addCheckFactories(), clang::tidy::hicpp::HICPPModule::addCheckFactories(), clang::tidy::linuxkernel::LinuxKernelModule::addCheckFactories(), clang::tidy::llvm_check::LLVMModule::addCheckFactories(), clang::tidy::llvm_libc::LLVMLibcModule::addCheckFactories(), clang::tidy::misc::MiscModule::addCheckFactories(), clang::tidy::modernize::ModernizeModule::addCheckFactories(), clang::tidy::mpi::MPIModule::addCheckFactories(), clang::tidy::objc::ObjCModule::addCheckFactories(), clang::tidy::openmp::OpenMPModule::addCheckFactories(), clang::tidy::performance::PerformanceModule::addCheckFactories(), clang::tidy::portability::PortabilityModule::addCheckFactories(), clang::tidy::readability::ReadabilityModule::addCheckFactories(), and clang::tidy::zircon::ZirconModule::addCheckFactories().

◆ registerCheckFactory()

void clang::tidy::ClangTidyCheckFactories::registerCheckFactory ( llvm::StringRef Name,
CheckFactory Factory )

Registers check Factory with name Name.

For all checks that have default constructors, use registerCheck.

Definition at line 18 of file ClangTidyModule.cpp.

Referenced by registerCheck(), and clang::tidy::custom::registerCustomChecks().


The documentation for this class was generated from the following files: