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