Summary: | Java Generics code throws a java.lang.NoClassDefFoundError | ||||||
---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Tushar Pokle <tushar.pokle> | ||||
Component: | Core | Assignee: | Philipe Mulet <philippe_mulet> | ||||
Status: | VERIFIED FIXED | QA Contact: | |||||
Severity: | normal | ||||||
Priority: | P3 | ||||||
Version: | 3.1 | ||||||
Target Milestone: | 3.1 M6 | ||||||
Hardware: | PC | ||||||
OS: | Windows XP | ||||||
Whiteboard: | |||||||
Attachments: |
|
Description
Tushar Pokle
2005-03-29 22:00:48 EST
Just to clarify - when I ran the code within eclipse, it was run with JDK 1.5.0_02 as well. The only difference between the two runs was the compiler. Reproduced with I20050329-2000. Created attachment 19303 [details]
Apply on HEAD
Proposed patch.
Fix would be slightly different. Either we use the receiver type erasure to clear the wildcard issue and solve this very problem, or we make the wildcard be able to act as a declaring class; which would better scale to other scenario. Added GenericTypeTest#test568. Actually, first version is better. The second would require to have constant pool name computed for wildcard (from erasure()), and also change the modifiers to reflect AccInterface, which in turn changes type compatibility rules. So opting for first approach. Fixed Will target M6. Verified in I20050331-2000 |