<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jan 10, 2014 at 4:56 AM, Frank Shearar <span dir="ltr">&lt;<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This fails because the CompiledMethod from a removed class returns nil<br>
for its #methodClass.<br>
<br>
The test implies that an orphaned method will still know its removed class.<br>
<br>
However, Environment &gt;&gt; #forgetClass:logged: clearly nils out the<br>
binding of a removed class:<br>
<br>
    &quot;snip other stuff&quot;<br>
    undeclared declare: aClass name from: declarations.<br>
    declarations removeKey: aClass name ifAbsent: [].<br>
    [undeclared at: aClass name put: nil]<br>
        on: AttemptToWriteReadOnlyGlobal<br>
        do: [:n | n resume: true].<br>
    self binding: binding removedFrom: self]<br>
<br>
So is this just an API change? Should the test be updated, or is this a bug?<br></blockquote><div><br></div><div>It&#39;s not an API change, because SystemDictionary&gt;&gt;forgetClass:logged: does the same thing. But I don&#39;t know if the test is right.  </div>
</div></div></div>