[clang-tools-extra] Reland "[clangd] Add feature modules registry" (PR #154836)

Aleksandr Platonov via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 27 13:27:44 PDT 2025


================
@@ -33,5 +37,16 @@ bool FeatureModuleSet::addImpl(void *Key, std::unique_ptr<FeatureModule> M,
   return true;
 }
 
+FeatureModuleSet FeatureModuleSet::fromRegistry() {
+  FeatureModuleSet ModuleSet;
+  for (FeatureModuleRegistry::entry E : FeatureModuleRegistry::entries()) {
+    vlog("Adding feature module '{0}' ({1})", E.getName(), E.getDesc());
+    ModuleSet.add(E.instantiate());
+  }
+  return ModuleSet;
+}
+
 } // namespace clangd
 } // namespace clang
+
+LLVM_INSTANTIATE_REGISTRY(clang::clangd::FeatureModuleRegistry)
----------------
ArcsinX wrote:

Thanks. You are right.
- Added extern template class FeatureModuleRegistry into FeatureModule.h
- Added unittest

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


More information about the cfe-commits mailing list