Summary: | Incorrect Bound mismatch compiler error when injecting an interface | ||||||
---|---|---|---|---|---|---|---|
Product: | [Tools] AspectJ | Reporter: | Jason Naylor <jason.naylor+eclipse> | ||||
Component: | Compiler | Assignee: | 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: |
|
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. |
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