On Wed, Sep 9, 2015 at 10:04 PM, Marcus Denker <marcus.denker@inria.fr> wrote:
Hello,
The idea of Reflectivity is to be just that: a way to âhookâ into code without changing the source⦠this is a similar use case like the one described yesterday:
link := MetaLink new metaObject: MyNotifyer; selector: #notifyChangedVaNamed:; arguments: #(name).
Ah, this is really cool and powerful, thanks! I imagine in time tools will be built to have better control of this (for example now stack trace in debugger looks really magical (suddenly there's a frame from nowhere)), but all in time. Now when code is recompiled (loaded), you need to re-install the links in
those methods, it does not happen automatically.
Are there any scenarios when method is recompiled during regular Pharo run and without user's invocation? In other words, if I install the links after the package has been loaded/updated and I will not be changing the code, will I be safe? Also I am little bit scared that without tools I am brewing a recipe for disaster, because this is very powerful and not controlled... maybe I should do real AST rewrites and recompile instead... or investigate if I can somehow annotate Nautilus and debugger to show the links... hmm... Peter