On Thu, May 3, 2012 at 10:44 AM, Marcus Denker <marcus.denker@inria.fr>wrote:
20043 -----
Issue 5744: Clean up Temp Embedding 2): DoIts http://code.google.com/p/pharo/issues/detail?id=5744
- Doits are now compiled with source embedded - embedding sources for doits pretty prints from AST as doits are compiled specially (with a return added)
CompiledMethod:
- remove blockExtendsToTempsMap: Not needed anymore, all calls go the MethodNode - remove #copyWitTempsFromMethodNode: All senders use #copyWithSource - remove #holdsTempNames. Temp name embedding not needed
I didn't understand. I have a test in fuel where I serialize/materialize a compiled method with an empty trailer. so after the materialization one of the things I test are: self assert: method sourcePointer = 0. self deny: method holdsTempNames. of course I can still do: self deny: method trailer hasTempNames but just wondering...
- add isDoit - schematicTempNamesString always returns the schematic string representation of all temps - tempNames forwards to methodNode - remove tempNamesString. Concatenate yourself if you need that.
Debugger>>selectedMessage asks the selectedContext directly for the source. No need for the methodMap.
DebuggerMethodMap
- no special handling of methods that encode temps. Just as for methodNode always.
MethodNode
- generateWithSource. embedd pretty printed code in case of doit - remove generateWithTempNames
In general: rewrite code to use #generateWithSource
-- Marcus Denker -- http://marcusdenker.de
-- Mariano http://marianopeck.wordpress.com