diff options
author | Carlos Galvez <carlosgalvezp@gmail.com> | 2024-02-02 21:48:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-02 21:48:21 +0100 |
commit | cc38cd856d9a9df77d5d727377e38a891807774b (patch) | |
tree | dd8c605494889923db802cb67ccf9dde3c8658d2 /clang-tools-extra/clang-tidy/misc | |
parent | 2352fdd2026e36c4206053331deba1a70b70d925 (diff) | |
download | llvm-cc38cd856d9a9df77d5d727377e38a891807774b.zip llvm-cc38cd856d9a9df77d5d727377e38a891807774b.tar.gz llvm-cc38cd856d9a9df77d5d727377e38a891807774b.tar.bz2 |
[clang-tidy] Remove check-specific HeaderFileExtensions and Implement… (#80333)
…ationFileExtensions
Deprecated since clang-tidy 17. Use the corresponding global options
instead.
Fixes #61947
---------
Co-authored-by: Carlos Gálvez <carlos.galvez@zenseact.com>
Diffstat (limited to 'clang-tools-extra/clang-tidy/misc')
5 files changed, 9 insertions, 88 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp index 2c07b30..21008bc 100644 --- a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp @@ -28,45 +28,16 @@ AST_MATCHER_P(NamedDecl, usesHeaderFileExtension, FileExtensionsSet, DefinitionsInHeadersCheck::DefinitionsInHeadersCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context), - UseHeaderFileExtension(Options.get("UseHeaderFileExtension", true)) { - std::optional<StringRef> HeaderFileExtensionsOption = - Options.get("HeaderFileExtensions"); - RawStringHeaderFileExtensions = - HeaderFileExtensionsOption.value_or(utils::defaultHeaderFileExtensions()); - if (HeaderFileExtensionsOption) { - if (!utils::parseFileExtensions(RawStringHeaderFileExtensions, - HeaderFileExtensions, - utils::defaultFileExtensionDelimiters())) { - this->configurationDiag("Invalid header file extension: '%0'") - << RawStringHeaderFileExtensions; - } - } else - HeaderFileExtensions = Context->getHeaderFileExtensions(); -} - -void DefinitionsInHeadersCheck::storeOptions( - ClangTidyOptions::OptionMap &Opts) { - Options.store(Opts, "UseHeaderFileExtension", UseHeaderFileExtension); - Options.store(Opts, "HeaderFileExtensions", RawStringHeaderFileExtensions); -} + HeaderFileExtensions(Context->getHeaderFileExtensions()) {} void DefinitionsInHeadersCheck::registerMatchers(MatchFinder *Finder) { auto DefinitionMatcher = anyOf(functionDecl(isDefinition(), unless(isDeleted())), varDecl(isDefinition())); - if (UseHeaderFileExtension) { - Finder->addMatcher(namedDecl(DefinitionMatcher, - usesHeaderFileExtension(HeaderFileExtensions)) - .bind("name-decl"), - this); - } else { - Finder->addMatcher( - namedDecl(DefinitionMatcher, - anyOf(usesHeaderFileExtension(HeaderFileExtensions), - unless(isExpansionInMainFile()))) - .bind("name-decl"), - this); - } + Finder->addMatcher(namedDecl(DefinitionMatcher, + usesHeaderFileExtension(HeaderFileExtensions)) + .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 e009549..ebb55d5 100644 --- a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h +++ b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h @@ -20,12 +20,6 @@ namespace clang::tidy::misc { /// The check supports these options: /// - `UseHeaderFileExtension`: Whether to use file extension to distinguish /// header files. True by default. -/// - `HeaderFileExtensions`: a semicolon-separated list of filename -/// extensions of header files (The filename extension should not contain -/// "." prefix). ";h;hh;hpp;hxx" by default. -/// -/// For extension-less header files, using an empty string or leaving an -/// empty string between ";" if there are other filename extensions. /// /// For the user-facing documentation see: /// http://clang.llvm.org/extra/clang-tidy/checks/misc/definitions-in-headers.html @@ -35,13 +29,10 @@ public: bool isLanguageVersionSupported(const LangOptions &LangOpts) const override { return LangOpts.CPlusPlus11; } - void storeOptions(ClangTidyOptions::OptionMap &Opts) override; void registerMatchers(ast_matchers::MatchFinder *Finder) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; private: - const bool UseHeaderFileExtension; - StringRef RawStringHeaderFileExtensions; FileExtensionsSet HeaderFileExtensions; }; diff --git a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp index 59e487b..90b3175 100644 --- a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp @@ -39,21 +39,8 @@ static bool shouldCheckDecl(const Decl *TargetDecl) { UnusedUsingDeclsCheck::UnusedUsingDeclsCheck(StringRef Name, ClangTidyContext *Context) - : ClangTidyCheck(Name, Context) { - std::optional<StringRef> HeaderFileExtensionsOption = - Options.get("HeaderFileExtensions"); - RawStringHeaderFileExtensions = - HeaderFileExtensionsOption.value_or(utils::defaultHeaderFileExtensions()); - if (HeaderFileExtensionsOption) { - if (!utils::parseFileExtensions(RawStringHeaderFileExtensions, - HeaderFileExtensions, - utils::defaultFileExtensionDelimiters())) { - this->configurationDiag("Invalid header file extension: '%0'") - << RawStringHeaderFileExtensions; - } - } else - HeaderFileExtensions = Context->getHeaderFileExtensions(); -} + : ClangTidyCheck(Name, Context), + HeaderFileExtensions(Context->getHeaderFileExtensions()) {} void UnusedUsingDeclsCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher(usingDecl(isExpansionInMainFile()).bind("using"), this); diff --git a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp index a6337f5..05b4701 100644 --- a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp @@ -31,26 +31,8 @@ AST_MATCHER(VarDecl, isStaticDataMember) { return Node.isStaticDataMember(); } UseAnonymousNamespaceCheck::UseAnonymousNamespaceCheck( StringRef Name, ClangTidyContext *Context) - : ClangTidyCheck(Name, Context) { - std::optional<StringRef> HeaderFileExtensionsOption = - Options.get("HeaderFileExtensions"); - RawStringHeaderFileExtensions = - HeaderFileExtensionsOption.value_or(utils::defaultHeaderFileExtensions()); - if (HeaderFileExtensionsOption) { - if (!utils::parseFileExtensions(RawStringHeaderFileExtensions, - HeaderFileExtensions, - utils::defaultFileExtensionDelimiters())) { - this->configurationDiag("Invalid header file extension: '%0'") - << RawStringHeaderFileExtensions; - } - } else - HeaderFileExtensions = Context->getHeaderFileExtensions(); -} - -void UseAnonymousNamespaceCheck::storeOptions( - ClangTidyOptions::OptionMap &Opts) { - Options.store(Opts, "HeaderFileExtensions", RawStringHeaderFileExtensions); -} + : ClangTidyCheck(Name, Context), + HeaderFileExtensions(Context->getHeaderFileExtensions()) {} void UseAnonymousNamespaceCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher( diff --git a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h index 4a5a867..3f73ce7 100644 --- a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h +++ b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h @@ -17,14 +17,6 @@ namespace clang::tidy::misc { /// Warns when using 'static' functions or variables at global scope, and /// suggests moving them to an anonymous namespace. /// -/// The check supports these options: -/// - `HeaderFileExtensions`: a semicolon-separated list of filename -/// extensions of header files (The filename extension should not contain -/// "." prefix). ";h;hh;hpp;hxx" by default. -/// -/// For extension-less header files, using an empty string or leaving an -/// empty string between ";" if there are other filename extensions. -/// /// For the user-facing documentation see: /// http://clang.llvm.org/extra/clang-tidy/checks/misc/use-anonymous-namespace.html class UseAnonymousNamespaceCheck : public ClangTidyCheck { @@ -33,12 +25,10 @@ public: bool isLanguageVersionSupported(const LangOptions &LangOpts) const override { return LangOpts.CPlusPlus; } - void storeOptions(ClangTidyOptions::OptionMap &Opts) override; void registerMatchers(ast_matchers::MatchFinder *Finder) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; private: - StringRef RawStringHeaderFileExtensions; FileExtensionsSet HeaderFileExtensions; }; |