Fix valid params limit exceeded for generated table constructor (#4490)

This commit is contained in:
Angela Sheu 2017-11-13 13:39:49 -08:00 committed by Wouter van Oortmerssen
parent d233b38008
commit 61fe2a4fac
1 changed files with 3 additions and 1 deletions

View File

@ -1182,7 +1182,9 @@ void GenStruct(StructDef &struct_def, std::string *code_ptr) {
num_fields++; num_fields++;
} }
} }
if (has_no_struct_fields && num_fields) { // JVM specifications restrict default constructor params to be < 255.
// Longs and doubles take up 2 units, so we set the limit to be < 127.
if (has_no_struct_fields && num_fields && num_fields < 127) {
// Generate a table constructor of the form: // Generate a table constructor of the form:
// public static int createName(FlatBufferBuilder builder, args...) // public static int createName(FlatBufferBuilder builder, args...)
code += " public static " + GenOffsetType(struct_def) + " "; code += " public static " + GenOffsetType(struct_def) + " ";