Revert "[Sema] Record opaque type decls for type reconstruction after creation instead of in the parser."

This commit is contained in:
Holly Borla
2022-11-15 08:44:01 -08:00
committed by GitHub
parent 5e208ff30e
commit 2213a02aaa
5 changed files with 44 additions and 22 deletions

View File

@@ -3485,12 +3485,14 @@ void SourceFile::setTypeRefinementContext(TypeRefinementContext *Root) {
}
ArrayRef<OpaqueTypeDecl *> SourceFile::getOpaqueReturnTypeDecls() {
for (auto *opaqueDecl : UnvalidatedOpaqueReturnTypes.takeVector()) {
auto inserted = ValidatedOpaqueReturnTypes.insert(
{opaqueDecl->getOpaqueReturnTypeIdentifier().str(),
opaqueDecl});
if (inserted.second) {
OpaqueReturnTypes.push_back(opaqueDecl);
for (auto *vd : UnvalidatedDeclsWithOpaqueReturnTypes.takeVector()) {
if (auto opaqueDecl = vd->getOpaqueResultTypeDecl()) {
auto inserted = ValidatedOpaqueReturnTypes.insert(
{opaqueDecl->getOpaqueReturnTypeIdentifier().str(),
opaqueDecl});
if (inserted.second) {
OpaqueReturnTypes.push_back(opaqueDecl);
}
}
}