Use a SetVector when looking up the SPI attributes on imports

Using a SetVector fixes an issue where many source files imported the
same SPI group from the same module, the emitted private textual
interfaces superfluously repeated the `@_spi` attribute on the import.

rdar://problem/63681845
This commit is contained in:
Alexis Laferrière
2020-05-21 20:27:18 -07:00
parent 9c08c2456a
commit 8fefdece2c
11 changed files with 35 additions and 30 deletions

View File

@@ -365,8 +365,9 @@ public:
SmallVectorImpl<AbstractFunctionDecl *> &results) const override;
virtual void
lookupImportedSPIGroups(const ModuleDecl *importedModule,
SmallVectorImpl<Identifier> &spiGroups) const override;
lookupImportedSPIGroups(
const ModuleDecl *importedModule,
llvm::SmallSetVector<Identifier, 4> &spiGroups) const override;
Optional<CommentInfo> getCommentForDecl(const Decl *D) const override;