Commits

Slava Pestov committed 41971fec996
SILGen: Introduce MaterializedLValue abstraction This is used when materializing an LValue to share state between the read and write phases of the access, replacing the 'temporary' and 'extraInfo' parameters that were previously being passed around. It adds two new fields, origSelfType and genericSig, which will be used in an upcoming patch to actually apply the callback with the current generic signature. This will finally allow us to make use of materializeForSet implementations in protocol extensions, which is a prerequisite for enabling resilient default implementations of property and subscript requirements.