[clang-tools-extra] [clangd] Add designator hints for parenthesis aggregate initialization (PR #170642)

Mythreya Kuricheti via cfe-commits cfe-commits at lists.llvm.org
Fri Dec 5 23:43:51 PST 2025


================
@@ -699,6 +699,26 @@ class InlayHintVisitor : public RecursiveASTVisitor<InlayHintVisitor> {
     return InstantiatedFunction->getParamDecl(ParamIdx);
   }
 
+  bool VisitCXXParenListInitExpr(CXXParenListInitExpr *E) {
+    // TODO: Lang check needed?
+    if (!Cfg.InlayHints.Designators &&
+        AST.getLangOpts().LangStd >= LangStandard::Kind::lang_cxx20)
+      return true;
+
+    if (const auto *CXXRecord = E->getType()->getAsCXXRecordDecl()) {
+      const auto &InitExprs = E->getInitExprs();
+      auto RecordFields = CXXRecord->fields().begin();
+
+      for (size_t I = 0; I < InitExprs.size();
+           ++I, RecordFields = std::next(RecordFields)) {
----------------
MythreyaK wrote:

I'm not sure we can, not after the updates, I guess. Please let me know if it can be improved! 

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


More information about the cfe-commits mailing list