Index: mojo/public/tools/bindings/generators/java_templates/enum_definition.tmpl |
diff --git a/mojo/public/tools/bindings/generators/java_templates/enum_definition.tmpl b/mojo/public/tools/bindings/generators/java_templates/enum_definition.tmpl |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a052e7c2a370587fb56ad6a3887c59a0601bd25c |
--- /dev/null |
+++ b/mojo/public/tools/bindings/generators/java_templates/enum_definition.tmpl |
@@ -0,0 +1,21 @@ |
+{%- macro enum_value(enum, field, index) -%} |
+{%- if field.value -%} |
+(int) ({{field.value|expression_to_text(enum.module)}}) |
+{%- elif index == 0 -%} |
+0 |
+{%- else -%} |
+{{enum.fields[index - 1].name}} + 1 |
+{%- endif -%} |
+{%- endmacro -%} |
+ |
+{%- macro enum_def(enum, top_level) -%} |
+public {{ 'static ' if not top_level }}final class {{enum|name}} { |
+ |
+{% for field in enum.fields %} |
+ public static final int {{field.name}} = {{enum_value(enum, field, loop.index0)}}; |
+{% endfor %} |
+ |
+ private {{enum|name}}() {} |
+ |
+} |
+{%- endmacro -%} |