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