Hi,
https://pharo.fogbugz.com/f/cases/15094/Fix-link-invalidation-hook-generation-on-MetaLink
This increment does another pass over invalidation/recompile when setting a
link.
- recompile AST on run:with:in
- install recompiled cm
- fixes for the whole mechanism
add #hook and #metaAwareHook to MetaLink.
After experimenting with the AST transformer, I think I will for now (for
Pharo4)
just do it very simple: add the resulting hook as an annotation (beforeHook) to
the AST node, do name analysis on those and then visit them in the ASTTranslator
to generate code.
This is very easy for “before” links, and the milestone we need for Pharo4 is
just before to support Breakpoints and change-notification on variable access.
Having just one AST is important for text/bc to AST mapping… when transforming
one needs to take care to not destroy all this meta information… so we will
postpone
that to Pharo5.
TODO:
-> hook ASTs need to stored in an annotation after first request
-> visit them in Name analysis
-> visit them before visiting any noise in OCASTTranslator
after that, we should be ready to load the breakpoint package.
Marcus