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

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

Issue 910883002: Update mojo sdk to rev 8af2ccff2eee4bfca1043015abee30482a030b30 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Apply 9f87aeadbda22441b7d469e596f7bd7d0d73e2a8 (https://codereview.chromium.org/908973002/) Created 5 years, 10 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: third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl
diff --git a/third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl b/third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl
index a29df078711d5d2666a2883d9440aeadd1896086..8b82f7f404206e492e905bf85c96a6f486628fb8 100644
--- a/third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl
+++ b/third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl
@@ -30,9 +30,10 @@ void Serialize_({{union.name}}Ptr input, mojo::internal::Buffer* buf,
{% for field in union.fields %}
case {{union.name}}::Tag::{{field.name|upper}}:
{% if field.kind|is_string_kind %}
- Serialize_(input_acc.data()->{{field.name}}, buf, &result->data.{{field.name}}.ptr);
+ {{field.kind|cpp_field_type}}* {{field.name}}_ptr = reinterpret_cast<{{field.kind|cpp_field_type}}*>(&result->data.f_{{field.name}});
+ Serialize_(*(input_acc.data()->{{field.name}}), buf, &{{field.name}}_ptr->ptr);
{% else %}
- result->data.{{field.name}} = input_acc.data()->{{field.name}};
+ result->data.f_{{field.name}} = input_acc.data()->{{field.name}};
{%- endif %}
break;
{%- endfor %}
@@ -53,9 +54,10 @@ void Deserialize_(internal::{{union.name}}_Data* input,
case {{union.name}}::Tag::{{field.name|upper}}:
{% if field.kind|is_string_kind %}
result_acc.SwitchActive({{union.name}}::Tag::{{field.name|upper}});
- Deserialize_(input->data.{{field.name}}.ptr, &result_acc.data()->{{field.name}});
+ {{field.kind|cpp_field_type}}* {{field.name}}_ptr = reinterpret_cast<{{field.kind|cpp_field_type}}*>(&input->data.f_{{field.name}});
+ Deserialize_({{field.name}}_ptr->ptr, result_acc.data()->{{field.name}});
{% else %}
- result->set_{{field.name}}(input->data.{{field.name}});
+ result->set_{{field.name}}(input->data.f_{{field.name}});
{%- endif %}
break;
{%- endfor %}

Powered by Google App Engine
This is Rietveld 408576698