On Sun, May 27, 2012 at 2:31 PM, Igor Stasenko <[email protected]> wrote:
> On 27 May 2012 11:40, Mariano Martinez Peck <[email protected]> wrote: > > > > > > On Sun, May 27, 2012 at 11:02 AM, Denis Kudriashov <[email protected] > > > > wrote: > >> > >> I found problem. > >> > >> Proxy classes in SMock and Mocketry are subclasses of ProtoObject which > >> not implements #class. > >> But proxy classes use "self class" in some methods (like #printOn: > >> implementation). > >> > >> I add #class implementation from Object to ProtoObject and all SMock and > >> Mocketry tests become green. > >> > >> So questions: > >> Is ProtoObject should implement #class? > >> Can we move #class method from Object to ProtoObject? > >> > > > > ups....good catch! indeed, we should move it to ProtoObject. > > > mm.. why? > Because ALL objects do have a class. Right? if you want to change the semantics of #class then just subclass and change it. This is not the real reason, but in addition because since previously #class used to have a special bytecode, it means it was understood by "everybody". So at least with this we don't break anything. For me it does not make sense to get a #dnu for #class when the object really has a class. > the more we put to ProtoObject, the more it looks like Object. > at some point you will see not difference between them, and then > someone will come > with a brilliant idea of having one more "clean" class ahead - > ProtoProtoObject. > > You cannot tell that to me ;) I was the one who spent 2 days to remove all the 10 menthods tryNamedPrimitive* from ProtoObject. > > -- > Best regards, > Igor Stasenko. > > -- Mariano http://marianopeck.wordpress.com
