From d61d97c097947e9aabbb5edc3a2ac5cd92cddae3 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@41a61cd8-c433-0410-bb1c-e256eeef9e11> Date: Tue, 18 Dec 2007 02:57:30 +0000 Subject: [PATCH] r1415@opsdev009 (orig r74655): dreiss | 2007-12-17 18:54:06 -0800 Thrift: Make default values for base types work in Java. Summary: The Java generator wasn't setting default values for base types in the zero argument constructor. This check was probably brought over from the C++ generator, where base types are given their default values in the member variable initializer list (or whatever that thing is called). Blame Rev: Somewhere in the mysterious past. I tried to find it, but failed. Reviewed By: mcslee Test Plan: Recompiled Thrift and thrifted a file that showed the bug. Revert Plan: ok Other Notes: Bug reported by Jake Luciani. git-svn-id: http://svn.facebook.com/svnroot/thrift/trunk@726 41a61cd8-c433-0410-bb1c-e256eeef9e11 --- compiler/cpp/src/generate/t_java_generator.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc index 93c2fc9..b49a005 100644 --- a/compiler/cpp/src/generate/t_java_generator.cc +++ b/compiler/cpp/src/generate/t_java_generator.cc @@ -400,7 +400,7 @@ void t_java_generator::generate_java_struct_definition(ofstream &out, indent_up(); for (m_iter = members.begin(); m_iter != members.end(); ++m_iter) { t_type* t = get_true_type((*m_iter)->get_type()); - if (!t->is_base_type() && (*m_iter)->get_value() != NULL) { + if ((*m_iter)->get_value() != NULL) { print_const_value(out, "this." + (*m_iter)->get_name(), t, (*m_iter)->get_value(), true, true); } } -- 2.11.4.GIT