clang-tools  3.8.0
Public Types | Public Member Functions | List of all members
clang::tidy::ClangTidyCheckFactories Class Reference

A collection of ClangTidyCheckFactory instances. More...

#include <ClangTidyModule.h>

Public Types

typedef std::function
< ClangTidyCheck *(StringRef
Name, ClangTidyContext
*Context)> 
CheckFactory
 
typedef std::map< std::string,
CheckFactory
FactoryMap
 

Public Member Functions

void registerCheckFactory (StringRef Name, CheckFactory Factory)
 Registers check Factory with name Name. More...
 
template<typename CheckType >
void registerCheck (StringRef CheckName)
 Registers the CheckType with the name Name. More...
 
void createChecks (ClangTidyContext *Context, std::vector< std::unique_ptr< ClangTidyCheck >> &Checks)
 Create instances of all checks matching CheckRegexString and store them in Checks. More...
 
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

Definition at line 30 of file ClangTidyModule.h.

Definition at line 72 of file ClangTidyModule.h.

Member Function Documentation

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

Definition at line 73 of file ClangTidyModule.h.

void clang::tidy::ClangTidyCheckFactories::createChecks ( ClangTidyContext Context,
std::vector< std::unique_ptr< ClangTidyCheck >> &  Checks 
)

Create instances of all checks matching CheckRegexString and store them in Checks.

The caller takes ownership of the return ClangTidyChecks.

Definition at line 24 of file ClangTidyModule.cpp.

References Checks, clang::tidy::GlobList::contains(), and clang::tidy::ClangTidyContext::getChecksFilter().

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

Definition at line 75 of file ClangTidyModule.h.

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

Definition at line 74 of file ClangTidyModule.h.

template<typename CheckType >
void clang::tidy::ClangTidyCheckFactories::registerCheck ( 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");
}
};

Definition at line 58 of file ClangTidyModule.h.

References Context, Name, and registerCheckFactory().

Referenced by clang::tidy::performance::PerformanceModule::addCheckFactories(), clang::tidy::llvm::LLVMModule::addCheckFactories(), clang::tidy::cert::CERTModule::addCheckFactories(), clang::tidy::cppcoreguidelines::CppCoreGuidelinesModule::addCheckFactories(), clang::tidy::modernize::ModernizeModule::addCheckFactories(), clang::tidy::readability::ReadabilityModule::addCheckFactories(), clang::tidy::google::GoogleModule::addCheckFactories(), and clang::tidy::misc::MiscModule::addCheckFactories().

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

Registers check Factory with name Name.

For all checks that have default constructors, use registerCheck.

Definition at line 19 of file ClangTidyModule.cpp.

References Name.

Referenced by registerCheck().


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