THRIFT-2172 Java compiler allocates optionals array for every struct with an optional field
Patch: Andrew Gaul
diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc
index b8cd930..e978af8 100644
--- a/compiler/cpp/src/generate/t_java_generator.cc
+++ b/compiler/cpp/src/generate/t_java_generator.cc
@@ -1371,7 +1371,7 @@
}
if (optionals > 0) {
- std::string output_string = "private _Fields optionals[] = {";
+ std::string output_string = "private static final _Fields optionals[] = {";
for (m_iter = members.begin(); m_iter != members.end(); ++m_iter) {
if ((*m_iter)->get_req() == t_field::T_OPTIONAL) {
output_string = output_string + "_Fields." + constant_name((*m_iter)->get_name()) + ",";