Summary: | Declare soft does not match call pointcuts with annotations in another class, when -sourceroots is used | ||||||
---|---|---|---|---|---|---|---|
Product: | [Tools] AspectJ | Reporter: | Robert Dyer <psybers> | ||||
Component: | Compiler | Assignee: | aspectj inbox <aspectj-inbox> | ||||
Status: | RESOLVED FIXED | QA Contact: | |||||
Severity: | normal | ||||||
Priority: | P3 | CC: | aclement | ||||
Version: | unspecified | ||||||
Target Milestone: | 1.6.9M2 | ||||||
Hardware: | PC | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Attachments: |
|
Description
Robert Dyer
2010-03-24 22:57:46 EDT
Created attachment 162940 [details]
Test case to reproduce bug.
Make sure you compile this test case as "ajc -1.5 -sourceroots ." to reproduce.
If you compile it as "ajc -1.5 *.aj *.java" it works fine!
Also note that if the pointcut is changed to match by name, it works with both compilation methods.
i suspect it will be a compilation ordering issue (as you kind of confirm by saying *.aj *.java works normally). The type containing the annotation being processed before or after the type containing the joinpoint will be the issue. i'll try and get to it for 1.6.9 - thanks for the testcase. I can confirm it is an ordering problem. rdyer@narmada:~/bug$ ajc -1.5 Test.java Test2.java Ann.java Bug.aj rdyer@narmada:~/bug$ ajc -1.5 Test2.java Test.java Ann.java Bug.aj /home/rdyer/bug/Test.java:4 [error] Unhandled exception type Exception new Test2().m2(); ^^^^^^^^^^^^^ 1 error test and fix committed. thanks for the testcase! |