r185873 - [Objective-C migrator] replace candidate user setter/getter with
fjahanian at apple.com
Wed Jul 10 11:15:17 PDT 2013
On Jul 10, 2013, at 11:10 AM, Douglas Gregor <dgregor at apple.com> wrote:
> On Jul 10, 2013, at 8:55 AM, jahanian <fjahanian at apple.com> wrote:
>> On Jul 9, 2013, at 5:33 PM, Jordan Rose <jordan_rose at apple.com> wrote:
>>> On Jul 9, 2013, at 17:24 , jahanian <fjahanian at apple.com> wrote:
>>>>>> + at property(weak) NSString *__weak WeakProp;
>>>>>> + at property(strong) NSString * StrongProp;
>>>>> Conventionally, I'd expect the __weak to disappear and the "strong" to be implied instead of explicitly spelled out.
>>>> __weak came from user code. migration did not generate it. removed “strong” from migrated attributes.
>>> I see that it came from user code; it should go away during the migration.
>>> Actually, most "weak" properties will not look like this. A weak implicit property will have a normal signature for the getter and setter, but the backing ivar will be __weak.
>>> You really can't migrate properties without looking at the setter implementation. In that sense it's pushing more info into the interface, not less.
>> That is so true. Yet, migrator’s workflow allows for user to select/edit/discard the property as needed.
>> Migrator has only knowledge of the declarations it sees. In almost all cases, implementations are not
> It’s not unreasonable to expect that the implementation be available, because the person @property’ifying their code is likely the person responsible for the implementation in the first place. I think it’s definitely an interesting question whether we’ll need to use knowledge of the implementation for this kind of potentially-semantics-changing migration.
So, we will be dealing with situations where person who migrating with the implementation on-hand will migrate one way and
every one else using the frameworks will migrate (potentially) some other way.Interesting scenario deserving talking off-line.
> - Doug
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-commits