On Tue, Sep 6, 2016 at 9:49 PM, Nicolai Hess <nicolaih...@gmail.com> wrote:
>
>
> 2016-09-06 15:39 GMT+02:00 Ben Coman <b...@openinworld.com>:
>>
>> Just bumped into a curious thing.  I went copy a class with a pool
>> dictionary...
>>
>> FFIExternalStructure subclass: #CXString
>>    instanceVariableNames: ''
>>    classVariableNames: ''
>>    poolDictionaries: 'CXStringFlag'
>>    package: 'Libclang'
>>
>> and it asked me for the new name, to which I dutifully entered 'CXString2'
>> after which I was asked...
>>    "CXString2Flag does not exist. Do you want it automatically created?"
>>
>> Choosing "No" fails the CXString copy since CXString2Flag does not exist.
>> Choosing "Yes" produces...
>>
>> FFIExternalStructure subclass: #CXString2
>>     instanceVariableNames: ''
>>     classVariableNames: ''
>>     poolDictionaries: 'CXString2Flag'
>>     package: 'Libclang'
>>
>> So I'm curious what the reasoning is for making a parallel copy of the
>> pool dictionary?
>>
>> And btw, CXString2Flag gets created in the "Unclassified" package and
>> fails to copy the methods from the original.
>>
>> cheers -ben
>
>
>
>
> What image version ?

Moose 6.0, Pharo 50761.  sorry I didn't check in latest already.  I
first wanted to understand what the expected behaviour was.


>
> We had an issue for a similar case (the class /instance variable names were
> copied *and* renamed too)
>
> 18957 Class copy should not change the name of the instance variables
>
> This was fixed n 60189
>
> (actually, with this change, the pool dictionary definition is just *not*
> copied but empty, hm, but I think this is better
> than creating a new with the changed name).

Tested in 60205, it does behave better, but I added a new issue with
this additional fix attached...
https://pharo.fogbugz.com/default.asp?19050

However are there any other class definition features (like slots)
that should be considered?  I don't know what classes use slots that
could be tested.

cheers -ben

>
>

Reply via email to