for storing package information for method for example.

And this is not clear to me that method should know their selector so  
a compiled method could be a pure vm entity
and a methodref its metaobject :)

Stef


On Oct 31, 2009, at 6:55 PM, Adrian Lienhard wrote:

> I think that a main reason for using MethodReference was to be able to
> capture the class in which a method is installed and the method's
> selector. Before method properties were introduced, a method did not
> know its class and selector and hence all classes had to be searched
> to find this out (the method was named #who returning an array with
> the class and selector ;)).
>
> I don't see any reason why MethodReference would still be useful as
> you can just reference a CompiledMethod directly.
>
> Adrian
>
> On Oct 31, 2009, at 13:59 , Igor Stasenko wrote:
>
>> 2009/10/29 Stéphane Ducasse <[email protected]>:
>>> Hi
>>>
>>> just to share a ugly design point with MethodReference
>>>
>>> MethodReference are created using
>>>
>>> MethodReference class: aClass symbol: aSymbol
>>>
>>> however they store the class ***name***
>>>
>>> and after when you query the class using either actualClass or
>>> methodClass
>>> you get the class that is in Smalltalk.
>>>
>>> So if like me you copied the class then you will get another version
>>> of your class
>>> even if this is the right one you use to create the
>>> MethodReference....
>>>
>>> One of these days we will have to check that
>>>
>>
>> Yes, i wondering myself, what is the point to reference the methods  
>> in
>> such style.
>> The way, how actual class & its method get resolved makes it
>> impossible to reference a method in
>> arbitrary class object, especially one which is not installed into
>> system dictionary.
>>
>> I think its lacking additional form of indirection, which should be  
>> an
>> environment object who is responsible for
>> delivering the method's source code along with resolving the class by
>> its name. Without such indirection, i see no point in having a
>> MethodReference per se,
>> because you can always do the same thing by yourself , i.e.  
>> (Smalltalk
>> at: #SomeClass) methodDict at: #someSelector.
>> Without that, i see no point why i would want to use it, because it
>> always points to same thing, no matter where i using the
>> MethodReference.
>>
>>> Stef
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>>
>> -- 
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to