Hello, sorry for answering late⦠last week was less productive than I hoped. There is not yet any documentation as I am busy actually implementing things. What I am working on now (that is, last week) was how to pass parameters to the meta. I now have a design that should work. (things are more difficult as I want to make sure that the mapping between the AST and the text stays correctâ¦) What you can do already is a #before on a whole method *if* that method is not a primitive method (which will work eventually, too). e.g. | sendNode link | sendNode := (ReflectivityExamples>>#exampleMethod) ast. link := MetaLink new metaObject: Transcript; selector: #show:; arguments: #(object). sendNode link: link. now execute: ReflectivityExamples new exampleMethod. What is missing (working on it) 1) #after. This needs to wrap the AST of the method in an #ensure: (Here we need to take care to keep the mapping AST <-> text intactâ¦) 2) promitives. Wrap the compiled Method. 3) pass information to the meta. Right now just #object and #node works. #arguments is the most complex and important. I am working on all this⦠the next I want to get working is the argument passing. Marcus
On 03 Jun 2015, at 16:23, roberto.minelli@usi.ch wrote:
Dear Marcus,
I am following your progresses on Reflectivity and Iâd like to start with a big: THANK YOU!
Having said that, I am wondering whether this is a good point in which I can try (as an alpha tester :) to use it.
What I need to achieve is something similar to a method wrapper, i.e., some code that gets executed before or after a particular method call.
Is something doable at this point? Could you _please_ provide me pointers where to look to understand the Reflectivity framework?
Cheers and thanks in advance, Roberto