dynamobi/dynamobi — Issue #577: [FRG-295] MDR code generation does not correctly handle more than 4 long or double attributes
Author: dynamobi-build
Created: 2011-12-30 03:36:18+00:00
State: open
Labels: Catalog, FRG

[reporter="stephan", created="Tue, 25 Sep 2007 15:34:51 -0500 (GMT-05:00)"]
The current version of Netbeans MDR libraries has a code generation bug.

If more than 5 attributes with type Long or Double and multiplicity 1 exist in a single class (including super classes), the code generation fails because the generated method _createInstance(Object[]) does not compensate for the fact that double and long primitives take up two JVM operand stack slots a piece. With exactly 5 such attributes, the code generation fails intermittently.

Need to take the following actions:

1) Short Term: modify net.sf.farrago.catalog.codegen.FactoryGen to detect the cases that causes errors and fail with a useful error message.

2) Long Term: resurrect a buildable version of MDR and fix the bug