OLD | NEW |
1 {% from "constant_definition.tmpl" import constant_def %} | 1 {% from "constant_definition.tmpl" import constant_def %} |
2 {% from "enum_definition.tmpl" import enum_def %} | 2 {% from "enum_definition.tmpl" import enum_def %} |
3 | 3 |
4 {%- macro array_expected_length(kind) -%} | 4 {%- macro array_expected_length(kind) -%} |
5 {%- if kind|is_fixed_array_kind -%} | 5 {%- if kind|is_fixed_array_kind -%} |
6 {{kind.length}} | 6 {{kind.length}} |
7 {%- else -%} | 7 {%- else -%} |
8 org.chromium.mojo.bindings.BindingsHelper.UNSPECIFIED_ARRAY_LENGTH | 8 org.chromium.mojo.bindings.BindingsHelper.UNSPECIFIED_ARRAY_LENGTH |
9 {%- endif -%} | 9 {%- endif -%} |
10 {%- endmacro -%} | 10 {%- endmacro -%} |
11 | 11 |
12 {% macro encode(variable, kind, offset, bit, level=0) %} | 12 {% macro encode(variable, kind, offset, bit, level=0) %} |
13 {% if kind|is_pointer_array_kind %} | 13 {% if kind|is_pointer_array_kind %} |
14 {% set sub_kind = kind.kind %} | 14 {% set sub_kind = kind.kind %} |
15 if ({{variable}} == null) { | 15 if ({{variable}} == null) { |
16 encoder{{level}}.encodeNullPointer({{offset}}); | 16 encoder{{level}}.encodeNullPointer({{offset}}, {{kind|is_nullable_kind|java_
true_false}}); |
17 } else { | 17 } else { |
18 org.chromium.mojo.bindings.Encoder encoder{{level + 1}} = encoder{{level}}.e
ncodePointerArray({{variable}}.length, {{offset}}, {{array_expected_length(kind)
}}); | 18 org.chromium.mojo.bindings.Encoder encoder{{level + 1}} = encoder{{level}}.e
ncodePointerArray({{variable}}.length, {{offset}}, {{array_expected_length(kind)
}}); |
19 for (int i{{level}} = 0; i{{level}} < {{variable}}.length; ++i{{level}}) { | 19 for (int i{{level}} = 0; i{{level}} < {{variable}}.length; ++i{{level}}) { |
20 {{encode(variable~'[i'~level~']', sub_kind, 'DataHeader.HEADER_SIZE + or
g.chromium.mojo.bindings.BindingsHelper.POINTER_SIZE * i'~level, 0, level+1)|ind
ent(8)}} | 20 {{encode(variable~'[i'~level~']', sub_kind, 'DataHeader.HEADER_SIZE + or
g.chromium.mojo.bindings.BindingsHelper.POINTER_SIZE * i'~level, 0, level+1)|ind
ent(8)}} |
21 } | 21 } |
22 } | 22 } |
23 {% else %} | 23 {% else %} |
24 encoder{{level}}.{{kind|encode_method(variable, offset, bit)}}; | 24 encoder{{level}}.{{kind|encode_method(variable, offset, bit)}}; |
25 {% endif %} | 25 {% endif %} |
26 {% endmacro %} | 26 {% endmacro %} |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 org.chromium.mojo.bindings.Encoder encoder0 = encoder.getEncoderAtDataOf
fset(DEFAULT_STRUCT_INFO); | 109 org.chromium.mojo.bindings.Encoder encoder0 = encoder.getEncoderAtDataOf
fset(DEFAULT_STRUCT_INFO); |
110 {% endif %} | 110 {% endif %} |
111 {% for byte in struct.bytes %} | 111 {% for byte in struct.bytes %} |
112 {% for packed_field in byte.packed_fields %} | 112 {% for packed_field in byte.packed_fields %} |
113 {{encode(packed_field.field|name, packed_field.field.kind, 8+packed_fiel
d.offset, packed_field.bit)|indent(8)}} | 113 {{encode(packed_field.field|name, packed_field.field.kind, 8+packed_fiel
d.offset, packed_field.bit)|indent(8)}} |
114 {% endfor %} | 114 {% endfor %} |
115 {% endfor %} | 115 {% endfor %} |
116 } | 116 } |
117 } | 117 } |
118 {% endmacro %} | 118 {% endmacro %} |
OLD | NEW |