@@ -527,7 +527,7 @@ namespace {
527
527
auto choice = overload.choice ;
528
528
assert (choice.getKind () != OverloadChoiceKind::DeclViaDynamic);
529
529
auto *decl = choice.getDecl ();
530
- auto fullType = simplifyType (overload.openedFullType );
530
+ auto fullType = simplifyType (overload.adjustedOpenedFullType );
531
531
532
532
// Determine the declaration selected for this overloaded reference.
533
533
auto &ctx = cs.getASTContext ();
@@ -1388,7 +1388,7 @@ namespace {
1388
1388
ConstraintLocatorBuilder memberLocator, bool Implicit,
1389
1389
AccessSemantics semantics) {
1390
1390
const auto &choice = overload.choice ;
1391
- const auto openedType = overload.openedType ;
1391
+ const auto adjustedOpenedType = overload.openedType ;
1392
1392
1393
1393
ValueDecl *member = choice.getDecl ();
1394
1394
@@ -1433,7 +1433,7 @@ namespace {
1433
1433
if (!isExistentialMetatype && baseTy->is <ProtocolType>() &&
1434
1434
member->isStatic ()) {
1435
1435
auto selfParam =
1436
- overload.openedFullType ->castTo <FunctionType>()->getParams ()[0 ];
1436
+ overload.adjustedOpenedFullType ->castTo <FunctionType>()->getParams ()[0 ];
1437
1437
1438
1438
Type baseTy =
1439
1439
simplifyType (selfParam.getPlainType ())->getMetatypeInstanceType ();
@@ -1449,7 +1449,7 @@ namespace {
1449
1449
// If we're referring to a member type, it's just a type
1450
1450
// reference.
1451
1451
if (auto *TD = dyn_cast<TypeDecl>(member)) {
1452
- Type refType = simplifyType (openedType );
1452
+ Type refType = simplifyType (adjustedOpenedType );
1453
1453
auto ref = TypeExpr::createForDecl (memberLoc, TD, dc);
1454
1454
cs.setType (ref, refType);
1455
1455
auto *result = new (context) DotSyntaxBaseIgnoredExpr (
@@ -1458,7 +1458,7 @@ namespace {
1458
1458
return result;
1459
1459
}
1460
1460
1461
- auto refTy = simplifyType (overload.openedFullType );
1461
+ auto refTy = simplifyType (overload.adjustedOpenedFullType );
1462
1462
1463
1463
// If we're referring to the member of a module, it's just a simple
1464
1464
// reference.
@@ -1596,7 +1596,7 @@ namespace {
1596
1596
// FIXME: FunctionRefKind
1597
1597
1598
1598
// Compute the type of the reference.
1599
- Type refType = simplifyType (openedType );
1599
+ Type refType = simplifyType (adjustedOpenedType );
1600
1600
1601
1601
// If the base was an opened existential, erase the opened
1602
1602
// existential.
@@ -1649,7 +1649,7 @@ namespace {
1649
1649
// type having 'Self' swapped for the appropriate replacement
1650
1650
// type -- usually the base object type.
1651
1651
if (hasDynamicSelf) {
1652
- const auto conversionTy = simplifyType (openedType );
1652
+ const auto conversionTy = simplifyType (adjustedOpenedType );
1653
1653
if (!containerTy->isEqual (conversionTy)) {
1654
1654
result = cs.cacheType (new (context) CovariantReturnConversionExpr (
1655
1655
result, conversionTy));
@@ -1724,7 +1724,7 @@ namespace {
1724
1724
// must be downcast to the opened archetype before being erased to the
1725
1725
// subclass existential to cope with the expectations placed
1726
1726
// on 'CovariantReturnConversionExpr'.
1727
- curryThunkTy = simplifyType (openedType )->castTo <FunctionType>();
1727
+ curryThunkTy = simplifyType (adjustedOpenedType )->castTo <FunctionType>();
1728
1728
} else {
1729
1729
curryThunkTy = refTy->castTo <FunctionType>();
1730
1730
@@ -1789,7 +1789,7 @@ namespace {
1789
1789
ref = forceUnwrapIfExpected (ref, memberLocator);
1790
1790
apply = ConstructorRefCallExpr::create (context, ref, base);
1791
1791
} else if (isUnboundInstanceMember) {
1792
- auto refType = cs.simplifyType (openedType );
1792
+ auto refType = cs.simplifyType (adjustedOpenedType );
1793
1793
if (!cs.getType (ref)->isEqual (refType)) {
1794
1794
ref = new (context) FunctionConversionExpr (ref, refType);
1795
1795
cs.cacheType (ref);
@@ -1812,7 +1812,7 @@ namespace {
1812
1812
}
1813
1813
}
1814
1814
1815
- return finishApply (apply, openedType , locator, memberLocator);
1815
+ return finishApply (apply, adjustedOpenedType , locator, memberLocator);
1816
1816
}
1817
1817
1818
1818
// / Convert the given literal expression via a protocol pair.
@@ -2072,7 +2072,7 @@ namespace {
2072
2072
auto subscriptRef = resolveConcreteDeclRef (subscript, memberLoc);
2073
2073
2074
2074
// Coerce the index argument.
2075
- auto openedFullFnType = simplifyType (selected.openedFullType )
2075
+ auto openedFullFnType = simplifyType (selected.adjustedOpenedFullType )
2076
2076
->castTo <FunctionType>();
2077
2077
auto fullSubscriptTy = openedFullFnType->getResult ()
2078
2078
->castTo <FunctionType>();
@@ -2098,7 +2098,7 @@ namespace {
2098
2098
auto resultTy = simplifyType (selected.openedType )
2099
2099
->castTo <FunctionType>()
2100
2100
->getResult ();
2101
- assert (!selected.openedFullType ->hasOpenedExistential ()
2101
+ assert (!selected.adjustedOpenedFullType ->hasOpenedExistential ()
2102
2102
&& " open existential archetype in AnyObject subscript type?" );
2103
2103
cs.setType (subscriptExpr, resultTy);
2104
2104
Expr *result = subscriptExpr;
@@ -3099,7 +3099,7 @@ namespace {
3099
3099
3100
3100
// Build a partial application of the delegated initializer.
3101
3101
auto callee = resolveConcreteDeclRef (ctor, ctorLocator);
3102
- Expr *ctorRef = buildOtherConstructorRef (overload.openedFullType , callee,
3102
+ Expr *ctorRef = buildOtherConstructorRef (overload.adjustedOpenedFullType , callee,
3103
3103
base, nameLoc, ctorLocator,
3104
3104
implicit);
3105
3105
auto *call =
@@ -3322,7 +3322,7 @@ namespace {
3322
3322
Type getTypeOfDynamicMemberIndex (const SelectedOverload &overload) {
3323
3323
assert (overload.choice .isAnyDynamicMemberLookup ());
3324
3324
3325
- auto declTy = solution.simplifyType (overload.openedFullType );
3325
+ auto declTy = solution.simplifyType (overload.adjustedOpenedFullType );
3326
3326
auto subscriptTy = declTy->castTo <FunctionType>()->getResult ();
3327
3327
auto refFnType = subscriptTy->castTo <FunctionType>();
3328
3328
assert (refFnType->getParams ().size () == 1 &&
0 commit comments