@@ -1129,7 +1129,7 @@ static SILDeclRef getRValueAccessorDeclRef(SILGenFunction &SGF,
1129
1129
static RValue
1130
1130
emitRValueWithAccessor (SILGenFunction &SGF, SILLocation loc,
1131
1131
AbstractStorageDecl *storage,
1132
- SubstitutionList substitutions,
1132
+ SubstitutionMap substitutions,
1133
1133
ArgumentSource &&baseRV, RValue &&subscriptRV,
1134
1134
bool isSuper, AccessStrategy strategy,
1135
1135
SILDeclRef accessor,
@@ -1148,7 +1148,7 @@ emitRValueWithAccessor(SILGenFunction &SGF, SILLocation loc,
1148
1148
// The easy path here is if we don't need to use an addressor.
1149
1149
case AccessStrategy::DirectToAccessor:
1150
1150
case AccessStrategy::DispatchToAccessor: {
1151
- return SGF.emitGetAccessor (loc, accessor, substitutions,
1151
+ return SGF.emitGetAccessor (loc, accessor, substitutions. toList () ,
1152
1152
std::move (baseRV), isSuper, isDirectUse,
1153
1153
std::move (subscriptRV), C);
1154
1154
}
@@ -1161,7 +1161,7 @@ emitRValueWithAccessor(SILGenFunction &SGF, SILLocation loc,
1161
1161
SILType storageType = storageTL.getLoweredType ().getAddressType ();
1162
1162
1163
1163
auto addressorResult =
1164
- SGF.emitAddressorAccessor (loc, accessor, substitutions,
1164
+ SGF.emitAddressorAccessor (loc, accessor, substitutions. toList () ,
1165
1165
std::move (baseRV), isSuper, isDirectUse,
1166
1166
std::move (subscriptRV), storageType);
1167
1167
@@ -1204,7 +1204,7 @@ emitRValueWithAccessor(SILGenFunction &SGF, SILLocation loc,
1204
1204
RValue SILGenFunction::emitRValueForStorageLoad (
1205
1205
SILLocation loc, ManagedValue base, CanType baseFormalType,
1206
1206
bool isSuper, AbstractStorageDecl *storage, RValue indexes,
1207
- SubstitutionList substitutions,
1207
+ SubstitutionMap substitutions,
1208
1208
AccessSemantics semantics, Type propTy, SGFContext C,
1209
1209
bool isBaseGuaranteed) {
1210
1210
AccessStrategy strategy =
@@ -2498,8 +2498,7 @@ class NominalTypeMemberRefRValueEmitter {
2498
2498
SGF.emitRValueForStorageLoad (Expr, base, baseFormalType,
2499
2499
Expr->isSuper (),
2500
2500
Field, {},
2501
- Expr->getMember ().getSubstitutions ()
2502
- .toList (),
2501
+ Expr->getMember ().getSubstitutions (),
2503
2502
Expr->getAccessSemantics (),
2504
2503
Expr->getType (), Context);
2505
2504
return result;
@@ -2541,8 +2540,7 @@ class NominalTypeMemberRefRValueEmitter {
2541
2540
SGF.emitRValueForStorageLoad (Expr, base, baseFormalType,
2542
2541
Expr->isSuper (),
2543
2542
Field, {},
2544
- Expr->getMember ().getSubstitutions ()
2545
- .toList (),
2543
+ Expr->getMember ().getSubstitutions (),
2546
2544
Expr->getAccessSemantics (),
2547
2545
Expr->getType (), Context,
2548
2546
base.isPlusZeroRValueOrTrivial ());
@@ -2657,7 +2655,7 @@ SILGenFunction::emitApplyOfDefaultArgGenerator(SILLocation loc,
2657
2655
RValue SILGenFunction::emitApplyOfStoredPropertyInitializer (
2658
2656
SILLocation loc,
2659
2657
const PatternBindingEntry &entry,
2660
- SubstitutionList subs,
2658
+ SubstitutionMap subs,
2661
2659
CanType resultType,
2662
2660
AbstractionPattern origResultType,
2663
2661
SGFContext C) {
@@ -2673,8 +2671,8 @@ RValue SILGenFunction::emitApplyOfStoredPropertyInitializer(
2673
2671
ResultPlanPtr resultPlan =
2674
2672
ResultPlanBuilder::computeResultPlan (*this , calleeTypeInfo, loc, C);
2675
2673
ArgumentScope argScope (*this , loc);
2676
- return emitApply (std::move (resultPlan), std::move (argScope), loc, fnRef, subs,
2677
- {}, calleeTypeInfo, ApplyOptions::None, C);
2674
+ return emitApply (std::move (resultPlan), std::move (argScope), loc, fnRef,
2675
+ subs. toList (), {}, calleeTypeInfo, ApplyOptions::None, C);
2678
2676
}
2679
2677
2680
2678
static void emitTupleShuffleExprInto (RValueEmitter &emitter,
@@ -3202,7 +3200,7 @@ static SILFunction *getOrCreateKeyPathGetter(SILGenModule &SGM,
3202
3200
auto resultSubst = subSGF.emitRValueForStorageLoad (loc, baseSubstValue,
3203
3201
baseType, /* super*/ false ,
3204
3202
property, std::move (indexValue),
3205
- subs. toList () , AccessSemantics::Ordinary,
3203
+ subs, AccessSemantics::Ordinary,
3206
3204
propertyType, SGFContext ())
3207
3205
.getAsSingleValue (subSGF, loc);
3208
3206
if (resultSubst.getType ().getAddressType () != resultArg->getType ())
0 commit comments