| OLD | NEW |
| 1 size_t GetSerializedSize_(const {{union.name}}Ptr& input, bool inlined) { | 1 size_t GetSerializedSize_(const {{union.name}}Ptr& input, bool inlined) { |
| 2 size_t size = 0U; | 2 size_t size = 0U; |
| 3 if (!inlined) { | 3 if (!inlined) { |
| 4 size += sizeof(internal::{{union.name}}_Data); | 4 size += sizeof(internal::{{union.name}}_Data); |
| 5 } | 5 } |
| 6 | 6 |
| 7 if (!input) | 7 if (!input) |
| 8 return size; | 8 return size; |
| 9 | 9 |
| 10 mojo::internal::UnionAccessor<{{union.name}}> input_acc(input.get()); | 10 mojo::internal::UnionAccessor<{{union.name}}> input_acc(input.get()); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 result->tag = input->which(); | 36 result->tag = input->which(); |
| 37 switch (input->which()) { | 37 switch (input->which()) { |
| 38 {% for field in union.fields %} | 38 {% for field in union.fields %} |
| 39 case {{union.name}}::Tag::{{field.name|upper}}: { | 39 case {{union.name}}::Tag::{{field.name|upper}}: { |
| 40 {% if field.kind|is_object_kind %} | 40 {% if field.kind|is_object_kind %} |
| 41 {{field.kind|cpp_field_type}}* {{field.name}}_ptr = reinterpret_cast<{{f
ield.kind|cpp_field_type}}*>(&result->data.f_{{field.name}}); | 41 {{field.kind|cpp_field_type}}* {{field.name}}_ptr = reinterpret_cast<{{f
ield.kind|cpp_field_type}}*>(&result->data.f_{{field.name}}); |
| 42 {% if field.kind|is_string_kind %} | 42 {% if field.kind|is_string_kind %} |
| 43 Serialize_(*(input_acc.data()->{{field.name}}), buf, &{{field.name}}_ptr
->ptr); | 43 Serialize_(*(input_acc.data()->{{field.name}}), buf, &{{field.name}}_ptr
->ptr); |
| 44 {% elif field.kind|is_struct_kind %} | 44 {% elif field.kind|is_struct_kind %} |
| 45 Serialize_(mojo::internal::Forward(*(input_acc.data()->{{field.name}})),
buf, &{{field.name}}_ptr->ptr); | 45 Serialize_(mojo::internal::Forward(*(input_acc.data()->{{field.name}})),
buf, &{{field.name}}_ptr->ptr); |
| 46 {% elif field.kind|is_array_kind %} |
| 47 const mojo::internal::ArrayValidateParams {{field.name}}_validate_params
= |
| 48 {{field.kind|get_array_validate_params|indent(16)}}; |
| 49 SerializeArray_( |
| 50 mojo::internal::Forward(*(input_acc.data()->{{field.name}})), |
| 51 buf, &{{field.name}}_ptr->ptr, &{{field.name}}_validate_params); |
| 52 {% elif field.kind|is_map_kind %} |
| 53 const mojo::internal::ArrayValidateParams {{field.name}}_validate_params
= |
| 54 {{field.kind.value_kind|get_map_validate_params|indent(16)}}; |
| 55 SerializeMap_( |
| 56 mojo::internal::Forward(*(input_acc.data()->{{field.name}})), |
| 57 buf, &{{field.name}}_ptr->ptr, &{{field.name}}_validate_params); |
| 46 {%- endif %} | 58 {%- endif %} |
| 47 {% else %} | 59 {% else %} |
| 48 result->data.f_{{field.name}} = input_acc.data()->{{field.name}}; | 60 result->data.f_{{field.name}} = input_acc.data()->{{field.name}}; |
| 49 {%- endif %} | 61 {%- endif %} |
| 50 break; | 62 break; |
| 51 } | 63 } |
| 52 {%- endfor %} | 64 {%- endfor %} |
| 53 } | 65 } |
| 54 } else if (inlined) { | 66 } else if (inlined) { |
| 55 result->set_null(); | 67 result->set_null(); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 76 {%- endif %} | 88 {%- endif %} |
| 77 break; | 89 break; |
| 78 } | 90 } |
| 79 {%- endfor %} | 91 {%- endfor %} |
| 80 } | 92 } |
| 81 *output = result.Pass(); | 93 *output = result.Pass(); |
| 82 } else { | 94 } else { |
| 83 output->reset(); | 95 output->reset(); |
| 84 } | 96 } |
| 85 } | 97 } |
| OLD | NEW |