Hi, I stumbled upon another MetaLink scenario that I am unsure how to implement. I want to track method invocations, with receiver, arguments, selector, and return value (maybe even signaled exception). I can track the method input with a MetaLink installed on an RBMethodNode like this:
MetaLink new metaObject: [ :c | Transcript show: c receiver; show: c method selector; show: c arguments; cr ]; selector: #value:; arguments: #(context). and for returns with a MetaLink on RBReturnNodes like this: MetaLink new metaObject: [ :v | Transcript show: v; cr ]; selector: #value:; arguments: #(value) The problem is though, that not all methods have explicit returns, and some mix explicit returns and self returns. I tried installed an #after MetaLink on a RBMethodNode, but this fails in many cases. Is there any way that I can instrument a method and track receiver, selector, arguments, and returned value (even if self) at the same time? Cheers, Manuel