diff options
author | Alexander Kornienko <alexfh@google.com> | 2014-09-12 08:53:36 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2014-09-12 08:53:36 +0000 |
commit | 6e0cbc89471c210c59cd080901b1dfe656db117f (patch) | |
tree | dec7c96c3799366aafa7ddcb51866a8248eb8e31 /clang-tools-extra/clang-tidy/ClangTidyModule.cpp | |
parent | 313f5e2f29c1826f6aa8bc91f5862bf556cac03b (diff) | |
download | bcm5719-llvm-6e0cbc89471c210c59cd080901b1dfe656db117f.tar.gz bcm5719-llvm-6e0cbc89471c210c59cd080901b1dfe656db117f.zip |
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
Diffstat (limited to 'clang-tools-extra/clang-tidy/ClangTidyModule.cpp')
-rw-r--r-- | clang-tools-extra/clang-tidy/ClangTidyModule.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/clang-tools-extra/clang-tidy/ClangTidyModule.cpp b/clang-tools-extra/clang-tidy/ClangTidyModule.cpp index 1d1c0d12a33..f6e4daf1c30 100644 --- a/clang-tools-extra/clang-tidy/ClangTidyModule.cpp +++ b/clang-tools-extra/clang-tidy/ClangTidyModule.cpp @@ -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)); } } |