OLD | NEW |
1 {#--- Begin #} | 1 {#--- Begin #} |
2 | 2 |
3 class {{struct.name}} { | 3 class {{struct.name}} { |
4 {#--- Enums #} | 4 {#--- Enums #} |
5 {%- from "enum_definition.tmpl" import enum_def %} | 5 {%- from "enum_definition.tmpl" import enum_def %} |
6 {% for enum in struct.enums %} | 6 {% for enum in struct.enums %} |
7 {{enum_def(" static ", enum)}} | 7 {{enum_def(" static ", enum)}} |
8 {%- endfor %} | 8 {%- endfor %} |
9 | 9 |
10 | 10 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 } | 50 } |
51 | 51 |
52 static void encode(bindings.MojoEncoder encoder, {{struct.name}} val) { | 52 static void encode(bindings.MojoEncoder encoder, {{struct.name}} val) { |
53 var packed; | 53 var packed; |
54 encoder.writeUint32({{struct.name}}.encodedSize); | 54 encoder.writeUint32({{struct.name}}.encodedSize); |
55 encoder.writeUint32({{struct.packed.packed_fields|length}}); | 55 encoder.writeUint32({{struct.packed.packed_fields|length}}); |
56 {%- for byte in struct.bytes %} | 56 {%- for byte in struct.bytes %} |
57 {%- if byte.packed_fields|length > 1 %} | 57 {%- if byte.packed_fields|length > 1 %} |
58 packed = 0; | 58 packed = 0; |
59 {%- for packed_field in byte.packed_fields %} | 59 {%- for packed_field in byte.packed_fields %} |
60 packed |= (val.{{packed_field.field.name}} & 1) << {{packed_field.bit}}; | 60 packed |= ((val.{{packed_field.field.name}} ? 1 : 0) & 1) << {{packed_field.
bit}}; |
61 {%- endfor %} | 61 {%- endfor %} |
62 encoder.writeUint8(packed); | 62 encoder.writeUint8(packed); |
63 {%- else %} | 63 {%- else %} |
64 {%- for packed_field in byte.packed_fields %} | 64 {%- for packed_field in byte.packed_fields %} |
65 encoder.{{packed_field.field.kind|encode_snippet}}val.{{packed_field.field.n
ame}}); | 65 encoder.{{packed_field.field.kind|encode_snippet}}val.{{packed_field.field.n
ame}}); |
66 {%- endfor %} | 66 {%- endfor %} |
67 {%- endif %} | 67 {%- endif %} |
68 {%- if byte.is_padding %} | 68 {%- if byte.is_padding %} |
69 encoder.skip(1); | 69 encoder.skip(1); |
70 {%- endif %} | 70 {%- endif %} |
71 {%- endfor %} | 71 {%- endfor %} |
72 } | 72 } |
73 } | 73 } |
OLD | NEW |