Unfortunately as per
http://www.eclipse.org/aspectj/doc/released/progguide/semantics-joinPoints.htmlthere
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 <[email protected]>

> 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, 邵津 <[email protected]> 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) returning: this(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
>> [email protected]
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
>
> _______________________________________________
> aspectj-users mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to