[clang-tools-extra] [clang-tidy] offer option to check sugared types in avoid-c-arrays check (PR #131468)

Piotr Zegar via cfe-commits cfe-commits at lists.llvm.org
Sat Mar 15 15:13:08 PDT 2025


================
@@ -21,12 +21,12 @@ AST_MATCHER(clang::TypeLoc, hasValidBeginLoc) {
   return Node.getBeginLoc().isValid();
 }
 
-AST_MATCHER_P(clang::TypeLoc, hasType,
-              clang::ast_matchers::internal::Matcher<clang::Type>,
-              InnerMatcher) {
+AST_MATCHER_P(clang::TypeLoc, hasArrayType, bool, CheckSugaredTypes) {
   const clang::Type *TypeNode = Node.getTypePtr();
-  return TypeNode != nullptr &&
-         InnerMatcher.matches(*TypeNode, Finder, Builder);
+  if (CheckSugaredTypes && TypeNode != nullptr) {
+    TypeNode = TypeNode->getUnqualifiedDesugaredType();
+  }
+  return TypeNode != nullptr && arrayType().matches(*TypeNode, Finder, Builder);
----------------
PiotrZSL wrote:

just check if TypeNode is arrayType directly instead of using matchers

https://github.com/llvm/llvm-project/pull/131468


More information about the cfe-commits mailing list