On Sun, May 27, 2012 at 2:31 PM, Igor Stasenko <siguctua@gmail.com> wrote:
On 27 May 2012 11:40, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
>
>
> On Sun, May 27, 2012 at 11:02 AM, Denis Kudriashov <dionisiydk@gmail.com>
> 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