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
diff --git a/clang-tools-extra/clang-tidy/misc/ArgumentCommentCheck.cpp b/clang-tools-extra/clang-tidy/misc/ArgumentCommentCheck.cpp
index c408c9c..810d557 100644
--- a/clang-tools-extra/clang-tidy/misc/ArgumentCommentCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/ArgumentCommentCheck.cpp
@@ -18,8 +18,10 @@
namespace clang {
namespace tidy {
-ArgumentCommentCheck::ArgumentCommentCheck()
- : IdentRE("^(/\\* *)([_A-Za-z][_A-Za-z0-9]*)( *= *\\*/)$") {}
+ArgumentCommentCheck::ArgumentCommentCheck(StringRef Name,
+ ClangTidyContext *Context)
+ : ClangTidyCheck(Name, Context),
+ IdentRE("^(/\\* *)([_A-Za-z][_A-Za-z0-9]*)( *= *\\*/)$") {}
void ArgumentCommentCheck::registerMatchers(MatchFinder *Finder) {
Finder->addMatcher(
diff --git a/clang-tools-extra/clang-tidy/misc/ArgumentCommentCheck.h b/clang-tools-extra/clang-tidy/misc/ArgumentCommentCheck.h
index 762e08f..131b56a 100644
--- a/clang-tools-extra/clang-tidy/misc/ArgumentCommentCheck.h
+++ b/clang-tools-extra/clang-tidy/misc/ArgumentCommentCheck.h
@@ -19,7 +19,7 @@
/// \brief Checks that argument comments match parameter names.
class ArgumentCommentCheck : public ClangTidyCheck {
public:
- ArgumentCommentCheck();
+ ArgumentCommentCheck(StringRef Name, ClangTidyContext *Context);
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
diff --git a/clang-tools-extra/clang-tidy/misc/BoolPointerImplicitConversion.h b/clang-tools-extra/clang-tidy/misc/BoolPointerImplicitConversion.h
index 16c0d63..d6c6dfe 100644
--- a/clang-tools-extra/clang-tidy/misc/BoolPointerImplicitConversion.h
+++ b/clang-tools-extra/clang-tidy/misc/BoolPointerImplicitConversion.h
@@ -23,6 +23,8 @@
/// }
class BoolPointerImplicitConversion : public ClangTidyCheck {
public:
+ BoolPointerImplicitConversion(StringRef Name, ClangTidyContext *Context)
+ : ClangTidyCheck(Name, Context) {}
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
};
diff --git a/clang-tools-extra/clang-tidy/misc/RedundantSmartptrGet.h b/clang-tools-extra/clang-tidy/misc/RedundantSmartptrGet.h
index 32268c2..8883275 100644
--- a/clang-tools-extra/clang-tidy/misc/RedundantSmartptrGet.h
+++ b/clang-tools-extra/clang-tidy/misc/RedundantSmartptrGet.h
@@ -23,6 +23,8 @@
/// *ptr->get() ==> **ptr
class RedundantSmartptrGet : public ClangTidyCheck {
public:
+ RedundantSmartptrGet(StringRef Name, ClangTidyContext *Context)
+ : ClangTidyCheck(Name, Context) {}
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
};
diff --git a/clang-tools-extra/clang-tidy/misc/SwappedArgumentsCheck.h b/clang-tools-extra/clang-tidy/misc/SwappedArgumentsCheck.h
index 9dbdad1..42293cd 100644
--- a/clang-tools-extra/clang-tidy/misc/SwappedArgumentsCheck.h
+++ b/clang-tools-extra/clang-tidy/misc/SwappedArgumentsCheck.h
@@ -19,6 +19,8 @@
/// conversions.
class SwappedArgumentsCheck : public ClangTidyCheck {
public:
+ SwappedArgumentsCheck(StringRef Name, ClangTidyContext *Context)
+ : ClangTidyCheck(Name, Context) {}
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
};
diff --git a/clang-tools-extra/clang-tidy/misc/UndelegatedConstructor.h b/clang-tools-extra/clang-tidy/misc/UndelegatedConstructor.h
index 1e24d08..1afe355 100644
--- a/clang-tools-extra/clang-tidy/misc/UndelegatedConstructor.h
+++ b/clang-tools-extra/clang-tidy/misc/UndelegatedConstructor.h
@@ -20,6 +20,8 @@
/// meant to use a delegating constructor or base class initializer.
class UndelegatedConstructorCheck : public ClangTidyCheck {
public:
+ UndelegatedConstructorCheck(StringRef Name, ClangTidyContext *Context)
+ : ClangTidyCheck(Name, Context) {}
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
};
diff --git a/clang-tools-extra/clang-tidy/misc/UnusedRAII.h b/clang-tools-extra/clang-tidy/misc/UnusedRAII.h
index 6850ab9..4d45c4a 100644
--- a/clang-tools-extra/clang-tidy/misc/UnusedRAII.h
+++ b/clang-tools-extra/clang-tidy/misc/UnusedRAII.h
@@ -37,6 +37,8 @@
/// - Ignore objects returned from a call.
class UnusedRAIICheck : public ClangTidyCheck {
public:
+ UnusedRAIICheck(StringRef Name, ClangTidyContext *Context)
+ : ClangTidyCheck(Name, Context) {}
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
};
diff --git a/clang-tools-extra/clang-tidy/misc/UseOverride.h b/clang-tools-extra/clang-tidy/misc/UseOverride.h
index 0f91177..aab40b5 100644
--- a/clang-tools-extra/clang-tidy/misc/UseOverride.h
+++ b/clang-tools-extra/clang-tidy/misc/UseOverride.h
@@ -18,6 +18,8 @@
/// \brief Use C++11's 'override' and remove 'virtual' where applicable.
class UseOverride : public ClangTidyCheck {
public:
+ UseOverride(StringRef Name, ClangTidyContext *Context)
+ : ClangTidyCheck(Name, Context) {}
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
};