[squeak-dev] PackageInfo>>overrideMethods

Bert Freudenberg bert at freudenbergs.de
Tue Oct 27 15:24:40 UTC 2009


On 27.10.2009, at 01:21, Igor Stasenko wrote:

> 2009/10/26 Bert Freudenberg <bert at freudenbergs.de>:
>>
>> On 26.10.2009, at 03:32, Igor Stasenko wrote:
>>
>>> 2009/10/25 Eliot Miranda <eliot.miranda at gmail.com>:
>>>>
>>>>
>>>> On Sat, Oct 24, 2009 at 12:44 AM, Igor Stasenko  
>>>> <siguctua at gmail.com>
>>>> wrote:
>>>>>
>>>>> In both Pharo & Squeak has no senders:
>>>>>
>>>>> overrideMethods
>>>>>       ^ self extensionMethods select: [:ea | self  
>>>>> isOvverideMethod: ea]
>>>>>
>>>>> as well as #isOvverideMethod: not implemented, which makes this  
>>>>> method
>>>>> fail to work , even if it would be called by anyone.
>>>>
>>>> double r, single v:
>>>> overrideMethods
>>>> ^ self extensionMethods select: [:ea | self isOverrideMethod: ea]
>>>>
>>>
>>> yeah.. but still this stuff not used :)
>>> Looks like attempt to introduce an override info for package..
>>
>> This is just informational, that is, to find out which of the
>> extensionMethods are actually overrides. The system doesn't need to  
>> know, so
>> there are no senders.
>>
>
> what kind of override it is?
> - override the method defined in superclass
> - or override of the method defined in same class, but initially owned
> by a different package
> ?

The latter.

> this is a bit different things, because in former you don't need to
> preserve the original method,
> but in latter you need to preserve , in order to be able to unload the
> package cleanly.

It is preserved in the changes file. The snapshot code digs out the  
original method from the history, see #changeRecordForOverriddenMethod:.

- Bert -





More information about the Squeak-dev mailing list