[clang-tools-extra] Rename clang::tidy::matchers::matchesAnyListedName() to matchesAnyListedRegexName (PR #174414)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Jan 5 07:28:38 PST 2026
https://github.com/higher-performance updated https://github.com/llvm/llvm-project/pull/174414
>From 18249a8c53f60a04b5d02590e333f965acb6b8e2 Mon Sep 17 00:00:00 2001
From: higher-performance <higher.performance.github at gmail.com>
Date: Mon, 5 Jan 2026 09:56:39 -0500
Subject: [PATCH] Rename clang::tidy::matchers::matchesAnyListedName() to
matchesAnyListedRegexName to clarify that patterns are regular expressions
Closes #174229
---
.../bugprone/AssertSideEffectCheck.cpp | 2 +-
.../CapturingThisInMemberVariableCheck.cpp | 10 +--
.../clang-tidy/bugprone/EmptyCatchCheck.cpp | 4 +-
.../InvalidEnumDefaultInitializationCheck.cpp | 2 +-
.../NonZeroEnumToBoolConversionCheck.cpp | 2 +-
.../bugprone/OptionalValueConversionCheck.cpp | 74 ++++++++++---------
.../SuspiciousStringviewDataUsageCheck.cpp | 21 +++---
.../bugprone/UnsafeFunctionsCheck.cpp | 3 +-
.../UnusedLocalNonTrivialVariableCheck.cpp | 14 ++--
.../bugprone/UnusedReturnValueCheck.cpp | 24 +++---
.../clang-tidy/bugprone/UseAfterMoveCheck.cpp | 13 ++--
.../NoSuspendWithLockCheck.cpp | 2 +-
...undsAvoidUncheckedContainerAccessCheck.cpp | 2 +-
.../clang-tidy/misc/ConstCorrectnessCheck.cpp | 4 +-
.../OverrideWithDifferentVisibilityCheck.cpp | 2 +-
.../modernize/UseStdFormatCheck.cpp | 2 +-
.../clang-tidy/modernize/UseStdPrintCheck.cpp | 4 +-
.../clang-tidy/performance/EnumSizeCheck.cpp | 2 +-
.../performance/ForRangeCopyCheck.cpp | 2 +-
.../performance/NoAutomaticMoveCheck.cpp | 2 +-
.../UnnecessaryCopyInitializationCheck.cpp | 6 +-
.../UnnecessaryValueParamCheck.cpp | 10 +--
.../readability/ContainerDataPointerCheck.cpp | 2 +-
.../readability/ContainerSizeEmptyCheck.cpp | 15 ++--
.../readability/RedundantParenthesesCheck.cpp | 14 ++--
.../readability/RedundantStringCStrCheck.cpp | 10 +--
clang-tools-extra/clang-tidy/utils/Matchers.h | 2 +-
27 files changed, 128 insertions(+), 122 deletions(-)
diff --git a/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
index 632f536a5b20b..6eadae21fae2f 100644
--- a/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
@@ -104,7 +104,7 @@ void AssertSideEffectCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
void AssertSideEffectCheck::registerMatchers(MatchFinder *Finder) {
auto IgnoredFunctionsMatcher =
- matchers::matchesAnyListedName(IgnoredFunctions);
+ matchers::matchesAnyListedRegexName(IgnoredFunctions);
auto DescendantWithSideEffect =
traverse(TK_AsIs, hasDescendant(expr(hasSideEffect(
diff --git a/clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
index 6aed454813a22..5adf8f97ee8f0 100644
--- a/clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
@@ -85,7 +85,7 @@ void CapturingThisInMemberVariableCheck::storeOptions(
void CapturingThisInMemberVariableCheck::registerMatchers(MatchFinder *Finder) {
auto IsStdFunctionField =
fieldDecl(hasType(cxxRecordDecl(
- matchers::matchesAnyListedName(FunctionWrapperTypes))))
+ matchers::matchesAnyListedRegexName(FunctionWrapperTypes))))
.bind("field");
auto CaptureThis = lambdaCapture(anyOf(
// [this]
@@ -96,10 +96,10 @@ void CapturingThisInMemberVariableCheck::registerMatchers(MatchFinder *Finder) {
lambdaExpr(hasAnyCapture(CaptureThis)).bind("lambda");
auto IsBindCapturingThis =
- callExpr(
- callee(functionDecl(matchers::matchesAnyListedName(BindFunctions))
- .bind("callee")),
- hasAnyArgument(cxxThisExpr()))
+ callExpr(callee(functionDecl(
+ matchers::matchesAnyListedRegexName(BindFunctions))
+ .bind("callee")),
+ hasAnyArgument(cxxThisExpr()))
.bind("bind");
auto IsInitWithLambdaOrBind =
diff --git a/clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
index 5dd2f62504c71..a2a60233d0e05 100644
--- a/clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
@@ -77,8 +77,8 @@ std::optional<TraversalKind> EmptyCatchCheck::getCheckTraversalKind() const {
}
void EmptyCatchCheck::registerMatchers(MatchFinder *Finder) {
- auto AllowedNamedExceptionDecl =
- namedDecl(matchers::matchesAnyListedName(AllowEmptyCatchForExceptions));
+ auto AllowedNamedExceptionDecl = namedDecl(
+ matchers::matchesAnyListedRegexName(AllowEmptyCatchForExceptions));
auto AllowedNamedExceptionTypes =
qualType(anyOf(hasDeclaration(AllowedNamedExceptionDecl),
references(AllowedNamedExceptionDecl),
diff --git a/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
index f3e94b62f0dbd..65efb9adff3ac 100644
--- a/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
@@ -108,7 +108,7 @@ void InvalidEnumDefaultInitializationCheck::registerMatchers(
MatchFinder *Finder) {
auto EnumWithoutZeroValue = enumType(hasDeclaration(
enumDecl(isCompleteAndHasNoZeroValue(),
- unless(matchers::matchesAnyListedName(IgnoredEnums)))
+ unless(matchers::matchesAnyListedRegexName(IgnoredEnums)))
.bind("enum")));
auto EnumOrArrayOfEnum = qualType(hasUnqualifiedDesugaredType(
anyOf(EnumWithoutZeroValue,
diff --git a/clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
index 127af2725cf1e..f2fc1e1832133 100644
--- a/clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
@@ -58,7 +58,7 @@ void NonZeroEnumToBoolConversionCheck::registerMatchers(MatchFinder *Finder) {
hasSourceExpression(
expr(hasType(qualType(hasCanonicalType(hasDeclaration(
enumDecl(isCompleteAndHasNoZeroValue(),
- unless(matchers::matchesAnyListedName(
+ unless(matchers::matchesAnyListedRegexName(
EnumIgnoreList)))
.bind("enum"))))),
unless(declRefExpr(to(enumConstantDecl()))),
diff --git a/clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
index 19b4fc1c044df..c1264d03a9009 100644
--- a/clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
@@ -51,10 +51,10 @@ OptionalValueConversionCheck::getCheckTraversalKind() const {
}
void OptionalValueConversionCheck::registerMatchers(MatchFinder *Finder) {
- auto BindOptionalType = qualType(
- hasCleanType(qualType(hasDeclaration(namedDecl(
- matchers::matchesAnyListedName(OptionalTypes))))
- .bind("optional-type")));
+ auto BindOptionalType = qualType(hasCleanType(
+ qualType(hasDeclaration(namedDecl(
+ matchers::matchesAnyListedRegexName(OptionalTypes))))
+ .bind("optional-type")));
auto EqualsBoundOptionalType =
qualType(hasCleanType(equalsBoundNode("optional-type")));
@@ -64,10 +64,11 @@ void OptionalValueConversionCheck::registerMatchers(MatchFinder *Finder) {
cxxOperatorCallExpr(hasOverloadedOperatorName("*"),
hasUnaryOperand(hasType(EqualsBoundOptionalType)))
.bind("op-call"),
- cxxMemberCallExpr(thisPointerType(EqualsBoundOptionalType),
- callee(cxxMethodDecl(anyOf(
- hasOverloadedOperatorName("*"),
- matchers::matchesAnyListedName(ValueMethods)))))
+ cxxMemberCallExpr(
+ thisPointerType(EqualsBoundOptionalType),
+ callee(cxxMethodDecl(
+ anyOf(hasOverloadedOperatorName("*"),
+ matchers::matchesAnyListedRegexName(ValueMethods)))))
.bind("member-call")),
hasType(qualType().bind("value-type")));
@@ -78,34 +79,35 @@ void OptionalValueConversionCheck::registerMatchers(MatchFinder *Finder) {
ignoringImpCasts(anyOf(OptionalDerefMatcherImpl, StdMoveCallMatcher));
Finder->addMatcher(
- expr(anyOf(
- // construct optional
- cxxConstructExpr(argumentCountIs(1), hasType(BindOptionalType),
- hasArgument(0, OptionalDerefMatcher)),
- // known template methods in std
- callExpr(
- argumentCountIs(1),
- anyOf(
- // match std::make_unique std::make_shared
- callee(functionDecl(
- matchers::matchesAnyListedName(MakeSmartPtrList),
- hasTemplateArgument(
- 0, refersToType(BindOptionalType)))),
- // match first std::make_optional by limit argument count
- // (1) and template count (1).
- // 1. template< class T > constexpr
- // std::optional<decay_t<T>> make_optional(T&& value);
- // 2. template< class T, class... Args > constexpr
- // std::optional<T> make_optional(Args&&... args);
- callee(functionDecl(templateArgumentCountIs(1),
- hasName(MakeOptional),
- returns(BindOptionalType)))),
- hasArgument(0, OptionalDerefMatcher)),
- callExpr(argumentCountIs(1),
-
- hasArgument(0, OptionalDerefMatcher))),
- unless(anyOf(hasAncestor(typeLoc()),
- hasAncestor(expr(matchers::hasUnevaluatedContext())))))
+ expr(
+ anyOf(
+ // construct optional
+ cxxConstructExpr(argumentCountIs(1), hasType(BindOptionalType),
+ hasArgument(0, OptionalDerefMatcher)),
+ // known template methods in std
+ callExpr(
+ argumentCountIs(1),
+ anyOf(
+ // match std::make_unique std::make_shared
+ callee(functionDecl(
+ matchers::matchesAnyListedRegexName(MakeSmartPtrList),
+ hasTemplateArgument(0,
+ refersToType(BindOptionalType)))),
+ // match first std::make_optional by limit argument count
+ // (1) and template count (1).
+ // 1. template< class T > constexpr
+ // std::optional<decay_t<T>> make_optional(T&& value);
+ // 2. template< class T, class... Args > constexpr
+ // std::optional<T> make_optional(Args&&... args);
+ callee(functionDecl(templateArgumentCountIs(1),
+ hasName(MakeOptional),
+ returns(BindOptionalType)))),
+ hasArgument(0, OptionalDerefMatcher)),
+ callExpr(argumentCountIs(1),
+
+ hasArgument(0, OptionalDerefMatcher))),
+ unless(anyOf(hasAncestor(typeLoc()),
+ hasAncestor(expr(matchers::hasUnevaluatedContext())))))
.bind("expr"),
this);
}
diff --git a/clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
index cb379769120f4..342a6e8480fa7 100644
--- a/clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
@@ -48,9 +48,9 @@ void SuspiciousStringviewDataUsageCheck::registerMatchers(MatchFinder *Finder) {
initListExpr(
hasType(qualType(hasCanonicalType(hasDeclaration(recordDecl()))))));
- auto DataMethod =
- cxxMethodDecl(hasName("data"),
- ofClass(matchers::matchesAnyListedName(StringViewTypes)));
+ auto DataMethod = cxxMethodDecl(
+ hasName("data"),
+ ofClass(matchers::matchesAnyListedRegexName(StringViewTypes)));
auto SizeCall = cxxMemberCallExpr(
callee(cxxMethodDecl(hasAnyName("size", "length"))),
@@ -73,13 +73,14 @@ void SuspiciousStringviewDataUsageCheck::registerMatchers(MatchFinder *Finder) {
ignoringParenImpCasts(equalsBoundNode("data-call"))),
unless(hasAnyArgument(ignoringParenImpCasts(SizeCall))),
unless(hasAnyArgument(DescendantSizeCall)),
- hasDeclaration(namedDecl(
- unless(matchers::matchesAnyListedName(AllowedCallees))))),
- initListExpr(expr().bind("parent"),
- hasType(qualType(hasCanonicalType(hasDeclaration(
- recordDecl(unless(matchers::matchesAnyListedName(
- AllowedCallees))))))),
- unless(DescendantSizeCall)))))),
+ hasDeclaration(namedDecl(unless(
+ matchers::matchesAnyListedRegexName(AllowedCallees))))),
+ initListExpr(
+ expr().bind("parent"),
+ hasType(qualType(hasCanonicalType(hasDeclaration(
+ recordDecl(unless(matchers::matchesAnyListedRegexName(
+ AllowedCallees))))))),
+ unless(DescendantSizeCall)))))),
this);
}
diff --git a/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
index 52bb355ad44d0..87d36e3c8c575 100644
--- a/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
@@ -247,7 +247,8 @@ void UnsafeFunctionsCheck::registerMatchers(MatchFinder *Finder) {
for (const auto &Entry : CustomFunctions)
FunctionNames.emplace_back(Entry.Name);
- auto CustomFunctionsMatcher = matchers::matchesAnyListedName(FunctionNames);
+ auto CustomFunctionsMatcher =
+ matchers::matchesAnyListedRegexName(FunctionNames);
Finder->addMatcher(declRefExpr(to(functionDecl(CustomFunctionsMatcher)
.bind(CustomFunctionNamesId)))
diff --git a/clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp
index 2b7db2548cfb2..956d5048b4ee3 100644
--- a/clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp
@@ -69,13 +69,13 @@ void UnusedLocalNonTrivialVariableCheck::registerMatchers(MatchFinder *Finder) {
unless(isExceptionVariable()), hasLocalStorage(), isDefinition(),
unless(hasType(isReferenceType())), unless(hasType(isTrivial())),
unless(explicitMarkUnused()),
- hasType(hasUnqualifiedDesugaredType(
- anyOf(recordType(hasDeclaration(namedDecl(
- matchesAnyListedName(IncludeTypes),
- unless(matchesAnyListedName(ExcludeTypes))))),
- templateSpecializationType(hasDeclaration(namedDecl(
- matchesAnyListedName(IncludeTypes),
- unless(matchesAnyListedName(ExcludeTypes)))))))))
+ hasType(hasUnqualifiedDesugaredType(anyOf(
+ recordType(hasDeclaration(namedDecl(
+ matchesAnyListedRegexName(IncludeTypes),
+ unless(matchesAnyListedRegexName(ExcludeTypes))))),
+ templateSpecializationType(hasDeclaration(namedDecl(
+ matchesAnyListedRegexName(IncludeTypes),
+ unless(matchesAnyListedRegexName(ExcludeTypes)))))))))
.bind("var"),
this);
}
diff --git a/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
index 6fbd3922b532d..7aee725cae434 100644
--- a/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
@@ -171,18 +171,18 @@ void UnusedReturnValueCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
}
void UnusedReturnValueCheck::registerMatchers(MatchFinder *Finder) {
- auto MatchedDirectCallExpr =
- expr(callExpr(callee(functionDecl(
- // Don't match copy or move assignment operator.
- unless(isAssignmentOverloadedOperator()),
- // Don't match void overloads of checked functions.
- unless(returns(voidType())),
- anyOf(isInstantiatedFrom(matchers::matchesAnyListedName(
- CheckedFunctions)),
- returns(hasCanonicalType(hasDeclaration(
- namedDecl(matchers::matchesAnyListedName(
- CheckedReturnTypes)))))))))
- .bind("match"));
+ auto MatchedDirectCallExpr = expr(
+ callExpr(callee(functionDecl(
+ // Don't match copy or move assignment operator.
+ unless(isAssignmentOverloadedOperator()),
+ // Don't match void overloads of checked functions.
+ unless(returns(voidType())),
+ anyOf(isInstantiatedFrom(matchers::matchesAnyListedRegexName(
+ CheckedFunctions)),
+ returns(hasCanonicalType(hasDeclaration(
+ namedDecl(matchers::matchesAnyListedRegexName(
+ CheckedReturnTypes)))))))))
+ .bind("match"));
auto CheckCastToVoid =
AllowCastToVoid ? castExpr(unless(hasCastKind(CK_ToVoid))) : castExpr();
diff --git a/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
index 64387024dafd6..a31dd1e5dbdcd 100644
--- a/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
@@ -85,7 +85,7 @@ class UseAfterMoveFinder {
static auto getNameMatcher(llvm::ArrayRef<StringRef> InvalidationFunctions) {
return anyOf(hasAnyName("::std::move", "::std::forward"),
- matchers::matchesAnyListedName(InvalidationFunctions));
+ matchers::matchesAnyListedRegexName(InvalidationFunctions));
}
static StatementMatcher
@@ -138,11 +138,12 @@ makeReinitMatcher(const ValueDecl *MovedVariable,
hasAttr(clang::attr::Reinitializes)))),
// Functions that are specified in ReinitializationFunctions
// option.
- callExpr(callee(functionDecl(matchers::matchesAnyListedName(
- ReinitializationFunctions))),
- anyOf(cxxMemberCallExpr(on(DeclRefMatcher)),
- callExpr(unless(cxxMemberCallExpr()),
- hasArgument(0, DeclRefMatcher)))),
+ callExpr(
+ callee(functionDecl(matchers::matchesAnyListedRegexName(
+ ReinitializationFunctions))),
+ anyOf(cxxMemberCallExpr(on(DeclRefMatcher)),
+ callExpr(unless(cxxMemberCallExpr()),
+ hasArgument(0, DeclRefMatcher)))),
// Passing variable to a function as a non-const pointer.
callExpr(forEachArgumentWithParam(
unaryOperator(hasOperatorName("&"),
diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.cpp
index 8ecbccda3c5f2..ee3a45c171e32 100644
--- a/clang-tools-extra/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.cpp
+++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.cpp
@@ -24,7 +24,7 @@ void NoSuspendWithLockCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
void NoSuspendWithLockCheck::registerMatchers(MatchFinder *Finder) {
auto LockType = templateSpecializationType(
- hasDeclaration(namedDecl(matchers::matchesAnyListedName(
+ hasDeclaration(namedDecl(matchers::matchesAnyListedRegexName(
utils::options::parseStringList(LockGuards)))));
const StatementMatcher Lock =
diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsAvoidUncheckedContainerAccessCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsAvoidUncheckedContainerAccessCheck.cpp
index cf4b445a554e8..73f43d3cd3b1a 100644
--- a/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsAvoidUncheckedContainerAccessCheck.cpp
+++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsAvoidUncheckedContainerAccessCheck.cpp
@@ -95,7 +95,7 @@ void ProBoundsAvoidUncheckedContainerAccessCheck::registerMatchers(
cxxMethodDecl(
hasOverloadedOperatorName("[]"),
anyOf(parameterCountIs(0), parameterCountIs(1)),
- unless(matchers::matchesAnyListedName(ExcludedClasses)))
+ unless(matchers::matchesAnyListedRegexName(ExcludedClasses)))
.bind("operator")))
.bind("caller"),
this);
diff --git a/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp b/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
index fcdaba277e87d..762144ea6deea 100644
--- a/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
@@ -98,8 +98,8 @@ void ConstCorrectnessCheck::registerMatchers(MatchFinder *Finder) {
hasType(referenceType(pointee(hasCanonicalType(templateTypeParmType())))),
hasType(referenceType(pointee(substTemplateTypeParmType()))));
- auto AllowedTypeDecl = namedDecl(
- anyOf(matchers::matchesAnyListedName(AllowedTypes), usingShadowDecl()));
+ auto AllowedTypeDecl = namedDecl(anyOf(
+ matchers::matchesAnyListedRegexName(AllowedTypes), usingShadowDecl()));
const auto AllowedType = hasType(qualType(
anyOf(hasDeclaration(AllowedTypeDecl), references(AllowedTypeDecl),
diff --git a/clang-tools-extra/clang-tidy/misc/OverrideWithDifferentVisibilityCheck.cpp b/clang-tools-extra/clang-tidy/misc/OverrideWithDifferentVisibilityCheck.cpp
index 09c52699a27ba..5c051b01a79e8 100644
--- a/clang-tools-extra/clang-tidy/misc/OverrideWithDifferentVisibilityCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/OverrideWithDifferentVisibilityCheck.cpp
@@ -71,7 +71,7 @@ void OverrideWithDifferentVisibilityCheck::storeOptions(
void OverrideWithDifferentVisibilityCheck::registerMatchers(
MatchFinder *Finder) {
const auto IgnoredDecl =
- namedDecl(matchers::matchesAnyListedName(IgnoredFunctions));
+ namedDecl(matchers::matchesAnyListedRegexName(IgnoredFunctions));
const auto FilterDestructors =
CheckDestructors ? decl() : decl(unless(cxxDestructorDecl()));
const auto FilterOperators =
diff --git a/clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
index c95834faab7fc..101780ad0b186 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
@@ -50,7 +50,7 @@ void UseStdFormatCheck::registerMatchers(MatchFinder *Finder) {
Finder->addMatcher(
callExpr(argumentCountAtLeast(1),
hasArgument(0, stringLiteral(isOrdinary())),
- callee(functionDecl(matchers::matchesAnyListedName(
+ callee(functionDecl(matchers::matchesAnyListedRegexName(
StrFormatLikeFunctions))
.bind("func_decl")))
.bind("strformat"),
diff --git a/clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
index 1ab9576620ca5..e92155c822dc7 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
@@ -99,7 +99,7 @@ void UseStdPrintCheck::registerMatchers(MatchFinder *Finder) {
unusedReturnValue(
callExpr(argumentCountAtLeast(1),
hasArgument(0, stringLiteral(isOrdinary())),
- callee(functionDecl(matchers::matchesAnyListedName(
+ callee(functionDecl(matchers::matchesAnyListedRegexName(
PrintfLikeFunctions))
.bind("func_decl")))
.bind("printf")),
@@ -110,7 +110,7 @@ void UseStdPrintCheck::registerMatchers(MatchFinder *Finder) {
unusedReturnValue(
callExpr(argumentCountAtLeast(2),
hasArgument(1, stringLiteral(isOrdinary())),
- callee(functionDecl(matchers::matchesAnyListedName(
+ callee(functionDecl(matchers::matchesAnyListedRegexName(
FprintfLikeFunctions))
.bind("func_decl")))
.bind("fprintf")),
diff --git a/clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp b/clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
index 6a7fef5ec77d0..8147ae4163ea7 100644
--- a/clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
@@ -91,7 +91,7 @@ void EnumSizeCheck::registerMatchers(MatchFinder *Finder) {
Finder->addMatcher(
enumDecl(unless(isExpansionInSystemHeader()), isDefinition(),
hasEnumerators(),
- unless(matchers::matchesAnyListedName(EnumIgnoreList)))
+ unless(matchers::matchesAnyListedRegexName(EnumIgnoreList)))
.bind("e"),
this);
}
diff --git a/clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp b/clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
index d0b399739bb48..23feab88c92a3 100644
--- a/clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
@@ -38,7 +38,7 @@ void ForRangeCopyCheck::registerMatchers(MatchFinder *Finder) {
auto HasReferenceOrPointerTypeOrIsAllowed = hasType(qualType(
unless(anyOf(hasCanonicalType(anyOf(referenceType(), pointerType())),
hasDeclaration(namedDecl(
- matchers::matchesAnyListedName(AllowedTypes)))))));
+ matchers::matchesAnyListedRegexName(AllowedTypes)))))));
auto IteratorReturnsValueType = cxxOperatorCallExpr(
hasOverloadedOperatorName("*"),
callee(
diff --git a/clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp b/clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp
index 2469da978d0ae..ca23488be204a 100644
--- a/clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp
@@ -36,7 +36,7 @@ void NoAutomaticMoveCheck::registerMatchers(MatchFinder *Finder) {
isConstQualified(),
hasCanonicalType(matchers::isExpensiveToCopy()),
unless(hasDeclaration(namedDecl(
- matchers::matchesAnyListedName(AllowedTypes)))))))
+ matchers::matchesAnyListedRegexName(AllowedTypes)))))))
.bind("vardecl");
// A matcher for a `DstT::DstT(const Src&)` where DstT also has a
diff --git a/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp b/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
index 3245abc6c71af..d4566bc59b7e5 100644
--- a/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
@@ -93,8 +93,8 @@ AST_MATCHER_FUNCTION_P(StatementMatcher,
// Access through dereference, typically used for `operator[]`: `(*a)[3]`.
unaryOperator(hasOperatorName("*"), hasUnaryOperand(ReceiverExpr)));
const auto ReceiverType =
- hasCanonicalType(recordType(hasDeclaration(namedDecl(
- unless(matchers::matchesAnyListedName(ExcludedContainerTypes))))));
+ hasCanonicalType(recordType(hasDeclaration(namedDecl(unless(
+ matchers::matchesAnyListedRegexName(ExcludedContainerTypes))))));
return expr(
anyOf(cxxMemberCallExpr(callee(MethodDecl), on(OnExpr),
@@ -246,7 +246,7 @@ void UnnecessaryCopyInitializationCheck::registerMatchers(MatchFinder *Finder) {
unless(hasDeclaration(namedDecl(
hasName("::std::function")))))),
unless(hasDeclaration(namedDecl(
- matchers::matchesAnyListedName(
+ matchers::matchesAnyListedRegexName(
AllowedTypes)))))),
unless(isImplicit()),
hasInitializer(traverse(
diff --git a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
index d62629713cb41..ffb2a81b862f6 100644
--- a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
@@ -51,11 +51,11 @@ UnnecessaryValueParamCheck::UnnecessaryValueParamCheck(
void UnnecessaryValueParamCheck::registerMatchers(MatchFinder *Finder) {
const auto ExpensiveValueParamDecl = parmVarDecl(
- hasType(qualType(
- hasCanonicalType(matchers::isExpensiveToCopy()),
- unless(anyOf(hasCanonicalType(referenceType()),
- hasDeclaration(namedDecl(
- matchers::matchesAnyListedName(AllowedTypes))))))),
+ hasType(qualType(hasCanonicalType(matchers::isExpensiveToCopy()),
+ unless(anyOf(hasCanonicalType(referenceType()),
+ hasDeclaration(namedDecl(
+ matchers::matchesAnyListedRegexName(
+ AllowedTypes))))))),
decl().bind("param"));
Finder->addMatcher(
traverse(TK_AsIs,
diff --git a/clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp b/clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
index 595ee5ac221e8..a085f40d3a707 100644
--- a/clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
@@ -37,7 +37,7 @@ ContainerDataPointerCheck::ContainerDataPointerCheck(StringRef Name,
void ContainerDataPointerCheck::registerMatchers(MatchFinder *Finder) {
const auto Record =
cxxRecordDecl(
- unless(matchers::matchesAnyListedName(IgnoredContainers)),
+ unless(matchers::matchesAnyListedRegexName(IgnoredContainers)),
isSameOrDerivedFrom(
namedDecl(
has(cxxMethodDecl(isPublic(), hasName("data")).bind("data")))
diff --git a/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp b/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
index a239155cc5cf1..073fdce5018bf 100644
--- a/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
@@ -217,13 +217,14 @@ void ContainerSizeEmptyCheck::registerMatchers(MatchFinder *Finder) {
expr(hasType(pointsTo(ValidContainer))).bind("Pointee"))),
expr(hasType(ValidContainer)).bind("STLObject"));
- const auto ExcludedComparisonTypesMatcher = qualType(anyOf(
- hasDeclaration(
- cxxRecordDecl(matchers::matchesAnyListedName(ExcludedComparisonTypes))
- .bind("excluded")),
- hasCanonicalType(hasDeclaration(
- cxxRecordDecl(matchers::matchesAnyListedName(ExcludedComparisonTypes))
- .bind("excluded")))));
+ const auto ExcludedComparisonTypesMatcher = qualType(
+ anyOf(hasDeclaration(cxxRecordDecl(matchers::matchesAnyListedRegexName(
+ ExcludedComparisonTypes))
+ .bind("excluded")),
+ hasCanonicalType(hasDeclaration(
+ cxxRecordDecl(matchers::matchesAnyListedRegexName(
+ ExcludedComparisonTypes))
+ .bind("excluded")))));
const auto SameExcludedComparisonTypesMatcher =
qualType(anyOf(hasDeclaration(cxxRecordDecl(equalsBoundNode("excluded"))),
hasCanonicalType(hasDeclaration(
diff --git a/clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
index 874b9618bd882..bb993a60c9d4e 100644
--- a/clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
@@ -51,13 +51,13 @@ void RedundantParenthesesCheck::registerMatchers(MatchFinder *Finder) {
expr(anyOf(integerLiteral(), floatLiteral(), characterLiteral(),
cxxBoolLiteral(), stringLiteral(), cxxNullPtrLiteralExpr()));
Finder->addMatcher(
- parenExpr(
- subExpr(anyOf(parenExpr(), ConstantExpr,
- declRefExpr(to(namedDecl(unless(
- matchers::matchesAnyListedName(AllowedDecls))))))),
- unless(anyOf(isInMacro(),
- // sizeof(...) is common used.
- hasParent(unaryExprOrTypeTraitExpr()))))
+ parenExpr(subExpr(anyOf(
+ parenExpr(), ConstantExpr,
+ declRefExpr(to(namedDecl(unless(
+ matchers::matchesAnyListedRegexName(AllowedDecls))))))),
+ unless(anyOf(isInMacro(),
+ // sizeof(...) is common used.
+ hasParent(unaryExprOrTypeTraitExpr()))))
.bind("dup"),
this);
}
diff --git a/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
index f5b8872e3a66c..3547c67d2be6a 100644
--- a/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
@@ -154,11 +154,11 @@ void RedundantStringCStrCheck::registerMatchers(
// Detect redundant 'c_str()' calls in parameters passed to std::format in
// C++20 onwards and std::print in C++23 onwards.
Finder->addMatcher(
- traverse(TK_AsIs,
- callExpr(callee(functionDecl(matchers::matchesAnyListedName(
- StringParameterFunctions))),
- forEachArgumentWithParam(StringCStrCallExpr,
- parmVarDecl()))),
+ traverse(TK_AsIs, callExpr(callee(functionDecl(
+ matchers::matchesAnyListedRegexName(
+ StringParameterFunctions))),
+ forEachArgumentWithParam(StringCStrCallExpr,
+ parmVarDecl()))),
this);
}
}
diff --git a/clang-tools-extra/clang-tidy/utils/Matchers.h b/clang-tools-extra/clang-tidy/utils/Matchers.h
index 566b93304ab54..c41d088fd782f 100644
--- a/clang-tools-extra/clang-tidy/utils/Matchers.h
+++ b/clang-tools-extra/clang-tidy/utils/Matchers.h
@@ -143,7 +143,7 @@ class MatchesAnyListedNameMatcher
// expressions. If a regular expression contains starts ':' the NamedDecl's
// qualified name will be used for matching, otherwise its name will be used.
inline ::clang::ast_matchers::internal::Matcher<NamedDecl>
-matchesAnyListedName(llvm::ArrayRef<StringRef> NameList) {
+matchesAnyListedRegexName(llvm::ArrayRef<StringRef> NameList) {
return ::clang::ast_matchers::internal::Matcher(
new MatchesAnyListedNameMatcher(NameList));
}
More information about the cfe-commits
mailing list