>
>>
>>> But tempNames is fundamentally broken for closures.
>>>
>>
>> Just to avoid confusing, #tempNames itself looks correct:
>>
>> tempNames
>>     "Answer a SequenceableCollection of the names of the receiver's
>> temporary
>>      variables, which are strings."
>>
>>     ^ self debuggerMap tempNamesForContext: self
>>
>
> Yes.  That's for ContextPart.  But it doesn't work for CompiledMethod,
> since temps may differ between a method and its blocks.
>
>

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:

CompiledMethod >> #tempNames
    self holdsTempNames ifFalse: [^#()].
    ^self tempNamesString subStrings: ' '

how would it be the correct implementation then?

Thanks

-- 
Mariano
http://marianopeck.wordpress.com

Reply via email to