Summary: | Compiler bug or java 'feature' ? | ||
---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Luc Bourlier <eclipse> |
Component: | Core | Assignee: | Philipe Mulet <philippe_mulet> |
Status: | RESOLVED WORKSFORME | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | ||
Version: | 2.0 | ||
Target Milestone: | 2.1 M2 | ||
Hardware: | PC | ||
OS: | Linux | ||
Whiteboard: |
Description
Luc Bourlier
2002-10-04 12:34:54 EDT
This is a known limitation of innerclass emulations, due to the fact that most VMs forbide initializing synthetic slots (this$0) prior to performing super constructor calls. This is precisely the scenario you are running into. Newer VMs will no longer reject code where synthetics are initialized before the super call, therefore if you toggle our compiler in 1.4 compliant mode, it will produce bytecodes doing the proper generation. If toggling our compiler in 1.4 mode, you'll be able to run on 1.4 JREs and get: foo Test ... Closing |