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

Side by Side Diff: mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_definition.tmpl

Issue 488123003: Mojo cpp bindings: remove IsNonNullableValidationEnabled() check (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 size_t GetSerializedSize_(const {{struct.name}}Ptr& input) { 1 size_t GetSerializedSize_(const {{struct.name}}Ptr& input) {
2 if (!input) 2 if (!input)
3 return 0; 3 return 0;
4 size_t size = sizeof(internal::{{struct.name}}_Data); 4 size_t size = sizeof(internal::{{struct.name}}_Data);
5 {%- for pf in struct.packed.packed_fields if pf.field.kind|is_object_kind %} 5 {%- for pf in struct.packed.packed_fields if pf.field.kind|is_object_kind %}
6 size += GetSerializedSize_(input->{{pf.field.name}}); 6 size += GetSerializedSize_(input->{{pf.field.name}});
7 {%- endfor %} 7 {%- endfor %}
8 return size; 8 return size;
9 } 9 }
10 10
11 void Serialize_({{struct.name}}Ptr input, mojo::internal::Buffer* buf, 11 void Serialize_({{struct.name}}Ptr input, mojo::internal::Buffer* buf,
12 internal::{{struct.name}}_Data** output) { 12 internal::{{struct.name}}_Data** output) {
13 if (input) { 13 if (input) {
14 internal::{{struct.name}}_Data* result = 14 internal::{{struct.name}}_Data* result =
15 internal::{{struct.name}}_Data::New(buf); 15 internal::{{struct.name}}_Data::New(buf);
16 {%- for pf in struct.packed.packed_fields %} 16 {%- for pf in struct.packed.packed_fields %}
17 {%- if pf.field.kind|is_object_kind %} 17 {%- if pf.field.kind|is_object_kind %}
18 {%- if pf.field.kind|is_any_array_kind %} 18 {%- if pf.field.kind|is_any_array_kind %}
19 mojo::SerializeArray_<{{pf.field.kind|get_array_validate_params|indent(26)}} >( 19 mojo::SerializeArray_<{{pf.field.kind|get_array_validate_params|indent(26)}} >(
20 mojo::internal::Forward(input->{{pf.field.name}}), buf, &result->{{pf.fi eld.name}}.ptr); 20 mojo::internal::Forward(input->{{pf.field.name}}), buf, &result->{{pf.fi eld.name}}.ptr);
21 {%- else %} 21 {%- else %}
22 Serialize_(mojo::internal::Forward(input->{{pf.field.name}}), buf, &result-> {{pf.field.name}}.ptr); 22 Serialize_(mojo::internal::Forward(input->{{pf.field.name}}), buf, &result-> {{pf.field.name}}.ptr);
23 {%- endif %} 23 {%- endif %}
24 {%- if not pf.field.kind|is_nullable_kind %} 24 {%- if not pf.field.kind|is_nullable_kind %}
25 MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( 25 MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
26 mojo::internal::IsNonNullableValidationEnabled() && 26 !result->{{pf.field.name}}.ptr,
27 !result->{{pf.field.name}}.ptr,
28 mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER); 27 mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER);
29 {%- endif %} 28 {%- endif %}
30 {%- elif pf.field.kind|is_any_handle_kind %} 29 {%- elif pf.field.kind|is_any_handle_kind %}
31 {%- if pf.field.kind|is_interface_kind %} 30 {%- if pf.field.kind|is_interface_kind %}
32 result->{{pf.field.name}} = input->{{pf.field.name}}.PassMessagePipe().relea se(); 31 result->{{pf.field.name}} = input->{{pf.field.name}}.PassMessagePipe().relea se();
33 {%- else %} 32 {%- else %}
34 result->{{pf.field.name}} = input->{{pf.field.name}}.release(); 33 result->{{pf.field.name}} = input->{{pf.field.name}}.release();
35 {%- endif %} 34 {%- endif %}
36 {%- if not pf.field.kind|is_nullable_kind %} 35 {%- if not pf.field.kind|is_nullable_kind %}
37 MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( 36 MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
38 mojo::internal::IsNonNullableValidationEnabled() && 37 !result->{{pf.field.name}}.is_valid(),
39 !result->{{pf.field.name}}.is_valid(),
40 mojo::internal::VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE); 38 mojo::internal::VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE);
41 {%- endif %} 39 {%- endif %}
42 {%- else %} 40 {%- else %}
43 result->{{pf.field.name}} = input->{{pf.field.name}}; 41 result->{{pf.field.name}} = input->{{pf.field.name}};
44 {%- endif %} 42 {%- endif %}
45 {%- endfor %} 43 {%- endfor %}
46 *output = result; 44 *output = result;
47 } else { 45 } else {
48 *output = NULL; 46 *output = NULL;
49 } 47 }
(...skipping 16 matching lines...) Expand all
66 input->{{pf.field.name}}); 64 input->{{pf.field.name}});
67 {%- else %} 65 {%- else %}
68 result->{{pf.field.name}} = input->{{pf.field.name}}; 66 result->{{pf.field.name}} = input->{{pf.field.name}};
69 {%- endif %} 67 {%- endif %}
70 {%- endfor %} 68 {%- endfor %}
71 *output = result.Pass(); 69 *output = result.Pass();
72 } else { 70 } else {
73 output->reset(); 71 output->reset();
74 } 72 }
75 } 73 }
OLDNEW
« no previous file with comments | « mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698