Summary: | [compiler] Java 1.4 compiler (UI?) incorrectly reports incompatible return type | ||||||
---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Nathan Beyer <nbeyer> | ||||
Component: | Core | Assignee: | Philipe Mulet <philippe_mulet> | ||||
Status: | VERIFIED FIXED | QA Contact: | |||||
Severity: | major | ||||||
Priority: | P3 | ||||||
Version: | 3.2 | ||||||
Target Milestone: | 3.2 M6 | ||||||
Hardware: | PC | ||||||
OS: | Windows XP | ||||||
Whiteboard: | |||||||
Attachments: |
|
Description
Nathan Beyer
2006-02-19 18:23:17 EST
Created attachment 34977 [details]
Zip file containing two projects to demonstrate this issue.
This ZIP contains two Java Projects that demonstrate this issue. These were created on Eclipse 3.2M5 with a default JRE that's Java 5 compliant.
appender-java1_4 - This is the project with the Java 1.4 compliance setting that shows compile errors.
appender-java5 - This is the project (same code) with the Java 5.0 compliance setting that compiles fine.
Bug 81535 is the related one. Its fix was wrong, covariance should require -source 1.5 or better; independantly from compliance, as you correctly observed. In fact, bug 81535 was a consequence of ignoring bridge methods; which got resolved since then; see bug 124943. Change allocation of MethodVerifier15 to be conditionned on source level strictly (instead of compliance level). Fixed. Added MethodVerifierTest#test078. Verified for 3.2 M6 using build I20060327-0010 |