Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(348)

Unified Diff: mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl

Issue 1065653006: Array and map members for unions. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl
index f1dd0aa16f9b6d5362a63a5da832310a4b07e501..7df17c1fead7dca9d9ca35cc54456bdf3e5ef7f7 100644
--- a/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl
+++ b/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl
@@ -43,6 +43,18 @@ void SerializeUnion_({{union.name}}Ptr input, mojo::internal::Buffer* buf,
Serialize_(*(input_acc.data()->{{field.name}}), buf, &{{field.name}}_ptr->ptr);
{% elif field.kind|is_struct_kind %}
Serialize_(mojo::internal::Forward(*(input_acc.data()->{{field.name}})), buf, &{{field.name}}_ptr->ptr);
+{% elif field.kind|is_array_kind %}
+ const mojo::internal::ArrayValidateParams {{field.name}}_validate_params =
+ {{field.kind|get_array_validate_params|indent(16)}};
+ SerializeArray_(
+ mojo::internal::Forward(*(input_acc.data()->{{field.name}})),
+ buf, &{{field.name}}_ptr->ptr, &{{field.name}}_validate_params);
+{% elif field.kind|is_map_kind %}
+ const mojo::internal::ArrayValidateParams {{field.name}}_validate_params =
+ {{field.kind.value_kind|get_map_validate_params|indent(16)}};
+ SerializeMap_(
+ mojo::internal::Forward(*(input_acc.data()->{{field.name}})),
+ buf, &{{field.name}}_ptr->ptr, &{{field.name}}_validate_params);
{%- endif %}
{% else %}
result->data.f_{{field.name}} = input_acc.data()->{{field.name}};

Powered by Google App Engine
This is Rietveld 408576698