THRIFT-1922: Inconsistency in optional fields between Java/C# and python
authorJens Geyer <jensg@apache.org>
Tue, 9 Apr 2013 20:35:42 +0000 (22:35 +0200)
committerJens Geyer <jensg@apache.org>
Tue, 9 Apr 2013 20:42:31 +0000 (22:42 +0200)
Patch: Nate Rosenblum

compiler/cpp/src/generate/t_csharp_generator.cc

index 2d72598..f215e30 100644 (file)
@@ -573,6 +573,8 @@ void t_csharp_generator::generate_csharp_struct_definition(ofstream &out, t_stru
         print_const_value(out, "this." + prop_name(*m_iter), t, (*m_iter)->get_value(), true, true);
       } else {
         print_const_value(out, "this._" + (*m_iter)->get_name(), t, (*m_iter)->get_value(), true, true);
+        // Optionals with defaults are marked set
+        indent(out) << "this.__isset." << (*m_iter)->get_name() << " = true;" << endl;
       }
     }
   }