@@ -4047,7 +4047,9 @@ class DeclDeserializer {
4047
4047
4048
4048
declOrOffset = param;
4049
4049
4050
- auto paramTy = MF.getType (interfaceTypeID);
4050
+ Type paramTy;
4051
+ SET_OR_RETURN_ERROR (paramTy, MF.getTypeChecked (interfaceTypeID));
4052
+
4051
4053
if (paramTy->hasError () && !MF.allowCompilerErrors ()) {
4052
4054
// FIXME: This should never happen, because we don't serialize
4053
4055
// error types.
@@ -4069,7 +4071,9 @@ class DeclDeserializer {
4069
4071
if (auto defaultArg = getActualDefaultArgKind (rawDefaultArg)) {
4070
4072
param->setDefaultArgumentKind (*defaultArg);
4071
4073
4072
- if (auto exprType = MF.getType (defaultExprType))
4074
+ Type exprType;
4075
+ SET_OR_RETURN_ERROR (exprType, MF.getTypeChecked (defaultExprType));
4076
+ if (exprType)
4073
4077
param->setDefaultExprType (exprType);
4074
4078
4075
4079
auto isoKind = *getActualActorIsolationKind (rawDefaultArgIsolation);
@@ -4915,7 +4919,11 @@ class DeclDeserializer {
4915
4919
if (isImplicit)
4916
4920
theClass->setImplicit ();
4917
4921
theClass->setIsObjC (isObjC);
4918
- theClass->setSuperclass (MF.getType (superclassID));
4922
+
4923
+ Type superclass;
4924
+ SET_OR_RETURN_ERROR (superclass, MF.getTypeChecked (superclassID));
4925
+ theClass->setSuperclass (superclass);
4926
+
4919
4927
ctx.evaluator .cacheOutput (InheritsSuperclassInitializersRequest{theClass},
4920
4928
std::move (inheritsSuperclassInitializers));
4921
4929
ctx.evaluator .cacheOutput (HasMissingDesignatedInitializersRequest{theClass},
0 commit comments