in Pharo4.0,Latest update: #40581: push down -> DNU

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

in Pharo4.0,Latest update: #40581: push down -> DNU

stepharo
Hi

When I select an instance method and use push down in a subclass without
obvious conflicts.
I get two DNUs.

realClass

     ^baseClass realClass theMetaClass

  dnu: theMetaClass

while baseClass is a class
realClass -> nil


the environement does not contain the class.
Now I did a class rename before and I wonder if it is not the one that
is broken :(

Stef

Reply | Threaded
Open this post in threaded view
|

Re: in Pharo4.0, Latest update: #40581: push down -> DNU

stepharo
In fact I tried on another class that I did not renamed
And I get the same behavior.
Now what is really strange is that I did

AA renamed into CC

and when I do a push down on XX which has nothing to do with AA or CC
the

     ^baseClass realClass
     -> self name = CC

so I do not get how this is possible.

Stef


Le 29/3/15 21:09, stepharo a écrit :

> Hi
>
> When I select an instance method and use push down in a subclass
> without obvious conflicts.
> I get two DNUs.
>
> realClass
>
>     ^baseClass realClass theMetaClass
>
>  dnu: theMetaClass
>
> while baseClass is a class
> realClass -> nil
>
>
> the environement does not contain the class.
> Now I did a class rename before and I wonder if it is not the one that
> is broken :(
>
> Stef
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: in Pharo4.0, Latest update: #40581: push down -> DNU

stepharo
In fact this is even worse (BTW I used the latest Pillar image)

I renamed AA into CC and then CC into DD
and now
     self name = CC
We broke something and I find surprising that we do not have test
covering refactorings after all these years.

We broke already two times refactorings and this is a bad signal.
Stef

Le 29/3/15 21:14, stepharo a écrit :

> In fact I tried on another class that I did not renamed
> And I get the same behavior.
> Now what is really strange is that I did
>
> AA renamed into CC
>
> and when I do a push down on XX which has nothing to do with AA or CC
> the
>
>     ^baseClass realClass
>     -> self name = CC
>
> so I do not get how this is possible.
>
> Stef
>
>
> Le 29/3/15 21:09, stepharo a écrit :
>> Hi
>>
>> When I select an instance method and use push down in a subclass
>> without obvious conflicts.
>> I get two DNUs.
>>
>> realClass
>>
>>     ^baseClass realClass theMetaClass
>>
>>  dnu: theMetaClass
>>
>> while baseClass is a class
>> realClass -> nil
>>
>>
>> the environement does not contain the class.
>> Now I did a class rename before and I wonder if it is not the one
>> that is broken :(
>>
>> Stef
>>
>>
>>
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: in Pharo4.0, Latest update: #40581: push down -> DNU

Thierry Goubier
Le 29/03/2015 21:18, stepharo a écrit :
> In fact this is even worse (BTW I used the latest Pillar image)
>
> I renamed AA into CC and then CC into DD
> and now
>      self name = CC
> We broke something and I find surprising that we do not have test
> covering refactorings after all these years.

Do you mean that RBRenameClassTest covers nothing?

Thierry

> We broke already two times refactorings and this is a bad signal.
> Stef
>
> Le 29/3/15 21:14, stepharo a écrit :
>> In fact I tried on another class that I did not renamed
>> And I get the same behavior.
>> Now what is really strange is that I did
>>
>> AA renamed into CC
>>
>> and when I do a push down on XX which has nothing to do with AA or CC
>> the
>>
>>     ^baseClass realClass
>>     -> self name = CC
>>
>> so I do not get how this is possible.
>>
>> Stef
>>
>>
>> Le 29/3/15 21:09, stepharo a écrit :
>>> Hi
>>>
>>> When I select an instance method and use push down in a subclass
>>> without obvious conflicts.
>>> I get two DNUs.
>>>
>>> realClass
>>>
>>>     ^baseClass realClass theMetaClass
>>>
>>>  dnu: theMetaClass
>>>
>>> while baseClass is a class
>>> realClass -> nil
>>>
>>>
>>> the environement does not contain the class.
>>> Now I did a class rename before and I wonder if it is not the one
>>> that is broken :(
>>>
>>> Stef
>>>
>>>
>>>
>>
>>
>>
>>
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: in Pharo4.0, Latest update: #40581: push down -> DNU

stepharo


Le 29/3/15 21:30, Thierry Goubier a écrit :

> Le 29/03/2015 21:18, stepharo a écrit :
>> In fact this is even worse (BTW I used the latest Pillar image)
>>
>> I renamed AA into CC and then CC into DD
>> and now
>>      self name = CC
>> We broke something and I find surprising that we do not have test
>> covering refactorings after all these years.
>
> Do you mean that RBRenameClassTest covers nothing?

I do not know. But what is clear is that
     - Refactoring should not be difficult to test well
     - we break them regularly

>
> Thierry
>
>> We broke already two times refactorings and this is a bad signal.
>> Stef
>>
>> Le 29/3/15 21:14, stepharo a écrit :
>>> In fact I tried on another class that I did not renamed
>>> And I get the same behavior.
>>> Now what is really strange is that I did
>>>
>>> AA renamed into CC
>>>
>>> and when I do a push down on XX which has nothing to do with AA or CC
>>> the
>>>
>>>     ^baseClass realClass
>>>     -> self name = CC
>>>
>>> so I do not get how this is possible.
>>>
>>> Stef
>>>
>>>
>>> Le 29/3/15 21:09, stepharo a écrit :
>>>> Hi
>>>>
>>>> When I select an instance method and use push down in a subclass
>>>> without obvious conflicts.
>>>> I get two DNUs.
>>>>
>>>> realClass
>>>>
>>>>     ^baseClass realClass theMetaClass
>>>>
>>>>  dnu: theMetaClass
>>>>
>>>> while baseClass is a class
>>>> realClass -> nil
>>>>
>>>>
>>>> the environement does not contain the class.
>>>> Now I did a class rename before and I wonder if it is not the one
>>>> that is broken :(
>>>>
>>>> Stef
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: in Pharo4.0, Latest update: #40581: push down -> DNU

stepharo
In reply to this post by stepharo
This bug is really severe
Once we have it it breaks loading MC files too.

Le 29/3/15 21:09, stepharo a écrit :

> Hi
>
> When I select an instance method and use push down in a subclass
> without obvious conflicts.
> I get two DNUs.
>
> realClass
>
>     ^baseClass realClass theMetaClass
>
>  dnu: theMetaClass
>
> while baseClass is a class
> realClass -> nil
>
>
> the environement does not contain the class.
> Now I did a class rename before and I wonder if it is not the one that
> is broken :(
>
> Stef
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: in Pharo4.0, Latest update: #40581: push down -> DNU

Nicolai Hess
I can not reproduce this error, do you use
refactoring from the Nautilus menu?

2015-03-30 8:47 GMT+02:00 stepharo <[hidden email]>:
This bug is really severe
Once we have it it breaks loading MC files too.

Le 29/3/15 21:09, stepharo a écrit :
Hi


When I select an instance method and use push down in a subclass without obvious conflicts.
I get two DNUs.

realClass

    ^baseClass realClass theMetaClass

 dnu: theMetaClass

while baseClass is a class
realClass -> nil


the environement does not contain the class.
Now I did a class rename before and I wonder if it is not the one that is broken :(

Stef






Reply | Threaded
Open this post in threaded view
|

Re: in Pharo4.0, Latest update: #40581: push down -> DNU

Ben Coman

I also cannot reproduce this. In 40586...
1. To AnnouncementsHelp I added method #y
2. Right-clicking on #y > Refactoring > Push down
3. Clicked <Ok> in the Changes Browser
4. Observed #y had moved from AnnouncementsHelp to both subclasses.

Repeated for existing AnnouncementsHelp-class>>introduction.

cheers -ben


On Mon, Mar 30, 2015 at 3:03 PM, Nicolai Hess <[hidden email]> wrote:
I can not reproduce this error, do you use
refactoring from the Nautilus menu?

2015-03-30 8:47 GMT+02:00 stepharo <[hidden email]>:
This bug is really severe
Once we have it it breaks loading MC files too.

Le 29/3/15 21:09, stepharo a écrit :
Hi


When I select an instance method and use push down in a subclass without obvious conflicts.
I get two DNUs.

realClass

    ^baseClass realClass theMetaClass

 dnu: theMetaClass

while baseClass is a class
realClass -> nil


the environement does not contain the class.
Now I did a class rename before and I wonder if it is not the one that is broken :(

Stef







Reply | Threaded
Open this post in threaded view
|

Re: in Pharo4.0, Latest update: #40581: push down -> DNU

stepharo
Yes this is really strange because I tried to reproduce it in 4.0 and 4.0 plus pillar and I could not.
However I was really not doing anything special.
So we can probably close this issue but it was annoying.

Stef

Le 30/3/15 15:48, Ben Coman a écrit :

I also cannot reproduce this. In 40586...
1. To AnnouncementsHelp I added method #y
2. Right-clicking on #y > Refactoring > Push down
3. Clicked <Ok> in the Changes Browser
4. Observed #y had moved from AnnouncementsHelp to both subclasses.

Repeated for existing AnnouncementsHelp-class>>introduction.

cheers -ben


On Mon, Mar 30, 2015 at 3:03 PM, Nicolai Hess <[hidden email]> wrote:
I can not reproduce this error, do you use
refactoring from the Nautilus menu?

2015-03-30 8:47 GMT+02:00 stepharo <[hidden email]>:
This bug is really severe
Once we have it it breaks loading MC files too.

Le 29/3/15 21:09, stepharo a écrit :
Hi


When I select an instance method and use push down in a subclass without obvious conflicts.
I get two DNUs.

realClass

    ^baseClass realClass theMetaClass

 dnu: theMetaClass

while baseClass is a class
realClass -> nil


the environement does not contain the class.
Now I did a class rename before and I wonder if it is not the one that is broken :(

Stef