[clang] [clang-format] Correctly annotate user-defined conversion functions (PR #131434)

Owen Pan via cfe-commits cfe-commits at lists.llvm.org
Sun Mar 16 15:30:50 PDT 2025


================
@@ -1639,6 +1639,31 @@ class AnnotatingParser {
     case tok::kw_operator:
       if (Style.isProto())
         break;
+      // Handle C++ user-defined conversion function.
+      if (IsCpp && CurrentToken) {
+        const auto *Info = CurrentToken->Tok.getIdentifierInfo();
+        // What follows Tok is an identifier or a non-operator keyword.
+        if (Info && !(Info->isCPlusPlusOperatorKeyword() ||
+                      CurrentToken->isPlacementOperator() ||
+                      CurrentToken->is(tok::kw_co_await))) {
----------------
owenca wrote:

```suggestion
        if (Info && !(CurrentToken->isPlacementOperator() ||
                      CurrentToken->is(tok::kw_co_await) ||
                      Info->isCPlusPlusOperatorKeyword())) {
```

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


More information about the cfe-commits mailing list