The old compiler has a strange AST representation. It represents method bodies as blocks.
Probably the easiest is to parse the decompiled code with the refactoring engine and extract the body there: (RBParser parseMethod: aCompiledMethod decompileWithTemps) body Lukas On 19 October 2010 22:37, Hernán Morales Durand <[email protected]> wrote: > Hi list, > I'm using Pharo1.1rc2 #11400 and I want to extract the body part (the > String without the selector) of a CompiledMethod, but I'm getting a > BlockNode after sending #body and a MNU afterwards. This is what I do > > aCompiledMethod decompileWithTemps ---> a BytecodeAgnosticMethodNode > which is displayed like: > > 'renderContentOn: aRenderer > aRenderer form id: ''horizontalForm''; > with: [aRenderer > fieldSet: [ ... blablabla ]]' > > and is ok. Then > > aCompiledMethod decompileWithTemps body ---> a BlockNode displayed as: > > {[:aRenderer | > aRenderer form id: 'horizontalForm'; > with: [aRenderer > fieldSet: [... blablabla]]]} > > I've expected the code string (sending #decompileString) without > "[:aRenderer |" part (used to work that way). > The thing is if I send #code to the BlockNode I get a > "MessageNotUnderstood: CascadeNode>>code". > I'd appreciate any hint to solve this. > Cheers, > > > -- > Hernán Morales > Information Technology Manager, > Institute of Veterinary Genetics. > National Scientific and Technical Research Council (CONICET). > La Plata (1900), Buenos Aires, Argentina. > Telephone: +54 (0221) 421-1799. > Internal: 422 > Fax: 425-7980 or 421-1799. > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- Lukas Renggli www.lukas-renggli.ch _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
