diff options
| author | Oskari Timperi <oskari.timperi@iki.fi> | 2018-04-02 11:29:17 +0300 |
|---|---|---|
| committer | Oskari Timperi <oskari.timperi@iki.fi> | 2018-04-02 11:29:17 +0300 |
| commit | 15825dac0392788e7a7e7782daeb7d8184d7e0ca (patch) | |
| tree | dd2aa4c23da4f5ee8541cbbd7aba7a5ed1bdfb9f | |
| parent | cd0f4d6d17356c16ef9ce88c8175b573e8cc95b8 (diff) | |
| download | nimpb-15825dac0392788e7a7e7782daeb7d8184d7e0ca.tar.gz nimpb-15825dac0392788e7a7e7782daeb7d8184d7e0ca.zip | |
Forward declare KV write/read/sizeOf procs
| -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 |
