| OLD | NEW |
| (Empty) |
| 1 {%- macro enum_def(enum, typepkg, package) %} | |
| 2 class {{enum|name}} extends bindings.MojoEnum { | |
| 3 {%- for field in enum.fields %} | |
| 4 static const {{enum|name}} {{field|name}} = const {{enum|name}}._({{field.reso
lved_value}}); | |
| 5 {%- endfor %} | |
| 6 | |
| 7 const {{enum|name}}._(int v) : super(v); | |
| 8 | |
| 9 static const Map<String, {{enum|name}}> valuesMap = const { | |
| 10 {%- for field in enum.fields %} | |
| 11 "{{field|name}}": {{field|name}}, | |
| 12 {%- endfor %} | |
| 13 }; | |
| 14 static const List<{{enum|name}}> values = const [ | |
| 15 {%- for field in enum.fields %} | |
| 16 {{field|name}}, | |
| 17 {%- endfor %} | |
| 18 ]; | |
| 19 | |
| 20 static {{enum|name}} valueOf(String name) => valuesMap[name]; | |
| 21 | |
| 22 factory {{enum|name}}(int v) { | |
| 23 switch (v) { | |
| 24 {%- for field in enum.fields %} | |
| 25 case {{field.resolved_value}}: | |
| 26 return {{enum|name}}.{{field|name}}; | |
| 27 {%- endfor %} | |
| 28 default: | |
| 29 return null; | |
| 30 } | |
| 31 } | |
| 32 | |
| 33 static {{enum|name}} decode(bindings.Decoder decoder0, int offset) { | |
| 34 int v = decoder0.decodeUint32(offset); | |
| 35 {{enum|name}} result = new {{enum|name}}(v); | |
| 36 if (result == null) { | |
| 37 throw new bindings.MojoCodecError( | |
| 38 'Bad value $v for enum {{enum|name}}.'); | |
| 39 } | |
| 40 return result; | |
| 41 } | |
| 42 | |
| 43 String toString() { | |
| 44 switch(this) { | |
| 45 {%- for field in enum.fields %} | |
| 46 case {{field|name}}: | |
| 47 return '{{enum|name}}.{{field|name}}'; | |
| 48 {%- endfor %} | |
| 49 default: | |
| 50 return null; | |
| 51 } | |
| 52 } | |
| 53 | |
| 54 int toJson() => mojoEnumValue; | |
| 55 } | |
| 56 | |
| 57 {%- endmacro %} | |
| OLD | NEW |