[ModuleInterface] Don't alias @_spiOnly imports in public swiftinterfaces

This commit is contained in:
Alexis Laferrière
2023-01-23 17:16:09 -08:00
parent 0609dfc100
commit 32d4edad22
2 changed files with 58 additions and 5 deletions

View File

@@ -69,13 +69,16 @@ static void printToolVersionAndFlagsComment(raw_ostream &out,
out << " -module-alias " << MODULE_DISAMBIGUATING_PREFIX <<
moduleName << "=" << moduleName;
SmallVector<ImportedModule> imports;
M->getImportedModules(imports,
{ModuleDecl::ImportFilterKind::Default,
ModuleDecl::ImportFilter filter = {ModuleDecl::ImportFilterKind::Default,
ModuleDecl::ImportFilterKind::Exported,
ModuleDecl::ImportFilterKind::SPIOnly,
ModuleDecl::ImportFilterKind::SPIAccessControl});
ModuleDecl::ImportFilterKind::SPIAccessControl};
if (Opts.PrintPrivateInterfaceContent)
filter |= ModuleDecl::ImportFilterKind::SPIOnly;
SmallVector<ImportedModule> imports;
M->getImportedModules(imports, filter);
M->getMissingImportedModules(imports);
for (ImportedModule import: imports) {
StringRef importedName = import.importedModule->getNameStr();
if (AliasModuleNamesTargets.insert(importedName).second) {