"When the method signature of a call _expression_ specifies a constructor, this will provide the instance (if the call is being made from a nonstatic context) of the object making the constructor call. target is always unbound—this means attempts to use it to match on a type or expose the target of the call will leave you with a pointcut that does not match the constructor call."
So, is it then at all possible to write a pointcut that both captures the instance of the calling object and the instance of the object just created?
i.e
What I really want to write is this:
pointcut newEventSource(ModelChangeEventSource source, ModelChangeEventSource listener) :
call(ModelChangeEventSource+.new(..)) &&
this(listener+) &&
target(source+) &&
within(*.core.model.*);
after (OntoModelChangeEventSource source, OntoModelChangeEventSource listener) returning :
newEventSource(source, listener)
{
source.addModelChangeListener(new ChangeListener (listener));
}
This basically says (or at least should say) if any event source instantiates any new event source, then add the first source as a listener to the newly created source.
This is for purposes of event propagation between event sources inside a domain model.
Thanks
-HC
_______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
