<div dir="ltr"><div><div></div>Previous versions did not move the binding to undeclared. They did just remove it.<br></div><div>The binding did still point to the obsolete class, and that is what is tested in testMethodClass.<br>
</div><div></div><div><br>I don&#39;t know what the correct Behaviour is...<br></div><div>I can just tell that it has changed.<br><br></div><div>In VW, there is a direct pointer from a CompiledMethod to the class because become is cheap.<br>
</div><div>In Squeak, the pointer is indirect thru the binding, so IMO it&#39;s an implementation detail.<br><br></div><div>Since we still have the binding name though, I wonder if it&#39;s really interesting to have the value pointing to obsolete class...<br>
</div><div>If not, we can eventually change the test.<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/5/4 Colin Putney <span dir="ltr">&lt;<a href="mailto:colin@wiresong.com" target="_blank">colin@wiresong.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="im">On Fri, May 3, 2013 at 1:18 PM, Nicolas Cellier <span dir="ltr">&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@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"><div dir="ltr"><div><div><div>Yes but Environments are not stabilized yet.<br></div>Look for example at CompiledMethodTest&gt;&gt;#testMethodClass<br>

</div>It is failing because Environment&gt;&gt;#forgetClass:logged: moves the class binding in undeclared (Dictionary&gt;&gt;#declare:from: ), but then overwrite the value with nil.<br>
</div>Thus the references to AnObsoleteTUTU are then nilled out...</div></blockquote><div><br></div></div><div>Isn&#39;t that the correct behaviour? Direct references to the class by name should be nil, but any variables that refer to the class object still have a reference to the obsolete class, and instances still have their state but don&#39;t understand messages because their class is obsolete. </div>

<div><br></div><div>If that&#39;s not the correct behaviour, what is?</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Colin</div></font></span></div></div></div>
<br><br>
<br></blockquote></div><br></div>