swift-module-digester: when we have multiple extensions to a single external type, we should synthesize only one type decl node.

This commit is contained in:
Xi Ge
2018-09-20 16:13:37 -07:00
parent 08c8cf14e5
commit 6cc5855bcf
5 changed files with 53 additions and 10 deletions

View File

@@ -495,7 +495,7 @@ class SwiftDeclCollector: public VisibleDeclConsumer {
SDKContext &Ctx;
std::vector<std::unique_ptr<llvm::MemoryBuffer>> OwnedBuffers;
SDKNode *RootNode;
llvm::DenseSet<Decl*> KnownDecls;
llvm::SetVector<Decl*> KnownDecls;
// Collected and sorted after we get all of them.
std::vector<ValueDecl *> ClangMacros;
std::set<ExtensionDecl*> HandledExtensions;