indent(out) <<
"TStruct struc = new TStruct(\"" << name << "\");" << endl;
- indent(out) <<
- "TField field = new TField();" << endl;
indent(out) <<
"oprot.WriteStructBegin(struc);" << endl;
- for (f_iter = fields.begin(); f_iter != fields.end(); ++f_iter) {
- bool null_allowed = type_can_be_null((*f_iter)->get_type());
- if (null_allowed) {
- indent(out) <<
- "if (this." << (*f_iter)->get_name() << " != null) {" << endl;
- indent_up();
- }
+ if (fields.size() > 0) {
+ indent(out) << "TField field = new TField();" << endl;
+ for (f_iter = fields.begin(); f_iter != fields.end(); ++f_iter) {
+ bool null_allowed = type_can_be_null((*f_iter)->get_type());
+ if (null_allowed) {
+ indent(out) <<
+ "if (this." << (*f_iter)->get_name() << " != null) {" << endl;
+ indent_up();
+ }
- indent(out) <<
- "field.Name = \"" << (*f_iter)->get_name() << "\";" << endl;
- indent(out) <<
- "field.Type = " << type_to_enum((*f_iter)->get_type()) << ";" << endl;
- indent(out) <<
- "field.ID = " << (*f_iter)->get_key() << ";" << endl;
- indent(out) <<
- "oprot.WriteFieldBegin(field);" << endl;
+ indent(out) <<
+ "field.Name = \"" << (*f_iter)->get_name() << "\";" << endl;
+ indent(out) <<
+ "field.Type = " << type_to_enum((*f_iter)->get_type()) << ";" << endl;
+ indent(out) <<
+ "field.ID = " << (*f_iter)->get_key() << ";" << endl;
+ indent(out) <<
+ "oprot.WriteFieldBegin(field);" << endl;
- generate_serialize_field(out, *f_iter, "this.");
+ generate_serialize_field(out, *f_iter, "this.");
- indent(out) <<
- "oprot.WriteFieldEnd();" << endl;
+ indent(out) <<
+ "oprot.WriteFieldEnd();" << endl;
- if (null_allowed) {
- indent_down();
- indent(out) << "}" << endl;
+ if (null_allowed) {
+ indent_down();
+ indent(out) << "}" << endl;
+ }
}
}
indent(out) <<
"TStruct struc = new TStruct(\"" << name << "\");" << endl;
- indent(out) <<
- "TField field = new TField();" << endl;
indent(out) <<
"oprot.WriteStructBegin(struc);" << endl;
- bool first = true;
- for (f_iter = fields.begin(); f_iter != fields.end(); ++f_iter) {
- if (first) {
- first = false;
- out <<
- endl << indent() << "if ";
- } else {
+ if (fields.size() > 0) {
+ indent(out) << "TField field = new TField();" << endl;
+ bool first = true;
+ for (f_iter = fields.begin(); f_iter != fields.end(); ++f_iter) {
+ if (first) {
+ first = false;
+ out <<
+ endl << indent() << "if ";
+ } else {
+ out <<
+ " else if ";
+ }
+
out <<
- " else if ";
- }
+ "(this.__isset." << (*f_iter)->get_name() << ") {" << endl;
+ indent_up();
- out <<
- "(this.__isset." << (*f_iter)->get_name() << ") {" << endl;
- indent_up();
+ bool null_allowed = type_can_be_null((*f_iter)->get_type());
+ if (null_allowed) {
+ indent(out) <<
+ "if (this." << (*f_iter)->get_name() << " != null) {" << endl;
+ indent_up();
+ }
- bool null_allowed = type_can_be_null((*f_iter)->get_type());
- if (null_allowed) {
indent(out) <<
- "if (this." << (*f_iter)->get_name() << " != null) {" << endl;
- indent_up();
- }
+ "field.Name = \"" << (*f_iter)->get_name() << "\";" << endl;
+ indent(out) <<
+ "field.Type = " << type_to_enum((*f_iter)->get_type()) << ";" << endl;
+ indent(out) <<
+ "field.ID = " << (*f_iter)->get_key() << ";" << endl;
+ indent(out) <<
+ "oprot.WriteFieldBegin(field);" << endl;
- indent(out) <<
- "field.Name = \"" << (*f_iter)->get_name() << "\";" << endl;
- indent(out) <<
- "field.Type = " << type_to_enum((*f_iter)->get_type()) << ";" << endl;
- indent(out) <<
- "field.ID = " << (*f_iter)->get_key() << ";" << endl;
- indent(out) <<
- "oprot.WriteFieldBegin(field);" << endl;
+ generate_serialize_field(out, *f_iter, "this.");
- generate_serialize_field(out, *f_iter, "this.");
+ indent(out) <<
+ "oprot.WriteFieldEnd();" << endl;
- indent(out) <<
- "oprot.WriteFieldEnd();" << endl;
+ if (null_allowed) {
+ indent_down();
+ indent(out) << "}" << endl;
+ }
- if (null_allowed) {
indent_down();
- indent(out) << "}" << endl;
+ indent(out) << "}";
}
-
- indent_down();
- indent(out) << "}";
}
out <<