[clang-tidy] Switch to a more common way of customizing check behavior.

This should have been done this way from the start, however I somehow missed
r257177.

llvm-svn: 270215
This commit is contained in:
Alexander Kornienko 2016-05-20 13:42:40 +00:00
parent 216963a723
commit 5d08bb72d9
4 changed files with 9 additions and 9 deletions

View File

@ -223,10 +223,6 @@ GlobList &ClangTidyContext::getChecksFilter() {
return *CheckFilter;
}
bool ClangTidyContext::isCheckEnabled(StringRef CheckName) const {
return CheckFilter->contains(CheckName);
}
GlobList &ClangTidyContext::getWarningAsErrorFilter() {
assert(WarningAsErrorFilter != nullptr);
return *WarningAsErrorFilter;

View File

@ -172,9 +172,6 @@ public:
/// The \c CurrentFile can be changed using \c setCurrentFile.
GlobList &getChecksFilter();
/// \brief Returns true if the check name is enabled for the \c CurrentFile.
bool isCheckEnabled(StringRef CheckName) const;
/// \brief Returns check filter for the \c CurrentFile which
/// selects checks for upgrade to error.
GlobList &getWarningAsErrorFilter();

View File

@ -69,6 +69,11 @@ public:
CheckFactories.registerCheck<StrToNumCheck>(
"cert-err34-c");
}
ClangTidyOptions getModuleOptions() override {
ClangTidyOptions Options;
Options.CheckOptions["cert-oop11-cpp.UseCERTSemantics"] = "1";
return Options;
}
};
} // namespace cert

View File

@ -44,7 +44,7 @@ MoveConstructorInitCheck::MoveConstructorInitCheck(StringRef Name,
: ClangTidyCheck(Name, Context),
IncludeStyle(utils::IncludeSorter::parseIncludeStyle(
Options.get("IncludeStyle", "llvm"))),
UseCERTSemantics(Context->isCheckEnabled("cert-oop11-cpp")) {}
UseCERTSemantics(Options.get("UseCERTSemantics", 0) != 0) {}
void MoveConstructorInitCheck::registerMatchers(MatchFinder *Finder) {
// Only register the matchers for C++11; the functionality currently does not
@ -72,7 +72,7 @@ void MoveConstructorInitCheck::registerMatchers(MatchFinder *Finder) {
// This checker is also used to implement cert-oop11-cpp, but when using that
// form of the checker, we do not want to diagnose movable parameters.
if (!UseCERTSemantics)
if (!UseCERTSemantics) {
Finder->addMatcher(
cxxConstructorDecl(
allOf(
@ -89,6 +89,7 @@ void MoveConstructorInitCheck::registerMatchers(MatchFinder *Finder) {
.bind("init-arg")))))))
.bind("ctor-decl"),
this);
}
}
void MoveConstructorInitCheck::check(const MatchFinder::MatchResult &Result) {
@ -176,6 +177,7 @@ void MoveConstructorInitCheck::registerPPCallbacks(CompilerInstance &Compiler) {
void MoveConstructorInitCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
Options.store(Opts, "IncludeStyle",
utils::IncludeSorter::toString(IncludeStyle));
Options.store(Opts, "UseCERTSemantics", UseCERTSemantics ? 1 : 0);
}
} // namespace misc