[clang-tools-extra] [clang-tidy] Enhance modernize-use-starts-ends-with to handle substr patterns (PR #116033)

Nicolas van Kempen via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 18 08:18:44 PST 2024


================
@@ -183,40 +209,44 @@ void UseStartsEndsWithCheck::check(const MatchFinder::MatchResult &Result) {
   const auto *EndsWithFunction =
       Result.Nodes.getNodeAs<CXXMethodDecl>("ends_with_fun");
   assert(bool(StartsWithFunction) != bool(EndsWithFunction));
+
   const CXXMethodDecl *ReplacementFunction =
       StartsWithFunction ? StartsWithFunction : EndsWithFunction;
 
   if (ComparisonExpr->getBeginLoc().isMacroID())
----------------
nicovank wrote:

This should ignore weird macro cases, I think this is better. This will probably require moving some existing tests to the end of that function and removing the `CHECK`s. 

```suggestion
  if (ComparisonExpr->getBeginLoc().isMacroID() || FindExpr->getBeginLoc().isMacroID())
```

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


More information about the cfe-commits mailing list