https://github.com/zeyi2 updated https://github.com/llvm/llvm-project/pull/228546
>From 3d0edcfe009c327bc9c2eb531cb9983a1ea16226 Mon Sep 17 00:00:00 2001 From: Zeyi Xu <[email protected]> Date: Sat, 3 Oct 2026 02:22:45 +0800 Subject: [PATCH] [clang-tidy][NFC] Move isStatic matcher into utils::Matchers Co-authored-by: Cursor <[email protected]> --- .../clang-tidy/bugprone/VirtualNearMissCheck.cpp | 4 ++-- .../performance/UnnecessaryCopyInitializationCheck.cpp | 3 +-- .../readability/ConvertMemberFunctionsToStaticCheck.cpp | 4 ++-- .../clang-tidy/readability/MakeMemberFunctionConstCheck.cpp | 4 ++-- .../readability/StaticAccessedThroughInstanceCheck.cpp | 6 ++---- clang-tools-extra/clang-tidy/utils/Matchers.h | 2 ++ 6 files changed, 11 insertions(+), 12 deletions(-) diff --git a/clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp index 07dc77b5dee0ac..11ac75e9577376 100644 --- a/clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp @@ -7,18 +7,18 @@ //===----------------------------------------------------------------------===// #include "VirtualNearMissCheck.h" +#include "../utils/Matchers.h" #include "clang/AST/ASTContext.h" #include "clang/AST/CXXInheritance.h" #include "clang/ASTMatchers/ASTMatchFinder.h" #include "clang/Lex/Lexer.h" using namespace clang::ast_matchers; +using namespace clang::tidy::matchers; namespace clang::tidy::bugprone { namespace { -AST_MATCHER(CXXMethodDecl, isStatic) { return Node.isStatic(); } - AST_MATCHER(CXXMethodDecl, isOverloadedOperator) { return Node.isOverloadedOperator(); } diff --git a/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp b/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp index 1c61029ffc47b6..c8372a75fb4877 100644 --- a/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp +++ b/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp @@ -17,6 +17,7 @@ #include <optional> using namespace clang::ast_matchers; +using namespace clang::tidy::matchers; namespace clang::tidy::performance { using utils::decl_ref_expr::allDeclRefExprs; @@ -103,8 +104,6 @@ AST_MATCHER_FUNCTION_P(StatementMatcher, hasArgument(0, hasType(ReceiverType))))); } -AST_MATCHER(CXXMethodDecl, isStatic) { return Node.isStatic(); } - AST_MATCHER_FUNCTION(StatementMatcher, isConstRefReturningFunctionCall) { // Only allow initialization of a const reference from a free function or // static member function if it has no arguments. Otherwise it could return diff --git a/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp b/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp index 1671743db2186c..73b223624d605f 100644 --- a/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp @@ -7,6 +7,7 @@ //===----------------------------------------------------------------------===// #include "ConvertMemberFunctionsToStaticCheck.h" +#include "../utils/Matchers.h" #include "clang/AST/ASTContext.h" #include "clang/AST/DeclCXX.h" #include "clang/AST/RecursiveASTVisitor.h" @@ -15,13 +16,12 @@ #include "clang/Lex/Lexer.h" using namespace clang::ast_matchers; +using namespace clang::tidy::matchers; namespace clang::tidy::readability { namespace { -AST_MATCHER(CXXMethodDecl, isStatic) { return Node.isStatic(); } - AST_MATCHER(CXXMethodDecl, hasTrivialBody) { return Node.hasTrivialBody(); } AST_MATCHER(CXXMethodDecl, isOverloadedOperator) { diff --git a/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp b/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp index e33a045095147b..eb41cae98dcdc7 100644 --- a/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp @@ -7,6 +7,7 @@ //===----------------------------------------------------------------------===// #include "MakeMemberFunctionConstCheck.h" +#include "../utils/Matchers.h" #include "clang/AST/ASTContext.h" #include "clang/AST/ParentMapContext.h" #include "clang/AST/RecursiveASTVisitor.h" @@ -14,13 +15,12 @@ #include "clang/Lex/Lexer.h" using namespace clang::ast_matchers; +using namespace clang::tidy::matchers; namespace clang::tidy::readability { namespace { -AST_MATCHER(CXXMethodDecl, isStatic) { return Node.isStatic(); } - AST_MATCHER(CXXMethodDecl, hasTrivialBody) { return Node.hasTrivialBody(); } AST_MATCHER(CXXRecordDecl, hasAnyDependentBases) { diff --git a/clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp b/clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp index 459cc010f729e8..82dc90a7c5d542 100644 --- a/clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp @@ -7,18 +7,16 @@ //===----------------------------------------------------------------------===// #include "StaticAccessedThroughInstanceCheck.h" +#include "../utils/Matchers.h" #include "clang/AST/ASTContext.h" #include "clang/ASTMatchers/ASTMatchFinder.h" #include "llvm/ADT/StringRef.h" using namespace clang::ast_matchers; +using namespace clang::tidy::matchers; namespace clang::tidy::readability { -namespace { -AST_MATCHER(CXXMethodDecl, isStatic) { return Node.isStatic(); } -} // namespace - static unsigned getNameSpecifierNestingLevel(QualType QType) { unsigned NameSpecifierNestingLevel = 1; for (NestedNameSpecifier Qualifier = QType->getPrefix(); /**/; diff --git a/clang-tools-extra/clang-tidy/utils/Matchers.h b/clang-tools-extra/clang-tidy/utils/Matchers.h index e04da473226239..079b802a6b3244 100644 --- a/clang-tools-extra/clang-tidy/utils/Matchers.h +++ b/clang-tools-extra/clang-tidy/utils/Matchers.h @@ -22,6 +22,8 @@ AST_MATCHER(BinaryOperator, isRelationalOperator) { AST_MATCHER(BinaryOperator, isEqualityOperator) { return Node.isEqualityOp(); } +AST_MATCHER(CXXMethodDecl, isStatic) { return Node.isStatic(); } + AST_MATCHER(QualType, isExpensiveToCopy) { std::optional<bool> IsExpensive = utils::type_traits::isExpensiveToCopy(Node, Finder->getASTContext()); _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
