summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/ClangTidyModule.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2014-09-12 08:53:36 +0000
committerAlexander Kornienko <alexfh@google.com>2014-09-12 08:53:36 +0000
commit6e0cbc89471c210c59cd080901b1dfe656db117f (patch)
treedec7c96c3799366aafa7ddcb51866a8248eb8e31 /clang-tools-extra/clang-tidy/ClangTidyModule.cpp
parent313f5e2f29c1826f6aa8bc91f5862bf556cac03b (diff)
downloadbcm5719-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.cpp15
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));
}
}
OpenPOWER on IntegriCloud