Summary: | [compiler] IllegalAccessError in presence of synthetic field access | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Philipe Mulet <philippe_mulet> | ||||||||
Component: | Core | Assignee: | Philipe Mulet <philippe_mulet> | ||||||||
Status: | VERIFIED FIXED | QA Contact: | |||||||||
Severity: | normal | ||||||||||
Priority: | P3 | ||||||||||
Version: | 3.5 | ||||||||||
Target Milestone: | 3.5 M3 | ||||||||||
Hardware: | PC | ||||||||||
OS: | Windows XP | ||||||||||
Whiteboard: | |||||||||||
Attachments: |
|
Description
Philipe Mulet
2008-09-30 09:28:19 EDT
Added InnerEmulation#test157-160 Created attachment 113888 [details]
Proposed patch
Added also InnerEmulationTest#test161-164 (for static fields) Released for 3.5M3 Fixed Previous change did break an existing situation like: class XSuper { protected String field; } public class X extends XSuper { protected String field; public static void main(String[] args) { new X().foo(); } void foo() { new Object() { void bar() { X.this.field = "[X#field]"; X.super.field = "[XSuper#field]"; System.out.print("X.this.field=" + X.this.field); System.out.print("X.super.field=" + X.super.field); } }.bar(); } } which should print: X.this.field=[X#field]X.super.field=[XSuper#field] Added InnerEmulationTest#test166-168. Created attachment 114016 [details]
Extra patch
Did the extra patch get released ? Not yet, there is still an issue with it... working on it. Just released the extra patch, but still an issue for: public class X { class Member { private String field = "SUCCESS"; } class SubMember extends Member { void foo() { System.out.println(super.field); } } public static void main(String argv[]) { new X().new SubMember().foo(); } } (we didn't have a test for it) and similar replacing #field with a method: public class X { class Member { private String method() { return "SUCCESS";} } class SubMember extends Member { void foo() { System.out.println(super.method()); } } public static void main(String argv[]) { new X().new SubMember().foo(); } } Added InnerEmulationTest#test170-171 Created attachment 114053 [details]
More patch
Released last portion of the patch All patches released for 3.5M3 Fixed Verified for 3.5M3 using I20081026-2000 build. |