[clang-tools-extra] 35763ba - [clang-tidy] Simplify redundant member init check
Stephen Kelly via cfe-commits
cfe-commits at lists.llvm.org
Sat Feb 27 04:15:17 PST 2021
Author: Stephen Kelly
Date: 2021-02-27T12:11:44Z
New Revision: 35763baf9aa927c2e8fc0a4af484c51391ecc30c
URL: https://github.com/llvm/llvm-project/commit/35763baf9aa927c2e8fc0a4af484c51391ecc30c
DIFF: https://github.com/llvm/llvm-project/commit/35763baf9aa927c2e8fc0a4af484c51391ecc30c.diff
LOG: [clang-tidy] Simplify redundant member init check
Differential Revision: https://reviews.llvm.org/D97147
Added:
Modified:
clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.h
Removed:
################################################################################
diff --git a/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
index df6e57bfb9ed..0af9a0478ab9 100644
--- a/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
@@ -26,26 +26,21 @@ void RedundantMemberInitCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
}
void RedundantMemberInitCheck::registerMatchers(MatchFinder *Finder) {
- auto Construct =
- cxxConstructExpr(
- hasDeclaration(cxxConstructorDecl(hasParent(
- cxxRecordDecl(unless(isTriviallyDefaultConstructible()))))))
- .bind("construct");
-
Finder->addMatcher(
- traverse(
- TK_AsIs,
- cxxConstructorDecl(
- unless(isDelegatingConstructor()),
- ofClass(unless(
- anyOf(isUnion(), ast_matchers::isTemplateInstantiation()))),
- forEachConstructorInitializer(
- cxxCtorInitializer(
- isWritten(), withInitializer(ignoringImplicit(Construct)),
- unless(forField(hasType(isConstQualified()))),
- unless(forField(hasParent(recordDecl(isUnion())))))
- .bind("init")))
- .bind("constructor")),
+ cxxConstructorDecl(
+ unless(isDelegatingConstructor()), ofClass(unless(isUnion())),
+ forEachConstructorInitializer(
+ cxxCtorInitializer(
+ withInitializer(
+ cxxConstructExpr(
+ hasDeclaration(
+ cxxConstructorDecl(ofClass(cxxRecordDecl(
+ unless(isTriviallyDefaultConstructible()))))))
+ .bind("construct")),
+ unless(forField(hasType(isConstQualified()))),
+ unless(forField(hasParent(recordDecl(isUnion())))))
+ .bind("init")))
+ .bind("constructor"),
this);
}
diff --git a/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.h b/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.h
index 9454278ca244..6d40a94f59ca 100644
--- a/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.h
+++ b/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.h
@@ -32,6 +32,9 @@ class RedundantMemberInitCheck : public ClangTidyCheck {
void storeOptions(ClangTidyOptions::OptionMap &Opts) override;
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
+ llvm::Optional<TraversalKind> getCheckTraversalKind() const override {
+ return TK_IgnoreUnlessSpelledInSource;
+ }
private:
bool IgnoreBaseInCopyConstructors;
More information about the cfe-commits
mailing list