forked from OSchip/llvm-project
[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:
parent
216963a723
commit
5d08bb72d9
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue