2016-04-26 15:07 GMT+02:00 Esteban Lorenzano <estebanlm@gmail.com>:
it is not what MetaLinks are for?
I think is easier than Ghost nowadays��� but not sure :)

look at��

ReflectivityControlTest>>testBeforeSend

seems to be installing an interception ���before send���, who is what you are asking for.

It depends if it is an interception before send or an interception before receive ;)

If one is to change the method lookup, then this is done at the receiver end of the message send, and, then, I think a ghost is more appropriate. Or metalinks upon entry to the receiver method (i.e. method wrappers type of thing).

Thierry
��

Esteban

ps: but I might be wrong��� Marcus can explain better :)


On 26 Apr 2016, at 14:50, Thierry Goubier <thierry.goubier@gmail.com> wrote:

Hi Steven,

2016-04-26 14:39 GMT+02:00 Steven Costiou <steven.costiou@kloum.io>:

Hello,

i am not new to Pharo nor to the list but this is the first time i speak here, so : hi =)

��

I started a phd a few month ago (with Alain Plantec) on context oriented programming and dynamic programs adaptation. I am using Pharo for my experiments and i would like to intercept messages sent to an object just before they get to their receiver. To be more specific, when #msg is sent to an object o, i want to be able to intercept it just before it is actually executed with the following objects at my disposal : the receiver (o), the message or selector, the sender. My objective by doing that is to (try to) change the lookup for a given method, and to be able to choose in which class the lookup will start.

��

I have been looking a bit and it does not seem to be a "simple" way to do that in Pharo. Is that even possible and if so, any advice on where i should look ?

The easiest would be to use proxy or ghost objects, which catches all message sends to a proxy of the real object and let you decide what to do with them. A recent announcement on Ghosts for Pharo 5 was done, maybe starting with that could be an idea.


For old timers: wasn't Actalk done that way ?

Thierry
��
��

Thanks,

Steven.