From a0b4409f57461bef7e0266ff46ed9602f3d222c2 Mon Sep 17 00:00:00 2001 From: David Reiss Date: Wed, 8 Oct 2008 04:49:25 +0000 Subject: [PATCH] THRIFT-152. java: Set isset appropriately in structure constructors git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@702697 13f79535-47bb-0310-9956-ffa450edef68 --- compiler/cpp/src/generate/t_java_generator.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc index c9baf686..49d85942 100644 --- a/compiler/cpp/src/generate/t_java_generator.cc +++ b/compiler/cpp/src/generate/t_java_generator.cc @@ -635,7 +635,13 @@ void t_java_generator::generate_java_struct_definition(ofstream &out, for (m_iter = members.begin(); m_iter != members.end(); ++m_iter) { indent(out) << "this." << (*m_iter)->get_name() << " = " << (*m_iter)->get_name() << ";" << endl; - indent(out) << "this.__isset." << (*m_iter)->get_name() << " = true;" << endl; + indent(out) << "this.__isset." << (*m_iter)->get_name() << " = "; + if (type_can_be_null((*m_iter)->get_type())) { + out << "(" << (*m_iter)->get_name() << " != null)"; + } else { + out << "true"; + } + out << ";" << endl; } indent_down(); indent(out) << "}" << endl << endl; -- 2.17.1