diff options
Diffstat (limited to 'generator/protoc_gen_nim.nim')
| -rw-r--r-- | generator/protoc_gen_nim.nim | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/generator/protoc_gen_nim.nim b/generator/protoc_gen_nim.nim index b175313..227005e 100644 --- a/generator/protoc_gen_nim.nim +++ b/generator/protoc_gen_nim.nim @@ -775,6 +775,15 @@ iterator genMessageProcForwards(msg: Message): string = yield &"proc read{msg.names}*(stream: ProtobufStream): {msg.names}" yield &"proc sizeOf{msg.names}*(message: {msg.names}): uint64" + if isMapEntry(msg): + let + key = mapKeyField(msg) + value = mapValueField(msg) + + yield &"proc write{msg.names}KV(stream: ProtobufStream, key: {key.fullType}, value: {value.fullType})" + yield &"proc read{msg.names}KV(stream: ProtobufStream, tbl: TableRef[{key.fullType}, {value.fullType}])" + yield &"proc sizeOf{msg.names}KV(key: {key.fullType}, value: {value.fullType}): uint64" + iterator genProcs(msg: Message): string = for line in genNewMessageProc(msg): yield line |
