Bug 265695 - Fix for 239441 introduces terrible regression for annotation pointcut matching
Summary: Fix for 239441 introduces terrible regression for annotation pointcut matching
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: PC Windows Vista
: P2 critical (vote)
Target Milestone: 1.6.4   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-20 14:01 EST by Andrew Clement CLA
Modified: 2009-02-23 12:19 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Clement CLA 2009-02-20 14:01:48 EST
Can't believe we didn't have tests for this situation.

The fix for 239441 broke some annotation matching cases:

interface I {
 @Foo void m();
}

class C implements I {
  void m() {}
}


With the breakage, this matches C.m()
  execution(@Foo I.m())

but this does not
  execution(@Foo I+.m())

Adding testcases, refixing 239441 and getting this sorted out properly.
Comment 1 Andrew Clement CLA 2009-02-20 14:02:22 EST
I should add that neither of those pointcuts should match because C.m() does not have the annotation.
Comment 2 Andrew Clement CLA 2009-02-20 15:58:37 EST
fixed and tested.
Comment 3 Andrew Clement CLA 2009-02-23 12:19:55 EST
done