Skip to content

Commit 29e9f42

Browse files
committed
[CS] NFC: Rename PackEnvironments -> PackElementExpansions
IMO "environment" is confusable for GenericEnvironment, make it clearer it's referring to the parent PackExpansionExpr.
1 parent 052958e commit 29e9f42

File tree

8 files changed

+56
-52
lines changed

8 files changed

+56
-52
lines changed

include/swift/Sema/CSTrail.def

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ CHANGE(AddedConversionRestriction)
9595
CHANGE(AddedFix)
9696
CHANGE(AddedFixedRequirement)
9797
CHANGE(RecordedOpenedPackExpansionType)
98-
CHANGE(RecordedPackEnvironment)
98+
CHANGE(RecordedPackElementExpansion)
9999
CHANGE(RecordedNodeType)
100100
CHANGE(RecordedKeyPathComponentType)
101101
CHANGE(RecordedResultBuilderTransform)
@@ -118,4 +118,4 @@ LAST_CHANGE(RetractedBinding)
118118
#undef BINDING_RELATION_CHANGE
119119
#undef SCORE_CHANGE
120120
#undef LAST_CHANGE
121-
#undef CHANGE
121+
#undef CHANGE

include/swift/Sema/CSTrail.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ class SolverTrail {
213213

214214
/// Create a change that recorded a mapping from a pack element expression
215215
/// to its parent expansion expression.
216-
static Change RecordedPackEnvironment(PackElementExpr *packElement);
216+
static Change RecordedPackElementExpansion(PackElementExpr *packElement);
217217

218218
/// Create a change that recorded an assignment of a type to an AST node.
219219
static Change RecordedNodeType(ASTNode node, Type oldType);
@@ -307,4 +307,4 @@ class SolverTrail {
307307
} // namespace constraints
308308
} // namespace swift
309309

310-
#endif // SWIFT_SEMA_CSTRAIL_H
310+
#endif // SWIFT_SEMA_CSTRAIL_H

