From f2f9380c86a762ef0d9410693c61c35567923d63 Mon Sep 17 00:00:00 2001 From: Fraser Crossman Date: Mon, 18 Oct 2021 23:18:36 +0100 Subject: [PATCH] [Java] Prevent generation of enum names when underlying type is long (#6781) (#6895) --- src/idl_gen_java.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/idl_gen_java.cpp b/src/idl_gen_java.cpp index e333ca0ba..0befb184a 100644 --- a/src/idl_gen_java.cpp +++ b/src/idl_gen_java.cpp @@ -355,7 +355,7 @@ class JavaGenerator : public BaseGenerator { code += ";\n"; } - // Generate a generate string table for enum values. + // Generate a string table for enum values. // Problem is, if values are very sparse that could generate really big // tables. Ideally in that case we generate a map lookup instead, but for // the moment we simply don't output a table at all. @@ -363,7 +363,9 @@ class JavaGenerator : public BaseGenerator { // Average distance between values above which we consider a table // "too sparse". Change at will. static const uint64_t kMaxSparseness = 5; - if (range / static_cast(enum_def.size()) < kMaxSparseness) { + if (range / static_cast(enum_def.size()) < kMaxSparseness && + GenTypeBasic(DestinationType(enum_def.underlying_type, false)) != + "long") { code += "\n public static final String"; code += "[] names = { "; auto val = enum_def.Vals().front();