THRIFT-1924: Delphi: Inconsistency in serialization of optional fields
authorJens Geyer <jensg@apache.org>
Wed, 24 Apr 2013 19:53:39 +0000 (21:53 +0200)
committerJens Geyer <jensg@apache.org>
Wed, 24 Apr 2013 19:53:39 +0000 (21:53 +0200)
Patch: Jens Geyer

compiler/cpp/src/generate/t_delphi_generator.cc

index 60b98df..0fc9c06 100644 (file)
@@ -960,6 +960,9 @@ void t_delphi_generator::generate_delphi_struct_impl( ostream& out, string cls_p
     }
     if ((*m_iter)->get_value() != NULL) {
       initialize_field( vars, code, "F" + prop_name( (*m_iter)->get_name(), is_exception), t, (*m_iter)->get_value());
+      if ((*m_iter)->get_req() != t_field::T_REQUIRED) {
+        indent_impl(code) << "F__isset_" << prop_name((*m_iter), is_exception) << " := True;" << endl;
+      }
     }
   }
   indent_down_impl();