Bug 265695

Summary: Fix for 239441 introduces terrible regression for annotation pointcut matching
Product: [Tools] AspectJ Reporter: Andrew Clement <aclement>
Component: CompilerAssignee: aspectj inbox <aspectj-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: P2    
Version: DEVELOPMENT   
Target Milestone: 1.6.4   
Hardware: PC   
OS: Windows Vista   
Whiteboard:

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