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

@@ -574,6 +574,7 @@ private:
/// Sets the accessors for \p storage based on \p rawStorageKind.
void configureStorage(AbstractStorageDecl *storage,
uint8_t rawOpaqueReadOwnership,
uint8_t rawReadImpl,
uint8_t rawWriteImpl,
uint8_t rawReadWriteImpl,