mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Sema: Record pack expansion environments in the trail
This commit is contained in:
@@ -201,6 +201,14 @@ SolverTrail::Change::recordedOpenedPackExpansionType(PackExpansionType *expansio
|
||||
return result;
|
||||
}
|
||||
|
||||
SolverTrail::Change
|
||||
SolverTrail::Change::recordedPackExpansionEnvironment(ConstraintLocator *locator) {
|
||||
Change result;
|
||||
result.Kind = ChangeKind::RecordedPackExpansionEnvironment;
|
||||
result.Locator = locator;
|
||||
return result;
|
||||
}
|
||||
|
||||
void SolverTrail::Change::undo(ConstraintSystem &cs) const {
|
||||
auto &cg = cs.getConstraintGraph();
|
||||
|
||||
@@ -277,6 +285,10 @@ void SolverTrail::Change::undo(ConstraintSystem &cs) const {
|
||||
case ChangeKind::RecordedOpenedPackExpansionType:
|
||||
cs.removeOpenedPackExpansionType(ExpansionTy);
|
||||
break;
|
||||
|
||||
case ChangeKind::RecordedPackExpansionEnvironment:
|
||||
cs.removePackExpansionEnvironment(Locator);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -424,6 +436,12 @@ void SolverTrail::Change::dump(llvm::raw_ostream &out,
|
||||
ExpansionTy->print(out, PO);
|
||||
out << ")\n";
|
||||
break;
|
||||
|
||||
case ChangeKind::RecordedPackExpansionEnvironment:
|
||||
out << "(recorded pack expansion environment at ";
|
||||
Locator->dump(&cs.getASTContext().SourceMgr, out);
|
||||
out << ")\n";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user