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

Side by Side Diff: mojo/public/tools/bindings/generators/dart_templates/struct_definition.tmpl

Issue 800523004: Dart: Simplifies the handle watcher. Various cleanups and bugfixes. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: cleanup Created 5 years, 11 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 {#--- 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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698