[clang] [clang][modulemap] Lazily load module maps by header name (PR #181916)
Jan Svoboda via cfe-commits
cfe-commits at lists.llvm.org
Wed Feb 18 14:04:43 PST 2026
================
@@ -1619,15 +1619,116 @@ StringRef HeaderSearch::getIncludeNameForHeader(const FileEntry *File) const {
return It->second;
}
+void HeaderSearch::buildHeaderCache(DirectoryEntryRef Dir,
+ ModuleMapDirectoryState &MMState) {
+ if (!MMState.ModuleMapFile)
+ return;
+ const modulemap::ModuleMapFile *ParsedMM =
+ ModMap.getParsedModuleMap(*MMState.ModuleMapFile);
+ if (!ParsedMM)
+ return;
+ const modulemap::ModuleMapFile *ParsedPrivateMM = nullptr;
+ if (MMState.PrivateModuleMapFile)
+ ParsedPrivateMM = ModMap.getParsedModuleMap(*MMState.PrivateModuleMapFile);
+
+ std::function<void(const modulemap::ModuleMapFile &, DirectoryEntryRef,
+ StringRef)>
----------------
jansvoboda11 wrote:
Can you please split these lambdas into separate functions? It's fairly difficult to keep track of function scopes here.
https://github.com/llvm/llvm-project/pull/181916
More information about the cfe-commits
mailing list