Summary: | Compiler crashes with M4 | ||
---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Brad Miller <brad> |
Component: | Core | Assignee: | Olivier Thomann <Olivier_Thomann> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | major | ||
Priority: | P3 | CC: | A.Spiegelhauer, andreas.kollegger, daveset73, developer98, dominic.seymour, jpatadia, koliver, liane.reiche, pblomberg, Simon.Kent, simon.spalinger, tomq, yannick |
Version: | 2.1 | ||
Target Milestone: | 2.1 M5 | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Whiteboard: |
Description
Brad Miller
2002-12-20 10:53:47 EST
I will investigate. The bug is due to the fact that two synthetic fields share the same index. Therefore we got a null in the synthetic fields arrays and we cannot generate the field info properly. I will see how to fix it. I think the bug is that we put 0 as the index for the assertion synthetic fields instead of synthetics[FIELD].size(). A fix could be to replace: synthField = new SyntheticFieldBinding( "$assertionsDisabled".toCharArray(), //$NON-NLS-1$ BooleanBinding, AccDefault | AccStatic | AccSynthetic | AccFinal, this, Constant.NotAConstant, 0); synthetics[FIELD].put("assertionEmulation", synthField); //$NON-NLS-1$ with: synthField = new SyntheticFieldBinding( "$assertionsDisabled".toCharArray(), //$NON-NLS-1$ BooleanBinding, AccDefault | AccStatic | AccSynthetic | AccFinal, this, Constant.NotAConstant, synthetics[FIELD].size()); synthetics[FIELD].put("assertionEmulation", synthField); //$NON-NLS-1$ in SourceTypeBinding.addSyntheticField(AssertStatement assertStatement, BlockScope blockScope). *** Bug 28819 has been marked as a duplicate of this bug. *** *** Bug 28760 has been marked as a duplicate of this bug. *** *** Bug 28934 has been marked as a duplicate of this bug. *** *** Bug 28953 has been marked as a duplicate of this bug. *** *** Bug 28954 has been marked as a duplicate of this bug. *** *** Bug 28980 has been marked as a duplicate of this bug. *** How did it ever work ? I think it never worked inside an inner class that required its enclosing instance. I will release the fix tomorrow. Fixed and released in 2.1 stream. Regression test added. *** Bug 29031 has been marked as a duplicate of this bug. *** *** Bug 29029 has been marked as a duplicate of this bug. *** *** Bug 29088 has been marked as a duplicate of this bug. *** *** Bug 29197 has been marked as a duplicate of this bug. *** *** Bug 29229 has been marked as a duplicate of this bug. *** *** Bug 29267 has been marked as a duplicate of this bug. *** *** Bug 30232 has been marked as a duplicate of this bug. *** *** Bug 30418 has been marked as a duplicate of this bug. *** *** Bug 30746 has been marked as a duplicate of this bug. *** Verified. |