<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class="gmail_extra"><div class="gmail_quote"><div>But tempNames is fundamentally broken for closures. </div></div></div></blockquote><div><br>Just to avoid confusing, #tempNames itself looks correct:<br><br>tempNames<br>
"Answer a SequenceableCollection of the names of the receiver's temporary <br> variables, which are strings."<br><br> ^ self debuggerMap tempNamesForContext: self<br></div></div></blockquote><div>
<br></div><div>Yes. That's for ContextPart. But it doesn't work for CompiledMethod, since temps may differ between a method and its blocks.</div><div> </div></div></div></blockquote><div><br>Right, but weren't we always talking about Contexts? Because #tempNames of CompiledMethod is different than the thing of contexts, isn't it? It is related to the method trailer. In fact, I have just checked Squeak 4.3 and CompiledMethod does not even implement #tempNames. The implementation in Pharo is:<br>
<br>CompiledMethod >> #tempNames<br> self holdsTempNames ifFalse: [^#()].<br> ^self tempNamesString subStrings: ' '<br><br>how would it be the correct implementation then?<br><br>Thanks <br><br></div></div>
-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br><br>