[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
diff --git a/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp b/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
index e9a448e..d0a7e5f 100644
--- a/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
+++ b/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
@@ -223,10 +223,6 @@
   return *CheckFilter;
 }
 
-bool ClangTidyContext::isCheckEnabled(StringRef CheckName) const {
-  return CheckFilter->contains(CheckName);
-}
-
 GlobList &ClangTidyContext::getWarningAsErrorFilter() {
   assert(WarningAsErrorFilter != nullptr);
   return *WarningAsErrorFilter;
diff --git a/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h b/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
index 8d46a29..d7e4d2b 100644
--- a/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
+++ b/clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
@@ -172,9 +172,6 @@
   /// 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();
diff --git a/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp b/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
index 6ba0206..1a0d9c5 100644
--- a/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
+++ b/clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
@@ -69,6 +69,11 @@
     CheckFactories.registerCheck<StrToNumCheck>(
         "cert-err34-c");
   }
+  ClangTidyOptions getModuleOptions() override {
+    ClangTidyOptions Options;
+    Options.CheckOptions["cert-oop11-cpp.UseCERTSemantics"] = "1";
+    return Options;
+  }
 };
 
 } // namespace cert
diff --git a/clang-tools-extra/clang-tidy/misc/MoveConstructorInitCheck.cpp b/clang-tools-extra/clang-tidy/misc/MoveConstructorInitCheck.cpp
index 7997399..acb6de4 100644
--- a/clang-tools-extra/clang-tidy/misc/MoveConstructorInitCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/MoveConstructorInitCheck.cpp
@@ -44,7 +44,7 @@
     : 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 @@
 
   // 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 @@
                             .bind("init-arg")))))))
             .bind("ctor-decl"),
         this);
+  }
 }
 
 void MoveConstructorInitCheck::check(const MatchFinder::MatchResult &Result) {
@@ -176,6 +177,7 @@
 void MoveConstructorInitCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
   Options.store(Opts, "IncludeStyle",
                 utils::IncludeSorter::toString(IncludeStyle));
+  Options.store(Opts, "UseCERTSemantics", UseCERTSemantics ? 1 : 0);
 }
 
 } // namespace misc