PackageInfo>>overrideMethods

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

PackageInfo>>overrideMethods

Igor Stasenko
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.

--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: PackageInfo>>overrideMethods

Eliot Miranda-2


On Sat, Oct 24, 2009 at 12:44 AM, Igor Stasenko <[hidden email]> 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]
 

--
Best regards,
Igor Stasenko AKA sig.




Reply | Threaded
Open this post in threaded view
|

Re: PackageInfo>>overrideMethods

Igor Stasenko
2009/10/25 Eliot Miranda <[hidden email]>:

>
>
> On Sat, Oct 24, 2009 at 12:44 AM, Igor Stasenko <[hidden email]> 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..

>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>


--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: PackageInfo>>overrideMethods

Bert Freudenberg

On 26.10.2009, at 03:32, Igor Stasenko wrote:

> 2009/10/25 Eliot Miranda <[hidden email]>:
>>
>>
>> On Sat, Oct 24, 2009 at 12:44 AM, Igor Stasenko  
>> <[hidden email]> 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.

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: PackageInfo>>overrideMethods

Igor Stasenko
2009/10/26 Bert Freudenberg <[hidden email]>:

>
> On 26.10.2009, at 03:32, Igor Stasenko wrote:
>
>> 2009/10/25 Eliot Miranda <[hidden email]>:
>>>
>>>
>>> On Sat, Oct 24, 2009 at 12:44 AM, Igor Stasenko <[hidden email]>
>>> 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
?
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.

> - Bert -
>


--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: PackageInfo>>overrideMethods

Bert Freudenberg

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

> 2009/10/26 Bert Freudenberg <[hidden email]>:
>>
>> On 26.10.2009, at 03:32, Igor Stasenko wrote:
>>
>>> 2009/10/25 Eliot Miranda <[hidden email]>:
>>>>
>>>>
>>>> On Sat, Oct 24, 2009 at 12:44 AM, Igor Stasenko  
>>>> <[hidden email]>
>>>> 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 -