[PATCH] D100715: [clangd] Omit parameter hint if parameter name comment is present

Sam McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Apr 23 14:03:51 PDT 2021


sammccall accepted this revision.
sammccall added a comment.
This revision is now accepted and ready to land.
Herald added a subscriber: cfe-commits.

Just a few optional ideas, this is fine as-is



================
Comment at: clang-tools-extra/clangd/InlayHints.cpp:108
+    // Allow the comment to contain spaces and optionally an "=" at the end.
+    if (getPrecedingComment(Arg).trim().rtrim("=").trim() == ParamName)
+      return false;
----------------
nit: one of these trim()s can be an rtrim


================
Comment at: clang-tools-extra/clangd/InlayHints.cpp:122
+
+    StringRef SourcePrefix = sourcePrefix(ExprStartLoc, SM);
+    // Trim whitespace preceding expression.
----------------
In order to use sourcePrefix it we're doing the buffer lookup stuff for every param.

Would be a little more direct to grab the mainfile buffer + fileid at the start, and then here just decompose the top macrocallerloc straight away.

Seems a little simpler to reason about, no idea if the performance matters much, up to you.


================
Comment at: clang-tools-extra/clangd/InlayHints.cpp:131
+    // Find start of comment and get contents.
+    return SourcePrefix.substr(SourcePrefix.rfind("/*") + 2);
+  }
----------------
I think we should handle the case where we never find `/*`. *maybe* it can't happen, but I wouldn't want to bet too much on it.

Alternatively, rewinding back to the start of the (possibly long) comment just to check if it matches a fixed string seems a little roundabout.

Could be:
```
if (!SourcePrefix.consume_back("*/")) return false;
SourcePrefix = SourcePrefix.rtrim().rtrim('=').rtrim();
if (!SourcePrefix.consume_back(ParamName)) return false;
return SourcePrefix.rtrim().endswith("/*");
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D100715/new/

https://reviews.llvm.org/D100715



More information about the cfe-commits mailing list