Bug 231187

Summary: Incorrect Bound mismatch compiler error when injecting an interface
Product: [Tools] AspectJ Reporter: Jason Naylor <jason.naylor+eclipse>
Component: CompilerAssignee: aspectj inbox <aspectj-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: aclement
Version: 1.6.0   
Target Milestone: 1.6.1   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
A 4 class 1 aspect project which exposes the bug. none

Description Jason Naylor CLA 2008-05-08 15:38:18 EDT
Created attachment 99363 [details]
A 4 class 1 aspect project which exposes the bug.

Build ID: M20080221-1800

Steps To Reproduce:
1. Create a generic class with a bounded type which extends an interface.
2. Write a non generic class which extends the generic class providing a type that does not yet implement the interface.
3. Create an aspect that causes the type to implement the interface.
4. Note the compile error.


More information:
If the generic type is not bounded there is no error.  

If the generic type is set to the interface which is injected there is no error.

I am attaching a zipped project which exposes the bug.

I am using Eclipse 3.3.2, AJDT 1.5.2.200804241330, AspectJ 1.6.0.20080423100000
Comment 1 Andrew Clement CLA 2008-05-08 17:15:13 EDT
Fix committed - thanks for the simple testcase.

I had to move the parameterization check to after the itds had been applied.  I'm a little surprised we hadn't tested that, but it works now and I've checked without the declare parents that the correct error is still produced.