AST: Lazier opaque type validation

This commit is contained in:
Slava Pestov
2019-09-27 20:00:25 -04:00
parent e334e5d66f
commit cdcb8e4f0f
13 changed files with 43 additions and 85 deletions

View File

@@ -1261,7 +1261,7 @@ ModuleFile::resolveCrossReference(ModuleID MID, uint32_t pathLen) {
auto name = getIdentifier(DefiningDeclNameID);
pathTrace.addOpaqueReturnType(name);
if (auto opaque = baseModule->lookupOpaqueResultType(name.str(), nullptr)) {
if (auto opaque = baseModule->lookupOpaqueResultType(name.str())) {
values.push_back(opaque);
}
break;
@@ -1664,8 +1664,7 @@ giveUpFastPath:
pathTrace.addOpaqueReturnType(name);
auto lookupModule = M ? M : baseModule;
if (auto opaqueTy = lookupModule->lookupOpaqueResultType(name.str(),
nullptr)) {
if (auto opaqueTy = lookupModule->lookupOpaqueResultType(name.str())) {
values.push_back(opaqueTy);
}
break;