don't assert when a module re-exports a module and one of its symbols (#64479)

rdar://106807038
This commit is contained in:
QuietMisdreavus
2023-03-22 09:39:44 -06:00
committed by GitHub
parent 5e3e0b0fc5
commit f3ad288a9a
3 changed files with 17 additions and 0 deletions

View File

@@ -1397,6 +1397,9 @@ void ModuleDecl::getDisplayDecls(SmallVectorImpl<Decl*> &Results, bool Recursive
llvm::SmallDenseMap<ModuleDecl *, SmallPtrSet<Decl *, 4>, 4> QualifiedImports;
collectParsedExportedImports(this, Modules, QualifiedImports);
for (const auto &QI : QualifiedImports) {
auto Module = QI.getFirst();
if (Modules.contains(Module)) continue;
auto &Decls = QI.getSecond();
Results.append(Decls.begin(), Decls.end());
}