Author: Carlos Galvez Date: 2022-12-12T14:05:19Z New Revision: d3c3de63ce8416ab2dee7f784e54b00a2aa8ed85
URL: https://github.com/llvm/llvm-project/commit/d3c3de63ce8416ab2dee7f784e54b00a2aa8ed85 DIFF: https://github.com/llvm/llvm-project/commit/d3c3de63ce8416ab2dee7f784e54b00a2aa8ed85.diff LOG: [clang-tidy][NFC] Simply match processing in misc-use-anonymous-namespace No need for the templated function "processMatch", since we can infer the type with llvm:isa. Added: Modified: clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h Removed: ################################################################################ diff --git a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp index 878cba31eb2ab..fdf7828c8c0fd 100644 --- a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp @@ -31,33 +31,26 @@ AST_MATCHER(Decl, isInAnonymousNamespace) { } } // namespace -template <typename T> -void UseAnonymousNamespaceCheck::processMatch(const T *MatchedDecl) { - StringRef Type = llvm::isa<VarDecl>(MatchedDecl) ? "variable" : "function"; - diag(MatchedDecl->getLocation(), - "%0 %1 declared 'static', move to anonymous namespace instead") - << Type << MatchedDecl; -} - void UseAnonymousNamespaceCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher( functionDecl(isStatic(), unless(anyOf(isInAnonymousNamespace(), isMemberFunction()))) - .bind("func"), + .bind("x"), this); Finder->addMatcher( varDecl(isStatic(), unless(anyOf(isInAnonymousNamespace(), isStaticLocal(), isStaticDataMember()))) - .bind("var"), + .bind("x"), this); } void UseAnonymousNamespaceCheck::check(const MatchFinder::MatchResult &Result) { - if (const auto *MatchedDecl = Result.Nodes.getNodeAs<FunctionDecl>("func")) - processMatch(MatchedDecl); - - if (const auto *MatchedDecl = Result.Nodes.getNodeAs<VarDecl>("var")) - processMatch(MatchedDecl); + if (const auto *MatchedDecl = Result.Nodes.getNodeAs<NamedDecl>("x")) { + StringRef Type = llvm::isa<VarDecl>(MatchedDecl) ? "variable" : "function"; + diag(MatchedDecl->getLocation(), + "%0 %1 declared 'static', move to anonymous namespace instead") + << Type << MatchedDecl; + } } } // namespace misc diff --git a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h index 59c48029711e0..19d76bfc19f63 100644 --- a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h +++ b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h @@ -29,9 +29,6 @@ class UseAnonymousNamespaceCheck : public ClangTidyCheck { } void registerMatchers(ast_matchers::MatchFinder *Finder) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; - -private: - template <typename T> void processMatch(const T *MatchedDecl); }; } // namespace misc _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits