Summary: | [compiler] Internal references to static inner classes fail in presence of assert keyword | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Eddie Galvez <egalvez> | ||||||||||||
Component: | Core | Assignee: | Olivier Thomann <Olivier_Thomann> | ||||||||||||
Status: | VERIFIED FIXED | QA Contact: | |||||||||||||
Severity: | normal | ||||||||||||||
Priority: | P3 | CC: | philippe_mulet, tibbetts+eclipse | ||||||||||||
Version: | 3.2 | ||||||||||||||
Target Milestone: | 3.2.2 | ||||||||||||||
Hardware: | PC | ||||||||||||||
OS: | All | ||||||||||||||
Whiteboard: | |||||||||||||||
Attachments: |
|
Description
Eddie Galvez
2006-11-06 16:41:47 EST
Created attachment 53334 [details]
Test case
Could you please provide your output? I could not see anything wrong so far. Here's what I just did: New Java Project, default options everywhere (my ws had Java JDK 1.5.0_6 as its default). Imported Chicken.java, moved to package. Run as Java Application: Expecting class Foo Got the class class org.innocuous.Chicken$Foo Expecting class Bar Got the class class org.innocuous.Chicken Look at the code. It should not have gotten Chicken in the second test case. I get: Expecting class Foo Got the class class org.innocuous.Chicken$Foo Expecting class Bar Got the class class org.innocuous.Chicken$Bar using HEAD. I'll check with 3.2.0. Could you please zip your project and attach it to this bug report? Thanks. Created attachment 53385 [details]
Project with test case, from Eclipse 3.2.1, windows.
Reproduced. I am investigating. This is a regression introduced with fix for bug 157389. This should be backported to 3.2.2. I am working on a fix. Thanks for the bug report and the time you spent to provide steps to reproduce. Created attachment 53405 [details]
Proposed fix
This patch adds all class literal synthetic fields to the outermost enclosing type and it makes a consistent usage of the source type on which the synthetic field is added.
We were wrongly sharing the same synthetic field for org.innocuous.Chicken.class and org.innocuous.Chicken$Bar.class.
+1 for 3.2.2 Released for 3.3M4. Created attachment 53523 [details]
Proposed fix
Proposed fix for 3.2 maintenance stream.
Created attachment 53524 [details]
Regression tests for 3.2 maintenance branch
Released for 3.2.2. Verified for 3.2.2 using build M20070112-1200. (Was only is status whiteboard: frederic_fusier@fr.ibm.com 2006-12-13 03:25:18 Status Whiteboard Verified for 3.3 M4 using build I20061212-0010.) |