Merge pull request #32049 from xymus/spi-unique-imports

[ModuleInterface] Print the SPI attribute only once per group and import
This commit is contained in:
Alexis Laferrière
2020-06-01 11:24:21 -07:00
committed by GitHub
11 changed files with 35 additions and 30 deletions

View File

@@ -2663,13 +2663,14 @@ void ModuleFile::lookupObjCMethods(
}
}
void ModuleFile::lookupImportedSPIGroups(const ModuleDecl *importedModule,
SmallVectorImpl<Identifier> &spiGroups) const {
void ModuleFile::lookupImportedSPIGroups(
const ModuleDecl *importedModule,
llvm::SmallSetVector<Identifier, 4> &spiGroups) const {
for (auto &dep : Dependencies) {
auto depSpis = dep.spiGroups;
if (dep.Import.hasValue() && dep.Import->importedModule == importedModule &&
!depSpis.empty()) {
spiGroups.append(depSpis.begin(), depSpis.end());
spiGroups.insert(depSpis.begin(), depSpis.end());
}
}
}