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("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(*this, SM, PP)); + std::make_unique(*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 IFE = - utils::getFileExtension(FileName, Check.ImplementationFileExtensions); + const std::optional 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 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 @@ -50,8 +49,6 @@ class UnusedUsingDeclsCheck : public ClangTidyCheck { std::vector Contexts; llvm::SmallPtrSet 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 3c026c8faa37b..db24f740148b1 100644 --- a/clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp @@ -75,12 +75,12 @@ AST_MATCHER(Decl, isInImportableModuleUnit) { return false; } -AST_MATCHER_P(Decl, isAllRedeclsInMainFile, FileExtensionsSet, +AST_MATCHER_P(Decl, isAllRedeclsInMainFile, const FileExtensionsSet *, HeaderFileExtensions) { return llvm::all_of(Node.redecls(), [&](const Decl *D) { return isInMainFile(D->getLocation(), Finder->getASTContext().getSourceManager(), - HeaderFileExtensions); + *HeaderFileExtensions); }); } @@ -124,7 +124,6 @@ AST_MATCHER(CXXRecordDecl, isExplicitTemplateInstantiation) { UseInternalLinkageCheck::UseInternalLinkageCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context), - HeaderFileExtensions(Context->getHeaderFileExtensions()), FixMode(Options.get("FixMode", FixModeKind::UseStatic)), AnalyzeFunctions(Options.get("AnalyzeFunctions", true)), AnalyzeVariables(Options.get("AnalyzeVariables", true)), @@ -144,8 +143,8 @@ void UseInternalLinkageCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { } void UseInternalLinkageCheck::registerMatchers(MatchFinder *Finder) { - auto Common = - allOf(isFirstDecl(), isAllRedeclsInMainFile(HeaderFileExtensions), + const auto Common = + allOf(isFirstDecl(), isAllRedeclsInMainFile(&getHeaderFileExtensions()), unless(anyOf(isInAnonymousNamespace(), isInImportableModuleUnit(), hasAncestor(decl(friendDecl()))))); diff --git a/clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.h b/clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.h index 5ab3eae515a0f..c6ea421f1dc0c 100644 --- a/clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.h +++ b/clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.h @@ -34,7 +34,6 @@ class UseInternalLinkageCheck : public ClangTidyCheck { }; private: - FileExtensionsSet HeaderFileExtensions; FixModeKind FixMode; const bool AnalyzeFunctions; const bool AnalyzeVariables; diff --git a/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp b/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp index 88012c3a4b48e..338e7ad4004ae 100644 --- a/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp +++ b/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp @@ -7,6 +7,7 @@ //===----------------------------------------------------------------------===// #include "HeaderGuard.h" +#include "../utils/FileExtensionsUtils.h" #include "clang/Frontend/CompilerInstance.h" #include "clang/Lex/PPCallbacks.h" #include "clang/Lex/Preprocessor.h" @@ -283,16 +284,17 @@ std::string HeaderGuardCheck::sanitizeHeaderGuard(StringRef Guard) { } bool HeaderGuardCheck::shouldSuggestEndifComment(StringRef FileName) { - return utils::isFileExtension(FileName, HeaderFileExtensions); + return utils::isFileExtension(FileName, getHeaderFileExtensions()); } bool HeaderGuardCheck::shouldFixHeaderGuard(StringRef FileName) { return true; } bool HeaderGuardCheck::shouldSuggestToAddHeaderGuard(StringRef FileName) { - return utils::isFileExtension(FileName, HeaderFileExtensions); + return utils::isFileExtension(FileName, getHeaderFileExtensions()); } std::string HeaderGuardCheck::formatEndIf(StringRef HeaderGuard) { return "endif // " + HeaderGuard.str(); } + } // namespace clang::tidy::utils diff --git a/clang-tools-extra/clang-tidy/utils/HeaderGuard.h b/clang-tools-extra/clang-tidy/utils/HeaderGuard.h index ce8acb07783b3..8ef1a1879d8a2 100644 --- a/clang-tools-extra/clang-tidy/utils/HeaderGuard.h +++ b/clang-tools-extra/clang-tidy/utils/HeaderGuard.h @@ -10,7 +10,6 @@ #define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_UTILS_HEADERGUARD_H #include "../ClangTidyCheck.h" -#include "../utils/FileExtensionsUtils.h" namespace clang::tidy::utils { @@ -18,8 +17,7 @@ namespace clang::tidy::utils { class HeaderGuardCheck : public ClangTidyCheck { public: HeaderGuardCheck(StringRef Name, ClangTidyContext *Context) - : ClangTidyCheck(Name, Context), - HeaderFileExtensions(Context->getHeaderFileExtensions()) {} + : ClangTidyCheck(Name, Context) {} void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) override; @@ -43,9 +41,6 @@ class HeaderGuardCheck : public ClangTidyCheck { /// Gets the canonical header guard for a file. virtual std::string getHeaderGuard(StringRef Filename, StringRef OldGuard = StringRef()) = 0; - -private: - FileExtensionsSet HeaderFileExtensions; }; } // namespace clang::tidy::utils