<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2014-06-12 19:56 GMT+02:00 Frank Shearar <span dir="ltr">&lt;<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@gmail.com</a>&gt;</span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=""><div class="h5">On 12 June 2014 04:44, Florin Mateoc &lt;<a href="mailto:florin.mateoc@gmail.com">florin.mateoc@gmail.com</a>&gt; wrote:<br>

&gt; Hi,<br>
&gt;<br>
&gt; I think this is an old bug, presumably since ProtoObject was introduced (and presumably because ObjectTracer was used in<br>
&gt; the process).<br>
&gt;<br>
&gt; If you ask Class for its subclasses (or if you inspect it) you see that ObjectTracer class is listed along with<br>
&gt; ProtoObject class, although ObjectTracer&#39;s superclass is ProtoObject.<br>
&gt; This can lead to some funny bugs if you try to write some hierarchy traversing code.<br>
<br>
</div></div>ObjectTracer&#39;s superclass is ProtoObject, as you say, but ObjectTracer<br>
class&#39;s superclass is indeed Class. (Indeed, ProtoObject class<br>
superclass == Class.)<br>
<br>
So I&#39;m not sure I understand the nature of the problem: metaclasses<br>
are usually Class subclasses.<br>
<br></blockquote><div><br></div><div>Normally, [B superclass = A ==&gt; (B class superclass = A class)].<br></div><div>This is so that [B class canUnderstand: A class selectors anyOne].<br><br></div><div>What you have now is that (ObjectTracer class canUnderstand: Object class selectos anyOne) which it should not.<br>
</div><div><br>Of course [ObjectTracer class canUnderstand: Object selectors anyOne] is true.<br>It inherits from Object because a Metaclass is an Object...<br><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

Aren&#39;t those funny bugs to do with the (unavoidable) singularity at<br>
the top of both hierarchies?<br>
<br>
frank<br>
<br>
&gt; Cheers,<br>
&gt; Florin<br>
&gt;<br>
<br>
</blockquote></div><br></div></div>