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

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

Issue 2112093002: Mojo C++ bindings: Merge EncodePointers/DecodePointers into Serialize/Deserialize, respectively. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@61_array_fix
Patch Set: . Created 4 years, 5 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
OLDNEW
1 {#- Validates the specified field, which is supposed to be an object 1 {#- Validates the specified field, which is supposed to be an object
2 (struct/array/string/map/union). If it is a union, |union_is_inlined| 2 (struct/array/string/map/union). If it is a union, |union_is_inlined|
3 indicates whether the union is inlined. (Nested unions are not inlined.) 3 indicates whether the union is inlined. (Nested unions are not inlined.)
4 This macro is expanded by the Validate() method. #} 4 This macro is expanded by the Validate() method. #}
5 {%- macro validate_object(field, field_expr, object_name, union_is_inlined) %} 5 {%- macro validate_object(field, field_expr, object_name, union_is_inlined) %}
6 {%- set name = field.name %} 6 {%- set name = field.name %}
7 {%- set kind = field.kind %} 7 {%- set kind = field.kind %}
8 {%- if not kind|is_nullable_kind %} 8 {%- if not kind|is_nullable_kind %}
9 {%- if kind|is_union_kind and union_is_inlined %} 9 {%- if kind|is_union_kind and union_is_inlined %}
10 if (!mojo::internal::ValidateInlinedUnionNonNullable( 10 if (!mojo::internal::ValidateInlinedUnionNonNullable(
11 {{field_expr}}, "null {{name}} field in {{object_name}}", 11 {{field_expr}}, "null {{name}} field in {{object_name}}",
12 validation_context)) { 12 validation_context)) {
13 return false; 13 return false;
14 } 14 }
15 {%- else %} 15 {%- else %}
16 if (!mojo::internal::ValidatePointerNonNullable( 16 if (!mojo::internal::ValidatePointerNonNullable(
17 {{field_expr}}, "null {{name}} field in {{object_name}}", 17 {{field_expr}}, "null {{name}} field in {{object_name}}",
18 validation_context)) { 18 validation_context)) {
19 return false; 19 return false;
20 } 20 }
21 {%- endif %} 21 {%- endif %}
22 {%- endif %} 22 {%- endif %}
23 {%- if kind|is_array_kind or kind|is_string_kind %} 23 {%- if kind|is_array_kind or kind|is_string_kind or kind|is_map_kind %}
24 const mojo::internal::ContainerValidateParams {{name}}_validate_params( 24 const mojo::internal::ContainerValidateParams {{name}}_validate_params(
25 {{kind|get_container_validate_params_ctor_args|indent(6)}}); 25 {{kind|get_container_validate_params_ctor_args|indent(6)}});
26 if (!mojo::internal::ValidateArray({{field_expr}}, validation_context, 26 if (!mojo::internal::ValidateContainer({{field_expr}}, validation_context,
27 &{{name}}_validate_params)) { 27 &{{name}}_validate_params)) {
28 return false;
29 }
30 {%- elif kind|is_map_kind %}
31 const mojo::internal::ContainerValidateParams {{name}}_validate_params(
32 {{kind|get_container_validate_params_ctor_args|indent(6)}});
33 if (!mojo::internal::ValidateMap({{field_expr}}, validation_context,
34 &{{name}}_validate_params)) {
35 return false; 28 return false;
36 } 29 }
37 {%- elif kind|is_struct_kind %} 30 {%- elif kind|is_struct_kind %}
38 if (!mojo::internal::ValidateStruct({{field_expr}}, validation_context)) 31 if (!mojo::internal::ValidateStruct({{field_expr}}, validation_context))
39 return false; 32 return false;
40 {%- elif kind|is_union_kind %} 33 {%- elif kind|is_union_kind %}
41 {%- if union_is_inlined %} 34 {%- if union_is_inlined %}
42 if (!mojo::internal::ValidateInlinedUnion({{field_expr}}, validation_context)) 35 if (!mojo::internal::ValidateInlinedUnion({{field_expr}}, validation_context))
43 return false; 36 return false;
44 {%- else %} 37 {%- else %}
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 73
81 {%- macro validate_field(field, field_expr, object_name, union_is_inlined) %} 74 {%- macro validate_field(field, field_expr, object_name, union_is_inlined) %}
82 {%- if field.kind|is_object_kind -%} 75 {%- if field.kind|is_object_kind -%}
83 {{validate_object(field, field_expr, object_name, union_is_inlined)}} 76 {{validate_object(field, field_expr, object_name, union_is_inlined)}}
84 {%- elif field.kind|is_any_handle_or_interface_kind -%} 77 {%- elif field.kind|is_any_handle_or_interface_kind -%}
85 {{validate_handle_or_interface(field, field_expr, object_name)}} 78 {{validate_handle_or_interface(field, field_expr, object_name)}}
86 {%- elif field.kind|is_enum_kind %} 79 {%- elif field.kind|is_enum_kind %}
87 {{validate_enum(field, field_expr)}} 80 {{validate_enum(field, field_expr)}}
88 {%- endif %} 81 {%- endif %}
89 {%- endmacro %} 82 {%- endmacro %}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698