• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{%- macro enum_value(enum, field, index) -%}
2{%- if field.value -%}
3(int) ({{field.value|expression_to_text('i32')}})
4{%- elif index == 0 -%}
50
6{%- else -%}
7{{enum.fields[index - 1].name}} + 1
8{%- endif -%}
9{%- endmacro -%}
10
11{%- macro enum_def(enum, top_level) -%}
12public {{ 'static ' if not top_level }}final class {{enum|name}} {
13
14{% for field in enum.fields %}
15    public static final int {{field.name}} = {{enum_value(enum, field, loop.index0)}};
16{% endfor %}
17
18    private {{enum|name}}() {}
19
20}
21{%- endmacro -%}
22