include/swift/Sema/ConstraintSystem.h

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1565,9 +1565,8 @@ class Solution {
15651565
llvm::DenseMap<ConstraintLocator *, std::pair<UUID, Type>>
15661566
PackExpansionEnvironments;
15671567

1568-
/// The pack expansion environment that can open a given pack element.
1569-
llvm::DenseMap<PackElementExpr *, PackExpansionExpr *>
1570-
PackEnvironments;
1568+
/// The pack expansion expression for a given pack element.
1569+
llvm::DenseMap<PackElementExpr *, PackExpansionExpr *> PackElementExpansions;
15711570

15721571
/// The locators of \c Defaultable constraints whose defaults were used.
15731572
llvm::DenseSet<ConstraintLocator *> DefaultedConstraints;
@@ -2412,7 +2411,7 @@ class ConstraintSystem {
24122411
PackExpansionEnvironments;
24132412

24142413
llvm::SmallDenseMap<PackElementExpr *, PackExpansionExpr *, 2>
2415-
PackEnvironments;
2414+
PackElementExpansions;
24162415

24172416
llvm::SmallVector<GenericEnvironment *, 4> PackElementGenericEnvironments;
24182417

@@ -3379,17 +3378,18 @@ class ConstraintSystem {
33793378
void recordPackExpansionEnvironment(ConstraintLocator *locator,
33803379
std::pair<UUID, Type> uuidAndShape);
33813380

3382-
/// Get the opened element generic environment for the given pack element.
3383-
PackExpansionExpr *getPackEnvironment(PackElementExpr *packElement) const;
3381+
/// Get the pack expansion expr for the given pack element.
3382+
PackExpansionExpr *
3383+
getPackElementExpansion(PackElementExpr *packElement) const;
33843384

3385-
/// Associate an opened element generic environment to a pack element,
3386-
/// and record a change in the trail.
3387-
void addPackEnvironment(PackElementExpr *packElement,
3388-
PackExpansionExpr *packExpansion);
3385+
/// Associate a pack element with a given pack expansion, and record the
3386+
/// change in the trail.
3387+
void recordPackElementExpansion(PackElementExpr *packElement,
3388+
PackExpansionExpr *packExpansion);
33893389

33903390
/// Undo the above change.
3391-
void removePackEnvironment(PackElementExpr *packElement) {
3392-
bool erased = PackEnvironments.erase(packElement);
3391+
void removePackElementExpansion(PackElementExpr *packElement) {
3392+
bool erased = PackElementExpansions.erase(packElement);
33933393
ASSERT(erased);
33943394
}
33953395

lib/Sema/CSGen.cpp

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -902,10 +902,10 @@ TypeVarRefCollector::walkToExprPre(Expr *expr) {
902902
}
903903

904904
if (auto *packElement = getAsExpr<PackElementExpr>(expr)) {
905-
// If environment hasn't been established yet, it means that pack expansion
905+
// If expansion hasn't been established yet, it means that pack expansion
906906
// appears inside of this closure.
907-
if (auto *outerEnvironment = CS.getPackEnvironment(packElement))
908-
inferTypeVars(outerEnvironment);
907+
if (auto *outerExpansion = CS.getPackElementExpansion(packElement))
908+
inferTypeVars(outerExpansion);
909909
}
910910

911911
return Action::Continue(expr);
@@ -1214,9 +1214,8 @@ namespace {
12141214
SmallVector<ASTNode, 2> expandedPacks;
12151215
collectExpandedPacks(expr, expandedPacks);
12161216
for (auto pack : expandedPacks) {
1217-
if (auto *elementExpr = getAsExpr<PackElementExpr>(pack)) {
1218-
CS.addPackEnvironment(elementExpr, expr);
1219-
}
1217+
if (auto *elementExpr = getAsExpr<PackElementExpr>(pack))
1218+
CS.recordPackElementExpansion(elementExpr, expr);
12201219
}
12211220

12221221
auto *patternLoc = CS.getConstraintLocator(
@@ -3239,15 +3238,15 @@ namespace {
32393238

32403239
Type visitPackElementExpr(PackElementExpr *expr) {
32413240
auto packType = CS.getType(expr->getPackRefExpr());
3242-
auto *packEnvironment = CS.getPackEnvironment(expr);
3241+
auto *packExpansion = CS.getPackElementExpansion(expr);
32433242
auto elementType = openPackElement(
3244-
packType, CS.getConstraintLocator(expr), packEnvironment);
3245-
if (packEnvironment) {
3243+
packType, CS.getConstraintLocator(expr), packExpansion);
3244+
if (packExpansion) {
32463245
auto expansionType =
3247-
CS.getType(packEnvironment)->castTo<PackExpansionType>();
3246+
CS.getType(packExpansion)->castTo<PackExpansionType>();
32483247
CS.addConstraint(ConstraintKind::ShapeOf, expansionType->getCountType(),
32493248
packType,
3250-
CS.getConstraintLocator(packEnvironment,
3249+
CS.getConstraintLocator(packExpansion,
32513250
ConstraintLocator::PackShape));
32523251
} else {
32533252
CS.recordFix(AllowInvalidPackReference::create(

lib/Sema/CSSolver.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -256,8 +256,8 @@ Solution ConstraintSystem::finalize() {
256256
solution.PackExpansionEnvironments.insert(env);
257257
}
258258

259-
for (const auto &packEnv : PackEnvironments)
260-
solution.PackEnvironments.insert(packEnv);
259+
for (const auto &packEnv : PackElementExpansions)
260+
solution.PackElementExpansions.insert(packEnv);
261261

262262
for (const auto &synthesized : SynthesizedConformances) {
263263
solution.SynthesizedConformances.insert(synthesized);
@@ -355,10 +355,10 @@ void ConstraintSystem::replaySolution(const Solution &solution,
355355
recordPackExpansionEnvironment(expansion.first, expansion.second);
356356
}
357357

358-
// Register the solutions's pack environments.
359-
for (auto &packEnvironment : solution.PackEnvironments) {
360-
if (PackEnvironments.count(packEnvironment.first) == 0)
361-
addPackEnvironment(packEnvironment.first, packEnvironment.second);
358+
// Register the solutions's pack expansions.
359+
for (auto &packEnvironment : solution.PackElementExpansions) {
360+
if (PackElementExpansions.count(packEnvironment.first) == 0)
361+
recordPackElementExpansion(packEnvironment.first, packEnvironment.second);
362362
}
363363

364364
// Register the defaulted type variables.

lib/Sema/CSSyntacticElement.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,8 +188,8 @@ class TypeVariableRefFinder : public ASTWalker {
188188
// that reference pack elements have to bring expansion's shape
189189
// type in scope to make sure that the shapes match.
190190
if (auto *packElement = getAsExpr<PackElementExpr>(expr)) {
191-
if (auto *outerEnvironment = CS.getPackEnvironment(packElement)) {
192-
auto *expansionTy = CS.simplifyType(CS.getType(outerEnvironment))
191+
if (auto *outerExpansion = CS.getPackElementExpansion(packElement)) {
192+
auto *expansionTy = CS.simplifyType(CS.getType(outerExpansion))
193193
->castTo<PackExpansionType>();
194194
expansionTy->getCountType()->getTypeVariables(ReferencedVars);
195195
}

lib/Sema/CSTrail.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -191,10 +191,10 @@ SolverTrail::Change::RecordedOpenedPackExpansionType(PackExpansionType *expansio
191191
return result;
192192
}
193193

194-
SolverTrail::Change
195-
SolverTrail::Change::RecordedPackEnvironment(PackElementExpr *packElement) {
194+
SolverTrail::Change SolverTrail::Change::RecordedPackElementExpansion(
195+
PackElementExpr *packElement) {
196196
Change result;
197-
result.Kind = ChangeKind::RecordedPackEnvironment;
197+
result.Kind = ChangeKind::RecordedPackElementExpansion;
198198
result.TheElement = packElement;
199199
return result;
200200
}
@@ -426,8 +426,8 @@ void SolverTrail::Change::undo(ConstraintSystem &cs) const {
426426
cs.removeOpenedPackExpansionType(TheExpansion);
427427
break;
428428

429-
case ChangeKind::RecordedPackEnvironment:
430-
cs.removePackEnvironment(TheElement);
429+
case ChangeKind::RecordedPackElementExpansion:
430+
cs.removePackElementExpansion(TheElement);
431431
break;
432432

433433
case ChangeKind::RecordedNodeType:
@@ -694,9 +694,9 @@ void SolverTrail::Change::dump(llvm::raw_ostream &out,
694694
out << ")\n";
695695
break;
696696

697-
case ChangeKind::RecordedPackEnvironment:
697+
case ChangeKind::RecordedPackElementExpansion:
698698
// FIXME: Print short form of PackExpansionExpr
699-
out << "(RecordedPackEnvironment ";
699+
out << "(RecordedPackElementExpansion ";
700700
simple_display(out, TheElement);
701701
out << "\n";
702702
break;
@@ -971,4 +971,4 @@ void SolverTrail::dump(raw_ostream &OS, unsigned fromIndex,
971971
unsigned indent) const {
972972
for (unsigned i = fromIndex; i < Changes.size(); ++i)
973973
Changes[i].dump(OS, CS, indent);
974-
}
974+
}

lib/Sema/ConstraintSystem.cpp

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -918,18 +918,21 @@ void ConstraintSystem::recordPackExpansionEnvironment(
918918
}
919919

920920
PackExpansionExpr *
921-
ConstraintSystem::getPackEnvironment(PackElementExpr *packElement) const {
922-
const auto match = PackEnvironments.find(packElement);
923-
return (match == PackEnvironments.end()) ? nullptr : match->second;
921+
ConstraintSystem::getPackElementExpansion(PackElementExpr *packElement) const {
922+
const auto match = PackElementExpansions.find(packElement);
923+
return (match == PackElementExpansions.end()) ? nullptr : match->second;
924924
}
925925

926-
void ConstraintSystem::addPackEnvironment(PackElementExpr *packElement,
927-
PackExpansionExpr *packExpansion) {
928-
bool inserted = PackEnvironments.insert({packElement, packExpansion}).second;
926+
void ConstraintSystem::recordPackElementExpansion(
927+
PackElementExpr *packElement, PackExpansionExpr *packExpansion) {
928+
bool inserted =
929+
PackElementExpansions.insert({packElement, packExpansion}).second;
929930
ASSERT(inserted);
930931

931-
if (solverState)
932-
recordChange(SolverTrail::Change::RecordedPackEnvironment(packElement));
932+
if (solverState) {
933+
recordChange(
934+
SolverTrail::Change::RecordedPackElementExpansion(packElement));
935+
}
933936
}
934937

935938
/// Extend the given depth map by adding depths for all of the subexpressions
@@ -1916,6 +1919,7 @@ size_t Solution::getTotalMemory() const {
19161919
if (TotalMemory)
19171920
return *TotalMemory;
19181921

1922+
// clang-format off
19191923
const_cast<Solution *>(this)->TotalMemory
19201924
= sizeof(*this) + size_in_bytes(typeBindings) +
19211925
overloadChoices.getMemorySize() +
@@ -1925,7 +1929,7 @@ size_t Solution::getTotalMemory() const {
19251929
OpenedTypes.getMemorySize() + OpenedExistentialTypes.getMemorySize() +
19261930
OpenedPackExpansionTypes.getMemorySize() +
19271931
PackExpansionEnvironments.getMemorySize() +
1928-
size_in_bytes(PackEnvironments) +
1932+
size_in_bytes(PackElementExpansions) +
19291933
(DefaultedConstraints.size() * sizeof(void *)) +
19301934
nodeTypes.getMemorySize() +
19311935
keyPathComponentTypes.getMemorySize() +
@@ -1941,6 +1945,7 @@ size_t Solution::getTotalMemory() const {
19411945
size_in_bytes(argumentLists) +
19421946
size_in_bytes(ImplicitCallAsFunctionRoots) +
19431947
size_in_bytes(SynthesizedConformances);
1948+
// clang-format on
19441949

19451950
return *TotalMemory;
19461951
}

0 commit comments

Comments
 (0)