Skip to content

Commit 9ba557c

Browse files
committed
[clang-tidy] Simplify default member init check
Differential Revision: https://reviews.llvm.org/D97145
1 parent 296c6e8 commit 9ba557c

File tree

2 files changed

+11
-12
lines changed

2 files changed

+11
-12
lines changed

clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -207,33 +207,29 @@ void UseDefaultMemberInitCheck::registerMatchers(MatchFinder *Finder) {
207207
declRefExpr(to(enumConstantDecl())));
208208

209209
auto Init =
210-
anyOf(initListExpr(anyOf(
211-
allOf(initCountIs(1), hasInit(0, ignoringImplicit(InitBase))),
212-
initCountIs(0))),
210+
anyOf(initListExpr(anyOf(allOf(initCountIs(1), hasInit(0, InitBase)),
211+
initCountIs(0))),
213212
InitBase);
214213

215214
Finder->addMatcher(
216215
cxxConstructorDecl(
217-
isDefaultConstructor(), unless(isInstantiated()),
216+
isDefaultConstructor(),
218217
forEachConstructorInitializer(
219218
cxxCtorInitializer(
220219
forField(unless(anyOf(getLangOpts().CPlusPlus20
221220
? unless(anything())
222221
: isBitField(),
223222
hasInClassInitializer(anything()),
224223
hasParent(recordDecl(isUnion()))))),
225-
isWritten(), withInitializer(ignoringImplicit(Init)))
224+
withInitializer(Init))
226225
.bind("default"))),
227226
this);
228227

229228
Finder->addMatcher(
230-
cxxConstructorDecl(
231-
unless(ast_matchers::isTemplateInstantiation()),
232-
forEachConstructorInitializer(
233-
cxxCtorInitializer(forField(hasInClassInitializer(anything())),
234-
isWritten(),
235-
withInitializer(ignoringImplicit(Init)))
236-
.bind("existing"))),
229+
cxxConstructorDecl(forEachConstructorInitializer(
230+
cxxCtorInitializer(forField(hasInClassInitializer(anything())),
231+
withInitializer(Init))
232+
.bind("existing"))),
237233
this);
238234
}
239235

clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ class UseDefaultMemberInitCheck : public ClangTidyCheck {
3030
void storeOptions(ClangTidyOptions::OptionMap &Opts) override;
3131
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
3232
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
33+
llvm::Optional<TraversalKind> getCheckTraversalKind() const override {
34+
return TK_IgnoreUnlessSpelledInSource;
35+
}
3336

3437
private:
3538
void checkDefaultInit(const ast_matchers::MatchFinder::MatchResult &Result,

0 commit comments

Comments
 (0)