Chromium Code Reviews| Index: mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_definition.tmpl |
| diff --git a/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_definition.tmpl |
| index 1612bbec9e571e4680dee6e0c06f7a1599915de8..dd9856bd75fd8c60e31c7ef93418a5aaaa88c65d 100644 |
| --- a/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_definition.tmpl |
| +++ b/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_definition.tmpl |
| @@ -14,7 +14,10 @@ void Serialize_({{struct.name}}Ptr input, mojo::internal::Buffer* buf, |
| internal::{{struct.name}}_Data* result = |
| internal::{{struct.name}}_Data::New(buf); |
| {%- for pf in struct.packed.packed_fields %} |
| -{%- if pf.field.kind|is_object_kind %} |
| +{%- if pf.field.kind|is_union_kind %} |
|
yzshen1
2015/02/17 19:34:35
It seems nicer to move this into the "is_object_ki
|
| + internal::{{pf.field.kind.name}}_Data* {{pf.field.name}}_ptr = &result->{{pf.field.name}}; |
| + Serialize_(mojo::internal::Forward(input->{{pf.field.name}}), buf, &{{pf.field.name}}_ptr); |
| +{%- elif pf.field.kind|is_object_kind %} |
| {%- if pf.field.kind|is_array_kind %} |
| mojo::SerializeArray_<{{pf.field.kind|get_array_validate_params|indent(26)}}>( |
| mojo::internal::Forward(input->{{pf.field.name}}), buf, &result->{{pf.field.name}}.ptr); |
| @@ -57,7 +60,9 @@ void Deserialize_(internal::{{struct.name}}_Data* input, |
| if (input) { |
| {{struct.name}}Ptr result({{struct.name}}::New()); |
| {%- for pf in struct.packed.packed_fields %} |
| -{%- if pf.field.kind|is_object_kind %} |
| +{%- if pf.field.kind|is_union_kind %} |
| + Deserialize_(&input->{{pf.field.name}}, &result->{{pf.field.name}}); |
| +{%- elif pf.field.kind|is_object_kind %} |
| Deserialize_(input->{{pf.field.name}}.ptr, &result->{{pf.field.name}}); |
| {%- elif pf.field.kind|is_interface_kind %} |
| if (input->{{pf.field.name}}.is_valid()) |