From 61fe2a4fac7e735b90876f7c8efa28adda2886fc Mon Sep 17 00:00:00 2001 From: Angela Sheu Date: Mon, 13 Nov 2017 13:39:49 -0800 Subject: [PATCH] Fix valid params limit exceeded for generated table constructor (#4490) --- src/idl_gen_general.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/idl_gen_general.cpp b/src/idl_gen_general.cpp index d0a7c6d81..03293005f 100644 --- a/src/idl_gen_general.cpp +++ b/src/idl_gen_general.cpp @@ -1182,7 +1182,9 @@ void GenStruct(StructDef &struct_def, std::string *code_ptr) { 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: // public static int createName(FlatBufferBuilder builder, args...) code += " public static " + GenOffsetType(struct_def) + " ";