OLD | NEW |
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 return false; | 12 return false; |
13 } | 13 } |
14 {%- else %} | 14 {%- else %} |
15 if (!mojo::internal::ValidatePointerNonNullable( | 15 if (!mojo::internal::ValidatePointerNonNullable( |
16 {{field_expr}}, "null {{name}} field in {{object_name}}")) { | 16 {{field_expr}}, "null {{name}} field in {{object_name}}")) { |
17 return false; | 17 return false; |
18 } | 18 } |
19 {%- endif %} | 19 {%- endif %} |
20 {%- endif %} | 20 {%- endif %} |
21 {%- if kind|is_array_kind or kind|is_string_kind %} | 21 {%- if kind|is_array_kind or kind|is_string_kind %} |
22 const mojo::internal::ArrayValidateParams {{name}}_validate_params( | 22 const mojo::internal::ContainerValidateParams {{name}}_validate_params( |
23 {{kind|get_array_validate_params_ctor_args|indent(6)}}); | 23 {{kind|get_container_validate_params_ctor_args|indent(6)}}); |
24 if (!mojo::internal::ValidateArray({{field_expr}}, bounds_checker, | 24 if (!mojo::internal::ValidateArray({{field_expr}}, bounds_checker, |
25 &{{name}}_validate_params)) { | 25 &{{name}}_validate_params)) { |
26 return false; | 26 return false; |
27 } | 27 } |
28 {%- elif kind|is_map_kind %} | 28 {%- elif kind|is_map_kind %} |
29 const mojo::internal::ArrayValidateParams {{name}}_validate_params( | 29 const mojo::internal::ContainerValidateParams {{name}}_validate_params( |
30 {{kind|get_array_validate_params_ctor_args|indent(6)}}); | 30 {{kind|get_container_validate_params_ctor_args|indent(6)}}); |
31 if (!mojo::internal::ValidateMap({{field_expr}}, bounds_checker, | 31 if (!mojo::internal::ValidateMap({{field_expr}}, bounds_checker, |
32 &{{name}}_validate_params)) { | 32 &{{name}}_validate_params)) { |
33 return false; | 33 return false; |
34 } | 34 } |
35 {%- elif kind|is_struct_kind %} | 35 {%- elif kind|is_struct_kind %} |
36 if (!mojo::internal::ValidateStruct({{field_expr}}, bounds_checker)) | 36 if (!mojo::internal::ValidateStruct({{field_expr}}, bounds_checker)) |
37 return false; | 37 return false; |
38 {%- elif kind|is_union_kind %} | 38 {%- elif kind|is_union_kind %} |
39 {%- if union_is_inlined %} | 39 {%- if union_is_inlined %} |
40 if (!mojo::internal::ValidateInlinedUnion({{field_expr}}, bounds_checker)) | 40 if (!mojo::internal::ValidateInlinedUnion({{field_expr}}, bounds_checker)) |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 {%- if field.kind|is_object_kind -%} | 104 {%- if field.kind|is_object_kind -%} |
105 {{validate_object(field, field_expr, object_name, union_is_inlined)}} | 105 {{validate_object(field, field_expr, object_name, union_is_inlined)}} |
106 {%- elif field.kind|is_any_handle_kind or field.kind|is_interface_kind -%} | 106 {%- elif field.kind|is_any_handle_kind or field.kind|is_interface_kind -%} |
107 {{validate_handle(field, field_expr, object_name)}} | 107 {{validate_handle(field, field_expr, object_name)}} |
108 {%- elif field.kind|is_associated_kind %} | 108 {%- elif field.kind|is_associated_kind %} |
109 {{validate_associated(field, field_expr, object_name)}} | 109 {{validate_associated(field, field_expr, object_name)}} |
110 {%- elif field.kind|is_enum_kind %} | 110 {%- elif field.kind|is_enum_kind %} |
111 {{validate_enum(field, field_expr)}} | 111 {{validate_enum(field, field_expr)}} |
112 {%- endif %} | 112 {%- endif %} |
113 {%- endmacro %} | 113 {%- endmacro %} |
OLD | NEW |