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
