Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] How to get an initialized instance reference from constructor pointcut?

Unfortunately as per http://www.eclipse.org/aspectj/doc/released/progguide/semantics-joinPoints.html there is no target for the constructor call join point.  But if you remove target completely from Andrews suggestion, you get something that will work:

after() returning (ArrayList l): call(ArrayList.new(..)) {

    ...

}

Andy.

2009/7/2 Andrew Eisenberg <andrew@xxxxxxxxxxxx>
Tahir's right about the second case.

In the first case, though you need to bind the 'l' to something.  So, try this:

after() returning (ArrayList l): call(ArrayList.new(..)) && target(l) {

    ...

}




On Wed, Jul 1, 2009 at 10:36 PM, 邵津 <shaojinvivian@xxxxxxxxx> wrote:
Hi, everyone.
I'm using aspectJ to help me get an initialized instance reference after its constructor called. 

At first, I wrote some code like this:

after() returning (ArrayList l): call(ArrayList.new(..))

but the reference l I got seems not be initialized yet.

This is the first rule mentioned in http://dev.eclipse.org/mhonarc/lists/aspectj-users/msg00019.html


Then I changed my code into this:

after(ArrayList l) returningthis(l) &&execution(ArrayList.new(..))

(which is written according to the second rule mentioned in msg00019)

but this time, no matched join point has been found in the program...


My question is : how can I get an initialized instance reference using AspectJ?


Thanks very much!



Vivian

--
Jin Shao

_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users



_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users



Back to the top