[clang] [Sema] [Modules] Remove unrelated module partitions from suggestion list (PR #187657)
via cfe-commits
cfe-commits at lists.llvm.org
Sat Mar 21 17:13:24 PDT 2026
https://github.com/mikomikotaishi updated https://github.com/llvm/llvm-project/pull/187657
>From c6da4499cfedb2ddf4abb293c49cdb3ab294caa6 Mon Sep 17 00:00:00 2001
From: Toyosatomimi no Miko <mikomikotaishi at uwaterloo.ca>
Date: Fri, 20 Mar 2026 03:56:15 -0400
Subject: [PATCH] Remove unrelated module partitions from suggestion list
---
clang/lib/Sema/SemaCodeComplete.cpp | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp
index 98d78d2a461f1..d5f9e188d8ee2 100644
--- a/clang/lib/Sema/SemaCodeComplete.cpp
+++ b/clang/lib/Sema/SemaCodeComplete.cpp
@@ -4602,7 +4602,16 @@ void SemaCodeCompletion::CodeCompleteModuleImport(SourceLocation ImportLoc,
// Enumerate all top-level modules.
SmallVector<Module *, 8> Modules;
SemaRef.PP.getHeaderSearchInfo().collectAllModules(Modules);
+ Module *CurrentModule = SemaRef.getCurrentModule();
for (unsigned I = 0, N = Modules.size(); I != N; ++I) {
+ // Skip module partitions that don't belong to the current file's declared
+ // module.
+ if (Modules[I]->isModulePartition()) {
+ if (!CurrentModule ||
+ Modules[I]->getPrimaryModuleInterfaceName() !=
+ CurrentModule->getPrimaryModuleInterfaceName())
+ continue;
+ }
Builder.AddTypedTextChunk(
Builder.getAllocator().CopyString(Modules[I]->Name));
Results.AddResult(Result(
More information about the cfe-commits
mailing list