From cd0f4d6d17356c16ef9ce88c8175b573e8cc95b8 Mon Sep 17 00:00:00 2001 From: Oskari Timperi Date: Mon, 2 Apr 2018 11:27:01 +0300 Subject: Sort enum values in ascending order This is what Nim expects. --- generator/protoc_gen_nim.nim | 6 ++++++ 1 file changed, 6 insertions(+) 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]] = @[] -- cgit v1.2.3