[clang] [clang-tools-extra] clangd: Extend reference search with constructor calls through forwarding (PR #169742)

Nathan Ridge via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 16 22:55:03 PST 2025


================
@@ -576,6 +578,27 @@ SymbolCollector::getRefContainer(const Decl *Enclosing,
   return Enclosing;
 }
 
+std::vector<CXXConstructorDecl *>
+SymbolCollector::findIndirectConstructors(const Decl *D) {
+  auto *FD = llvm::dyn_cast<clang::FunctionDecl>(D);
+  if (FD == nullptr || !FD->isTemplateInstantiation())
+    return {};
+  if (auto *PT = FD->getPrimaryTemplate();
+      PT == nullptr || !isLikelyForwardingFunction(PT))
+    return {};
+  if (auto Entry = ForwardingToConstructorCache.find(FD);
----------------
HighCommander4 wrote:

A hashtable lookup is going to be quicker than an `isLikelyForwardingFunction` check, let's switch the order?

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


More information about the cfe-commits mailing list