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

Unified Diff: mojo/public/bindings/generators/js_templates/enum_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 side-by-side diff with in-line comments
Download patch
Index: mojo/public/bindings/generators/js_templates/enum_definition.tmpl
diff --git a/mojo/public/bindings/generators/js_templates/enum_definition.tmpl b/mojo/public/bindings/generators/js_templates/enum_definition.tmpl
index a87db5c45b19c61d6ab15e224d6ba9d8232f5c25..653cfaacbd0299c8ca18df43fa3131ecc80e7339 100644
--- a/mojo/public/bindings/generators/js_templates/enum_definition.tmpl
+++ b/mojo/public/bindings/generators/js_templates/enum_definition.tmpl
@@ -1,12 +1,14 @@
-{%- macro enum_def(enum_init, enum) %}
- {{enum_init}} = {
-{%- set next_value = 0 %}
+{%- macro enum_def(enum_name, enum, module) -%}
+ {{enum_name}} = {};
+
+{%- set prev_enum = 0 %}
{%- for field in enum.fields %}
{%- if field.value %}
-{%- set next_value = field.value|int %}
+ {{enum_name}}.{{field.name}} = {{field.value|expression_to_text(module)}};
+{%- elif loop.first %}
+ {{enum_name}}.{{field.name}} = 0;
+{%- else %}
+ {{enum_name}}.{{field.name}} = {{enum_name}}.{{enum.fields[loop.index0 - 1].name}} + 1;
{%- endif %}
- {{field.name}}: {{next_value}},
-{%- set next_value = next_value + 1 %}
{%- endfor %}
- };
{%- endmacro %}

Powered by Google App Engine
This is Rietveld 408576698