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

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

Issue 164873002: Fix bug with using enums as default values in mojom. We were previously (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 10 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 | Annotate | Revision Log
OLDNEW
1 {%- macro set_default(kind, value, depth) -%} 1 {%- macro set_default(kind, value, depth) -%}
2 {#--- Strings ---#} 2 {#--- Strings ---#}
3 {%- if kind|is_string_kind -%} 3 {%- if kind|is_string_kind -%}
4 {{caller(value)}} 4 {{caller(value|expression_to_text(module))}}
5 {#--- Arrays ---#} 5 {#--- Arrays ---#}
6 {%- elif kind|is_array_kind %} 6 {%- elif kind|is_array_kind %}
7 {%- set _ = value|verify_token_type("ARRAY") %} 7 {%- set _ = value|verify_token_type("ARRAY") %}
8 { 8 {
9 var tmp{{depth}} = []; 9 var tmp{{depth}} = [];
10 {%- for element in value[1] %} 10 {%- for element in value[1] %}
11 {%- filter indent(2) %} 11 {%- filter indent(2) %}
12 {%- call(result) set_default(kind.kind, element, depth+1) %} 12 {%- call(result) set_default(kind.kind, element, depth+1) %}
13 tmp{{depth}}[{{loop.index0}}] = {{result}}; 13 tmp{{depth}}[{{loop.index0}}] = {{result}};
14 {%- endcall %} 14 {%- endcall %}
(...skipping 13 matching lines...) Expand all
28 {%- filter indent(2) %} 28 {%- filter indent(2) %}
29 {%- call(result) set_default(subfield.kind, element, depth+1) %} 29 {%- call(result) set_default(subfield.kind, element, depth+1) %}
30 tmp{{depth}}.{{subfield.name}} = {{result}}; 30 tmp{{depth}}.{{subfield.name}} = {{result}};
31 {%- endcall %} 31 {%- endcall %}
32 {%- endfilter %} 32 {%- endfilter %}
33 {%- endfor -%} 33 {%- endfor -%}
34 {{caller("tmp" ~ depth)|indent(2)}} 34 {{caller("tmp" ~ depth)|indent(2)}}
35 } 35 }
36 {#--- POD types ---#} 36 {#--- POD types ---#}
37 {%- else -%} 37 {%- else -%}
38 {{caller(value|substitute_namespace(imports))}} 38 {{caller(value|expression_to_text(module))}}
39 {%- endif %} 39 {%- endif %}
40 {%- endmacro %} 40 {%- endmacro %}
41 41
42 42
43 {#--- Begin #}
43 function {{struct.name}}() { 44 function {{struct.name}}() {
44 {%- for packed_field in struct.packed.packed_fields %} 45 {%- for packed_field in struct.packed.packed_fields %}
45 {%- if packed_field.field.default %} 46 {%- if packed_field.field.default %}
46 {%- filter indent(4) %} 47 {%- filter indent(4) %}
47 {%- call(result) set_default(packed_field.field.kind, packed_field.field.def ault, 0) %} 48 {%- call(result) set_default(packed_field.field.kind, packed_field.field.def ault, 0) %}
48 this.{{packed_field.field.name}} = {{result}}; 49 this.{{packed_field.field.name}} = {{result}};
49 {%- endcall %} 50 {%- endcall %}
50 {%- endfilter %} 51 {%- endfilter %}
51 {%- else %} 52 {%- else %}
52 this.{{packed_field.field.name}} = {{packed_field.field|default_value}}; 53 this.{{packed_field.field.name}} = {{packed_field.field|default_value}};
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 {%- else %} 102 {%- else %}
102 {%- for packed_field in byte.packed_fields %} 103 {%- for packed_field in byte.packed_fields %}
103 encoder.{{packed_field.field.kind|encode_snippet}}val.{{packed_field.field.n ame}}); 104 encoder.{{packed_field.field.kind|encode_snippet}}val.{{packed_field.field.n ame}});
104 {%- endfor %} 105 {%- endfor %}
105 {%- endif %} 106 {%- endif %}
106 {%- if byte.is_padding %} 107 {%- if byte.is_padding %}
107 encoder.skip(1); 108 encoder.skip(1);
108 {%- endif %} 109 {%- endif %}
109 {%- endfor %} 110 {%- endfor %}
110 }; 111 };
OLDNEW
« no previous file with comments | « mojo/public/bindings/generators/js_templates/module.js.tmpl ('k') | mojo/public/bindings/generators/mojom_cpp_generator.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698