<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2016-02-24 11:01 GMT+01:00 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>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2016-02-24 10:02 GMT+01:00 Nicolai Hess <span dir="ltr">&lt;<a href="mailto:nicolaihess@gmail.com" target="_blank">nicolaihess@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"> <br><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2016-02-24 9:31 GMT+01:00 Nicolai Hess <span dir="ltr">&lt;<a href="mailto:nicolaihess@gmail.com" target="_blank">nicolaihess@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 dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span>2016-02-23 8:48 GMT+01:00 Nicolai Hess <span dir="ltr">&lt;<a href="mailto:nicolaihess@gmail.com" target="_blank">nicolaihess@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 dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span>2016-02-23 3:55 GMT+01:00 Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@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 dir="auto"><div>Hi Nicolai,</div><div><br></div><div>    there is a hairy script that moves methods around the hierarchy.  IIRC Float is renamed to BoxedFloat64, then a new Float is introduced, then BoxedFloat64 made to inherit from it.  It&#39;s likely that the last step of this script, which replaces the methodClassAssociations in the moved methods (makes those BoxedFloat64 methods that used to be Float or maybe vice verse) with the right association, didn&#39;t work.  </div><div><br></div><div>I don&#39;t know how the Pharo 5 image is built.  If it is incremental then just write a script to fix the associations.  But if the image is produced by a bootstrap you&#39;ll need to track down the script that creates the revised Float hierarchy and fix it to work properly in Pharo.<br><br><span style="background-color:rgba(255,255,255,0)">_,,,^..^,,,_ (phone)</span></div></div></blockquote><div><br></div></span><div>Thanks Eliot,<br><br></div><div>The methods for c lass Float and BoxedFloat are looking fine. Whats wrong is, that some other methods referring to class Float in there source, now having<br></div><div>BoxedFloat in its compiled method literal array, <br>#BoxedFloat64-&gt;BoxedFloat64 instead of #Float-&gt;Float.<br><br></div><div>But it looks like recompiling the whole image fixes this.<span><font color="#888888"><br><br></font></span></div><span><font color="#888888"><div>nicolai<br></div></font></span></div></div></div></blockquote><div><br><br></div></span><div>Would it makes sense if <br></div><div>BoxedFloat64 species returns Float ?<br></div></div></div></div></blockquote><div><br></div><div>This is because I am about to fix some failing tests in pharo.<br></div><div>Tests like<br><br></div><div>self assert: result class = Float<br></div><div>can be replaced by<br><br></div><div>self assert: result isFloat<br><br></div></div></div></div></blockquote><div><br></div><div>Yes good.<br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div>But for tests like<br><br></div><div>self assert: resultClass = Float<br></div><div>I don&#39;t want to write<br></div><div><div>self assert: resultClass = BoxedFloat64<br></div></div></div></div></div></blockquote><div><br><div><br></div><div>What&#39;s this test about???<br></div>Is it for testing that extreme exponent (very big and very small Float) cannot be represented by an immediate float?<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div><br></div><div>and looking for an easy way to check if the result class is &quot;like&quot; Float<br><br>self assert: resultClass species = Float species ?<br>self assert: resultClass isFloatClass ?<br></div><div>self assert: resultClass new isFloat ?<br><br></div></div></div></div></div></blockquote><div><br></div><div>No because not all floats will be represented as a BoxedFloat64<br></div><div>Some will be represented by an immediate float (it depends both on VM Spur-64 bits/ and float range)<br><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div></div><div>any ideas<br></div><div><br></div></div></div></div></div></blockquote><div><br></div>Not without the intention of the test...<br></div></div></div></blockquote><div><br></div><div>One failing test is about completion and the &quot;context&quot; for searching possible completions for messages, for example<br><br></div><div>#(1 2 3) anMessage...<br></div><div><br></div><div>would recognize #(1 2 3) as an array and search completions starting with &quot;anMessage&quot; in class (and superclasses) of Array<br><br>2r1.1e2 anMessage<br></div><div>would recognize &quot;2r1.1e2&quot; as a Float, but this test now fails because the class for the literal 2r1.1e2 is not Float but BoxedFloat64.<br></div><div>As I consider BoxedFloat64 as an implementation detail, I would like to make this test independent of the actual Float class and<br></div><div>just make an assert that the context class, is &quot;like a &quot; Float. (The completion menu would still show BoxedFloat64, but thats ok)<br></div><div><br></div><div>The second test  is<br>tally := MessageTally <br>                tallySendsTo: nil <br>                inBlock:  [ 3.14159 printString ] <br>                showTree: true <br>                closeAfter: false <br>                openResultWindow: false<br><br></div><div>self assert: (tally receivers second theClass == Float).<br><br></div><div>which is now BoxedFloat64 instead of Float<br></div><div><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"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"></div><div class="gmail_quote"><div><br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div><br><br></div><br><br><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><span><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span><font color="#888888"><div></div></font></span><span><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div><div><div><br>On Feb 18, 2016, at 2:47 AM, Nicolai Hess &lt;<a href="mailto:nicolaihess@gmail.com" target="_blank">nicolaihess@gmail.com</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr"><div>Because we have compiled methods with BoxedFloat64 associations in the<br></div>methods literals, but the source code still shows only &quot;Float&quot;.<br><br><a href="https://pharo.fogbugz.com/f/cases/17638/Browsing-calls-on-BoxedFloat64-shows-methods-with-reference-to-BoxedFloat64-in-the-code" target="_blank">17638</a> Browsing calls on BoxedFloat64 shows methods with reference to BoxedFloat64 in the code<br><br><br><br></div>
</div></blockquote></div></div></div></blockquote></span></div><br></div></div>
</blockquote></span></div><br></div></div>
</blockquote></div><br></div></div>
<br></blockquote></div><br></div></div>
<br></blockquote></div><br></div></div>