diff options
| author | Oskari Timperi <oskari.timperi@iki.fi> | 2018-04-02 11:27:01 +0300 |
|---|---|---|
| committer | Oskari Timperi <oskari.timperi@iki.fi> | 2018-04-02 11:27:01 +0300 |
| commit | cd0f4d6d17356c16ef9ce88c8175b573e8cc95b8 (patch) | |
| tree | 0667e34d3eb2840b0cb68d9896dbcb48f67fa859 /generator/protoc_gen_nim.nim | |
| parent | 494461fd551b0c70712a0aa0d7278e99e215c172 (diff) | |
| download | nimpb-cd0f4d6d17356c16ef9ce88c8175b573e8cc95b8.tar.gz nimpb-cd0f4d6d17356c16ef9ce88c8175b573e8cc95b8.zip | |
Sort enum values in ascending order
This is what Nim expects.
Diffstat (limited to 'generator/protoc_gen_nim.nim')
| -rw-r--r-- | generator/protoc_gen_nim.nim | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/generator/protoc_gen_nim.nim b/generator/protoc_gen_nim.nim index 07f5e84..b175313 100644 --- a/generator/protoc_gen_nim.nim +++ b/generator/protoc_gen_nim.nim @@ -314,6 +314,12 @@ proc newEnum(names: Names, desc: EnumDescriptorProto): Enum = for value in desc.value: add(result.values, (value.name, int(value.number))) + type EnumValue = tuple[name: string, number: int] + + sort(result.values, proc (x, y: EnumValue): int = + system.cmp(x.number, y.number) + ) + iterator messages(desc: DescriptorProto, names: Names): tuple[names: Names, desc: DescriptorProto] = var stack: seq[tuple[names: Names, desc: DescriptorProto]] = @[] |
