Support C-Style enums with custom int values

This commit is contained in:
Ryan Levick
2018-02-23 14:17:53 +01:00
parent 71880b8a83
commit f783876192
4 changed files with 32 additions and 17 deletions

View File

@ -1434,10 +1434,8 @@ impl<'a, 'b> SubContext<'a, 'b> {
pub fn generate_enum(&mut self, enum_: &shared::Enum) {
let mut variants = String::new();
let mut value = 0;
for variant in enum_.variants.iter() {
variants.push_str(&format!("{}:{},", variant.name, value));
value = value + 1;
variants.push_str(&format!("{}:{},", variant.name, variant.value));
}
self.cx.globals.push_str(&format!("export const {} = {{", enum_.name));
self.cx.globals.push_str(&variants);