aboutsummaryrefslogtreecommitdiff
path: root/generator/protoc_gen_nim.nim
diff options
context:
space:
mode:
Diffstat (limited to 'generator/protoc_gen_nim.nim')
-rw-r--r--generator/protoc_gen_nim.nim6
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]] = @[]