From: Carlos Galvez Date: Mon, 12 Dec 2022 13:36:29 +0000 (+0000) Subject: [clang-tidy][NFC] Simply match processing in misc-use-anonymous-namespace X-Git-Tag: upstream/17.0.6~24229 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d3c3de63ce8416ab2dee7f784e54b00a2aa8ed85;p=platform%2Fupstream%2Fllvm.git [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. --- diff --git a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp index 878cba3..fdf7828 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 -void UseAnonymousNamespaceCheck::processMatch(const T *MatchedDecl) { - StringRef Type = llvm::isa(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("func")) - processMatch(MatchedDecl); - - if (const auto *MatchedDecl = Result.Nodes.getNodeAs("var")) - processMatch(MatchedDecl); + if (const auto *MatchedDecl = Result.Nodes.getNodeAs("x")) { + StringRef Type = llvm::isa(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 59c4802..19d76bf 100644 --- a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h +++ b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h @@ -29,9 +29,6 @@ public: } void registerMatchers(ast_matchers::MatchFinder *Finder) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; - -private: - template void processMatch(const T *MatchedDecl); }; } // namespace misc