Implemented clang-tidy-check-specific options.
Summary: Each check can implement readOptions and storeOptions methods to read and store custom options. Each check's options are stored in a local namespace to avoid name collisions and provide some sort of context to the user. Reviewers: bkramer, klimek Reviewed By: klimek Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D5296 llvm-svn: 217661
This commit is contained in:
@@ -16,19 +16,18 @@
|
||||
namespace clang {
|
||||
namespace tidy {
|
||||
|
||||
void ClangTidyCheckFactories::registerCheckFactory(
|
||||
StringRef Name, std::function<ClangTidyCheck *()> Factory) {
|
||||
void ClangTidyCheckFactories::registerCheckFactory(StringRef Name,
|
||||
CheckFactory Factory) {
|
||||
Factories[Name] = Factory;
|
||||
}
|
||||
|
||||
void ClangTidyCheckFactories::createChecks(
|
||||
GlobList &Filter, std::vector<std::unique_ptr<ClangTidyCheck>> &Checks) {
|
||||
ClangTidyContext *Context,
|
||||
std::vector<std::unique_ptr<ClangTidyCheck>> &Checks) {
|
||||
GlobList &Filter = Context->getChecksFilter();
|
||||
for (const auto &Factory : Factories) {
|
||||
if (Filter.contains(Factory.first)) {
|
||||
ClangTidyCheck *Check = Factory.second();
|
||||
Check->setName(Factory.first);
|
||||
Checks.emplace_back(Check);
|
||||
}
|
||||
if (Filter.contains(Factory.first))
|
||||
Checks.emplace_back(Factory.second(Factory.first, Context));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user