On 27 Feb 2015, at 19:48, Thierry Goubier <thierry.goubier@gmail.com> wrote:
Hi Markus,
if I understand correctly some of the possibilities:
- I can use RBParseTreeSearcher / RBParseTreeRewriter on the twin AST.
(any example how to install / invalidate the twin AST after an effective RBParseTreeRewriter operation?)
Yes, but I would do it on a copy⦠that is, do the change in run:with:in: on a copy, generate code from that, keep the original. An AST that follows the text is kind of nice for e.g. navigation.
- Any change to the Twin AST is reflected in the method bytecode (as long as one does invalidate).
yes.
This would mean being able to put tracing code with RB patterns, no? And without having to do a recompilation of the traced method?
Yes. At first I want to have something simple: a MOP based on the MetaLinks. But one could do the same with RB transformations: put them as annotation on the method, then on recompile take them into account. Marcus