[clang-tools-extra] [clang-tidy][NFC] Don't store a redundant copy of `HeaderFileExtensions` in every check (PR #190302)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Apr 2 20:09:43 PDT 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-tidy
Author: Victor Chernyakin (localspook)
<details>
<summary>Changes</summary>
#<!-- -->80333 removed local `HeaderFileExtensions` options; now there's only a global option, and its value lives in the `ClangTidyContext`. But every check still stores its own copy of `HeaderFileExtensions`, a vestige of the old design which this change fixes.
---
Patch is 24.75 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/190302.diff
21 Files Affected:
- (modified) clang-tools-extra/clang-tidy/ClangTidyCheck.h (+10)
- (modified) clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp (+4-4)
- (modified) clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h (-4)
- (modified) clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp (+4-6)
- (modified) clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h (-2)
- (modified) clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp (+3-3)
- (modified) clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h (-4)
- (modified) clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp (+2-3)
- (modified) clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.h (-4)
- (modified) clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.cpp (+2-3)
- (modified) clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.h (-3)
- (modified) clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp (+7-6)
- (modified) clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h (-4)
- (modified) clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp (+3-3)
- (modified) clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h (-3)
- (modified) clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp (+6-6)
- (modified) clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h (-4)
- (modified) clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp (+4-5)
- (modified) clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.h (-1)
- (modified) clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp (+4-2)
- (modified) clang-tools-extra/clang-tidy/utils/HeaderGuard.h (+1-6)
``````````diff
diff --git a/clang-tools-extra/clang-tidy/ClangTidyCheck.h b/clang-tools-extra/clang-tidy/ClangTidyCheck.h
index 905e419cdf0ca..ec615e08dcccd 100644
--- a/clang-tools-extra/clang-tidy/ClangTidyCheck.h
+++ b/clang-tools-extra/clang-tidy/ClangTidyCheck.h
@@ -480,6 +480,16 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
ClangTidyContext *Context;
};
+ /// Returns the list of header file extensions from the context.
+ const FileExtensionsSet &getHeaderFileExtensions() const {
+ return Context->getHeaderFileExtensions();
+ }
+
+ /// Returns the list of implementation file extensions from the context.
+ const FileExtensionsSet &getImplementationFileExtensions() const {
+ return Context->getImplementationFileExtensions();
+ }
+
private:
void run(const ast_matchers::MatchFinder::MatchResult &Result) override;
std::string CheckName;
diff --git a/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
index ebbc197e0189a..c8185a662a2a4 100644
--- a/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
@@ -33,8 +33,7 @@ AST_MATCHER(VarDecl, hasConstantDeclaration) {
DynamicStaticInitializersCheck::DynamicStaticInitializersCheck(
StringRef Name, ClangTidyContext *Context)
- : ClangTidyCheck(Name, Context),
- HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
+ : ClangTidyCheck(Name, Context) {}
void DynamicStaticInitializersCheck::registerMatchers(MatchFinder *Finder) {
Finder->addMatcher(
@@ -46,8 +45,9 @@ void DynamicStaticInitializersCheck::check(
const MatchFinder::MatchResult &Result) {
const auto *Var = Result.Nodes.getNodeAs<VarDecl>("var");
const SourceLocation Loc = Var->getLocation();
- if (!Loc.isValid() || !utils::isPresumedLocInHeaderFile(
- Loc, *Result.SourceManager, HeaderFileExtensions))
+ if (!Loc.isValid() ||
+ !utils::isPresumedLocInHeaderFile(Loc, *Result.SourceManager,
+ getHeaderFileExtensions()))
return;
// If the initializer is a constant expression, then the compiler
// doesn't have to dynamically initialize it.
diff --git a/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h b/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h
index 00e4bb1e75000..92b8c7d876517 100644
--- a/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h
+++ b/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h
@@ -10,7 +10,6 @@
#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_DYNAMICSTATICINITIALIZERSCHECK_H
#include "../ClangTidyCheck.h"
-#include "../FileExtensionsSet.h"
namespace clang::tidy::bugprone {
@@ -23,9 +22,6 @@ class DynamicStaticInitializersCheck : public ClangTidyCheck {
}
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
-
-private:
- FileExtensionsSet HeaderFileExtensions;
};
} // namespace clang::tidy::bugprone
diff --git a/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
index 5abbadafc0d63..d90e5dae650c7 100644
--- a/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
@@ -39,15 +39,13 @@ class SuspiciousIncludePPCallbacks : public PPCallbacks {
SuspiciousIncludeCheck::SuspiciousIncludeCheck(StringRef Name,
ClangTidyContext *Context)
: ClangTidyCheck(Name, Context),
- HeaderFileExtensions(Context->getHeaderFileExtensions()),
- ImplementationFileExtensions(Context->getImplementationFileExtensions()),
IgnoredRegexString(Options.get("IgnoredRegex").value_or(StringRef{})),
IgnoredRegex(IgnoredRegexString) {}
void SuspiciousIncludeCheck::registerPPCallbacks(
const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) {
PP->addPPCallbacks(
- ::std::make_unique<SuspiciousIncludePPCallbacks>(*this, SM, PP));
+ std::make_unique<SuspiciousIncludePPCallbacks>(*this, SM, PP));
}
void SuspiciousIncludeCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
@@ -68,15 +66,15 @@ void SuspiciousIncludePPCallbacks::InclusionDirective(
const SourceLocation DiagLoc = FilenameRange.getBegin().getLocWithOffset(1);
- const std::optional<StringRef> IFE =
- utils::getFileExtension(FileName, Check.ImplementationFileExtensions);
+ const std::optional<StringRef> IFE = utils::getFileExtension(
+ FileName, Check.getImplementationFileExtensions());
if (!IFE)
return;
Check.diag(DiagLoc, "suspicious #%0 of file with '%1' extension")
<< IncludeTok.getIdentifierInfo()->getName() << *IFE;
- for (const auto &HFE : Check.HeaderFileExtensions) {
+ for (const auto &HFE : Check.getHeaderFileExtensions()) {
SmallString<128> GuessedFileName(FileName);
llvm::sys::path::replace_extension(GuessedFileName,
(!HFE.empty() ? "." : "") + HFE);
diff --git a/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h b/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h
index 50fc34595b5d6..49f74e63d6739 100644
--- a/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h
+++ b/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h
@@ -29,8 +29,6 @@ class SuspiciousIncludeCheck : public ClangTidyCheck {
Preprocessor *ModuleExpanderPP) override;
void storeOptions(ClangTidyOptions::OptionMap &Opts) override;
- FileExtensionsSet HeaderFileExtensions;
- FileExtensionsSet ImplementationFileExtensions;
StringRef IgnoredRegexString;
llvm::Regex IgnoredRegex;
};
diff --git a/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp b/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
index aa8bc74e911b4..ee0e29b9c5d17 100644
--- a/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include "GlobalNamesInHeadersCheck.h"
+#include "../utils/FileExtensionsUtils.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include "clang/ASTMatchers/ASTMatchers.h"
#include "clang/Lex/Lexer.h"
@@ -17,8 +18,7 @@ namespace clang::tidy::google::readability {
GlobalNamesInHeadersCheck::GlobalNamesInHeadersCheck(StringRef Name,
ClangTidyContext *Context)
- : ClangTidyCheck(Name, Context),
- HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
+ : ClangTidyCheck(Name, Context) {}
void GlobalNamesInHeadersCheck::registerMatchers(
ast_matchers::MatchFinder *Finder) {
@@ -39,7 +39,7 @@ void GlobalNamesInHeadersCheck::check(const MatchFinder::MatchResult &Result) {
Result.SourceManager->getExpansionLoc(D->getBeginLoc()))) {
// unless that file is a header.
if (!utils::isSpellingLocInHeaderFile(
- D->getBeginLoc(), *Result.SourceManager, HeaderFileExtensions))
+ D->getBeginLoc(), *Result.SourceManager, getHeaderFileExtensions()))
return;
}
diff --git a/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h b/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h
index 750b9f4f340f0..a68bbbf898556 100644
--- a/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h
+++ b/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h
@@ -10,7 +10,6 @@
#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_GOOGLE_GLOBALNAMESINHEADERSCHECK_H
#include "../ClangTidyCheck.h"
-#include "../utils/FileExtensionsUtils.h"
namespace clang::tidy::google::readability {
@@ -24,9 +23,6 @@ class GlobalNamesInHeadersCheck : public ClangTidyCheck {
GlobalNamesInHeadersCheck(StringRef Name, ClangTidyContext *Context);
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
-
-private:
- FileExtensionsSet HeaderFileExtensions;
};
} // namespace clang::tidy::google::readability
diff --git a/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp b/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
index 9eb749dede6d2..ddb3551bcc8f7 100644
--- a/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
+++ b/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
@@ -35,8 +35,7 @@ getLastTemplateParameterList(const FunctionDecl *FuncDecl) {
InlineFunctionDeclCheck::InlineFunctionDeclCheck(StringRef Name,
ClangTidyContext *Context)
- : ClangTidyCheck(Name, Context),
- HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
+ : ClangTidyCheck(Name, Context) {}
void InlineFunctionDeclCheck::registerMatchers(MatchFinder *Finder) {
// Ignore functions that have been deleted.
@@ -67,7 +66,7 @@ void InlineFunctionDeclCheck::check(const MatchFinder::MatchResult &Result) {
// Consider functions only in header files.
if (!utils::isSpellingLocInHeaderFile(SrcBegin, *Result.SourceManager,
- HeaderFileExtensions))
+ getHeaderFileExtensions()))
return;
// Ignore lambda functions as they are internal and implicit.
diff --git a/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.h b/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.h
index cf8c11d7619ed..0171b0924462c 100644
--- a/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.h
+++ b/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.h
@@ -10,7 +10,6 @@
#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_LLVMLIBC_INLINEFUNCTIONDECLCHECK_H
#include "../ClangTidyCheck.h"
-#include "../FileExtensionsSet.h"
namespace clang::tidy::llvm_libc {
@@ -37,9 +36,6 @@ class InlineFunctionDeclCheck : public ClangTidyCheck {
std::optional<TraversalKind> getCheckTraversalKind() const override {
return TK_IgnoreUnlessSpelledInSource;
}
-
-private:
- FileExtensionsSet HeaderFileExtensions;
};
} // namespace clang::tidy::llvm_libc
diff --git a/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.cpp b/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.cpp
index c459ba5d9f2e9..81ba412c86d8b 100644
--- a/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.cpp
@@ -17,8 +17,7 @@ namespace clang::tidy::misc {
AnonymousNamespaceInHeaderCheck::AnonymousNamespaceInHeaderCheck(
StringRef Name, ClangTidyContext *Context)
- : ClangTidyCheck(Name, Context),
- HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
+ : ClangTidyCheck(Name, Context) {}
void AnonymousNamespaceInHeaderCheck::registerMatchers(
ast_matchers::MatchFinder *Finder) {
@@ -34,7 +33,7 @@ void AnonymousNamespaceInHeaderCheck::check(
return;
if (utils::isPresumedLocInHeaderFile(Loc, *Result.SourceManager,
- HeaderFileExtensions))
+ getHeaderFileExtensions()))
diag(Loc, "do not use unnamed namespaces in header files");
}
diff --git a/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.h b/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.h
index 8245bdcfa8fd3..3855e9ac33906 100644
--- a/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.h
+++ b/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.h
@@ -29,9 +29,6 @@ class AnonymousNamespaceInHeaderCheck : public ClangTidyCheck {
}
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
-
-private:
- FileExtensionsSet HeaderFileExtensions;
};
} // namespace clang::tidy::misc
diff --git a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
index c10ee1d92cd59..ae063a19d779d 100644
--- a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include "DefinitionsInHeadersCheck.h"
+#include "../utils/FileExtensionsUtils.h"
#include "clang/AST/ASTContext.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
@@ -27,17 +28,17 @@ AST_MATCHER_P(NamedDecl, usesHeaderFileExtension, FileExtensionsSet,
DefinitionsInHeadersCheck::DefinitionsInHeadersCheck(StringRef Name,
ClangTidyContext *Context)
- : ClangTidyCheck(Name, Context),
- HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
+ : ClangTidyCheck(Name, Context) {}
void DefinitionsInHeadersCheck::registerMatchers(MatchFinder *Finder) {
auto DefinitionMatcher =
anyOf(functionDecl(isDefinition(), unless(isDeleted())),
varDecl(isDefinition()));
- Finder->addMatcher(namedDecl(DefinitionMatcher,
- usesHeaderFileExtension(HeaderFileExtensions))
- .bind("name-decl"),
- this);
+ Finder->addMatcher(
+ namedDecl(DefinitionMatcher,
+ usesHeaderFileExtension(getHeaderFileExtensions()))
+ .bind("name-decl"),
+ this);
}
void DefinitionsInHeadersCheck::check(const MatchFinder::MatchResult &Result) {
diff --git a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h
index e52fa20460c9d..21073193af48f 100644
--- a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h
+++ b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h
@@ -10,7 +10,6 @@
#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_DEFINITIONSINHEADERSCHECK_H
#include "../ClangTidyCheck.h"
-#include "../utils/FileExtensionsUtils.h"
namespace clang::tidy::misc {
@@ -31,9 +30,6 @@ class DefinitionsInHeadersCheck : public ClangTidyCheck {
}
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
-
-private:
- FileExtensionsSet HeaderFileExtensions;
};
} // namespace clang::tidy::misc
diff --git a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
index b5011d982bf76..309342a537ca7 100644
--- a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include "UnusedUsingDeclsCheck.h"
+#include "../utils/FileExtensionsUtils.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Decl.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
@@ -47,13 +48,12 @@ static bool shouldCheckDecl(const Decl *TargetDecl) {
UnusedUsingDeclsCheck::UnusedUsingDeclsCheck(StringRef Name,
ClangTidyContext *Context)
- : ClangTidyCheck(Name, Context),
- HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
+ : ClangTidyCheck(Name, Context) {}
void UnusedUsingDeclsCheck::registerMatchers(MatchFinder *Finder) {
// We don't emit warnings on unused-using-decls from headers, so bail out if
// the main file is a header.
- if (utils::isFileExtension(getCurrentMainFile(), HeaderFileExtensions))
+ if (utils::isFileExtension(getCurrentMainFile(), getHeaderFileExtensions()))
return;
Finder->addMatcher(usingDecl(isExpansionInMainFile()).bind("using"), this);
auto DeclMatcher = hasDeclaration(namedDecl().bind("used"));
diff --git a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
index 986bf37e259e8..798702d517904 100644
--- a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
+++ b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
@@ -10,7 +10,6 @@
#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_UNUSEDUSINGDECLSCHECK_H
#include "../ClangTidyCheck.h"
-#include "../utils/FileExtensionsUtils.h"
#include "llvm/ADT/SmallPtrSet.h"
#include <vector>
@@ -50,8 +49,6 @@ class UnusedUsingDeclsCheck : public ClangTidyCheck {
std::vector<UsingDeclContext> Contexts;
llvm::SmallPtrSet<const Decl *, 32> UsingTargetDeclsCache;
-
- FileExtensionsSet HeaderFileExtensions;
};
} // namespace clang::tidy::misc
diff --git a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp
index 90643264a7d29..3ab63fd1e463e 100644
--- a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include "UseAnonymousNamespaceCheck.h"
+#include "../utils/FileExtensionsUtils.h"
#include "clang/AST/ASTContext.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
@@ -17,10 +18,10 @@ namespace {
AST_POLYMORPHIC_MATCHER_P(isInHeaderFile,
AST_POLYMORPHIC_SUPPORTED_TYPES(FunctionDecl,
VarDecl),
- FileExtensionsSet, HeaderFileExtensions) {
+ const FileExtensionsSet *, HeaderFileExtensions) {
return utils::isExpansionLocInHeaderFile(
Node.getBeginLoc(), Finder->getASTContext().getSourceManager(),
- HeaderFileExtensions);
+ *HeaderFileExtensions);
}
AST_MATCHER(FunctionDecl, isMemberFunction) {
@@ -31,19 +32,18 @@ AST_MATCHER(VarDecl, isStaticDataMember) { return Node.isStaticDataMember(); }
UseAnonymousNamespaceCheck::UseAnonymousNamespaceCheck(
StringRef Name, ClangTidyContext *Context)
- : ClangTidyCheck(Name, Context),
- HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
+ : ClangTidyCheck(Name, Context) {}
void UseAnonymousNamespaceCheck::registerMatchers(MatchFinder *Finder) {
Finder->addMatcher(
functionDecl(isStaticStorageClass(),
- unless(anyOf(isInHeaderFile(HeaderFileExtensions),
+ unless(anyOf(isInHeaderFile(&getHeaderFileExtensions()),
isInAnonymousNamespace(), isMemberFunction())))
.bind("x"),
this);
Finder->addMatcher(
varDecl(isStaticStorageClass(),
- unless(anyOf(isInHeaderFile(HeaderFileExtensions),
+ unless(anyOf(isInHeaderFile(&getHeaderFileExtensions()),
isInAnonymousNamespace(), isStaticLocal(),
isStaticDataMember(), hasType(isConstQualified()))))
.bind("x"),
diff --git a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h
index 8548fbbc6a3cc..b6361db5ba0d4 100644
--- a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h
+++ b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h
@@ -10,7 +10,6 @@
#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_USEANONYMOUSNAMESPACECHECK_H
#include "../ClangTidyCheck.h"
-#include "../utils/FileExtensionsUtils.h"
namespace clang::tidy::misc {
@@ -27,9 +26,6 @@ class UseAnonymousNamespaceCheck : public ClangTidyCheck {
}
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
-
-private:
- FileExtensionsSet HeaderFileExtensions;
};
} // namespace clang::tidy::misc
diff --git a/clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp b/clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
index 68115cb28e7c8..30b7ca5ee50c1 100644
--- a/clang-tools-extra/cla...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/190302
More information about the cfe-commits
mailing list