Summary: | [compiler] Fup of bug 171184, wrong modifiers for inner class info | ||||||
---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Olivier Thomann <Olivier_Thomann> | ||||
Component: | Core | Assignee: | Olivier Thomann <Olivier_Thomann> | ||||
Status: | VERIFIED INVALID | QA Contact: | |||||
Severity: | normal | ||||||
Priority: | P3 | CC: | eclipsebugs, philippe_mulet | ||||
Version: | 3.3 | ||||||
Target Milestone: | 3.3 M5 | ||||||
Hardware: | PC | ||||||
OS: | Windows XP | ||||||
Whiteboard: | |||||||
Attachments: |
|
Description
Olivier Thomann
2007-01-25 22:49:25 EST
If you check with javac 1.3.1, 1.4.2 and 1.5.0, the anonymous class is not set as final. With 1.6 it is set as final. I'll try to get more details to know why this has been changed. We change the behavior that we had for bug 162296. But it seems that JDK6 agrees with what we had before. So we might want to revisit the fix for bug 162296. We were right to remove the private bit, but we should not clear the final bit if the target jdk is greater or equals to 1.6. Philippe, Any comment? Peter, could you please confirm you are using a 1.6 JDK? Ok by me. Looking at http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4777101, I wonder if this is not a bug introduced in JDK6. So even if the fix is trivial, I am not sure we should align with the javac behavior. Yes, I am using JDK 1.6.0. Regarding http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4777101, I don't believe we should change anything. So JODE should not expect final to be set. I'll keep investigating why this has changed since 1.6. Created attachment 57609 [details]
Proposed fix
This requires update in the existing test.
org.eclipse.jdt.core.tests.compiler.regression.InnerEmulationTest#test149
According to http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6520152, this is a bug in javac. So I'll preserve our existing behavior and I will add a regression test to make sure that we won't introduce this bug. Added regression test org.eclipse.jdt.core.tests.compiler.regression.InnerEmulationTest#test149 Closing as INVALID. |