[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] Object Graph using aspectj
|
> For situation when any object adds/removes a reference to another object
>
> pointcut assignments(Object assigned, Object to):
>
> set(Object *.*) && args(assigned && target(to) &&
> !within(edu.testing.lib.*) ;
>
> seems to work accepts assignments with in methods. Any suggestions on how to
> do that?
Are you saying that this only works for assignments occurring outside
of methods? So, in initializers and field declarations? Doesn't make
sense. Can you be more specific?
>
> pointcut constructor() : (call(*.new(..)) || call(*.new())) &&
> !within(edu.testing.lib.*) ;
You need to bind these arguments. So, you want to do something like this:
pointcut constructor(Object caller, Object created) : (call(*.new(..))
|| call(*.new())) &&
!within(edu.testing.lib.*) && target(created) && this(caller);
after (Object caller) returning (Object created) : constructor(caller,
created) {
...
}