Replace materializeForSet with the modify coroutine.

Most of this patch is just removing special cases for materializeForSet
or other fairly mechanical replacements.  Unfortunately, the rest is
still a fairly big change, and not one that can be easily split apart
because of the quite reasonable reliance on metaprogramming throughout
the compiler.  And, of course, there are a bunch of test updates that
have to be sync'ed with the actual change to code-generation.

This is SR-7134.
This commit is contained in:
John McCall
2018-08-18 02:42:12 -04:00
parent 7eb703bd74
commit b80618fc80
100 changed files with 2049 additions and 3334 deletions

View File

@@ -213,8 +213,6 @@ UIdent SwiftLangSupport::getUIDForAccessor(const ValueDecl *D,
AccessorKind AccKind,
bool IsRef) {
switch (AccKind) {
case AccessorKind::MaterializeForSet:
llvm_unreachable("unexpected MaterializeForSet");
case AccessorKind::Get:
return IsRef ? KindRefAccessorGetter : KindDeclAccessorGetter;
case AccessorKind::Set: