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