diff options
| author | Oskari Timperi <oskari.timperi@iki.fi> | 2018-04-01 17:37:04 +0300 |
|---|---|---|
| committer | Oskari Timperi <oskari.timperi@iki.fi> | 2018-04-01 17:37:04 +0300 |
| commit | 92eabcdb09ac19cbc2fdbdb9c6fe2a16071417c7 (patch) | |
| tree | fa82b62d95ec67438fa3453387488e1c24453a81 | |
| parent | c5badf9c9ce3e54ef05a257abd10847b40ce113a (diff) | |
| download | nimpb-92eabcdb09ac19cbc2fdbdb9c6fe2a16071417c7.tar.gz nimpb-92eabcdb09ac19cbc2fdbdb9c6fe2a16071417c7.zip | |
Generate forward declarations for some procs
| -rw-r--r-- | generator/protoc_gen_nim.nim | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/generator/protoc_gen_nim.nim b/generator/protoc_gen_nim.nim index 0a3c073..5a0d54e 100644 --- a/generator/protoc_gen_nim.nim +++ b/generator/protoc_gen_nim.nim @@ -755,6 +755,12 @@ if has{field.name}(message): yield "" +iterator genMessageProcForwards(msg: Message): string = + yield &"proc new{msg.names}*(): {msg.names}" + yield &"proc write{msg.names}*(stream: ProtobufStream, message: {msg.names})" + yield &"proc read{msg.names}*(stream: ProtobufStream): {msg.names}" + yield &"proc sizeOf{msg.names}*(message: {msg.names}): uint64" + iterator genProcs(msg: Message): string = for line in genNewMessageProc(msg): yield line @@ -846,6 +852,11 @@ proc processFile(filename: string, fdesc: FileDescriptorProto, addLine(result.data, "") for message in sortDependencies(parsed.messages): + for line in genMessageProcForwards(message): + addLine(result.data, line) + addLine(result.data, "") + + for message in sortDependencies(parsed.messages): for line in genProcs(message): addLine(result.data, line) addLine(result.data, "") |
