From 2225256a6c97273a81f85f488ea2d4fc057ee142 Mon Sep 17 00:00:00 2001 From: Oskari Timperi Date: Mon, 26 Mar 2018 20:48:24 +0300 Subject: Forward declare sizeOf procs for write procs If a message refers to itself, then the write procs for that message needs to use sizeOf procs of the same message. --- src/protobuf/gen.nim | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/protobuf/gen.nim b/src/protobuf/gen.nim index 53e7b4e..512c0c5 100644 --- a/src/protobuf/gen.nim +++ b/src/protobuf/gen.nim @@ -307,11 +307,14 @@ proc generateWriteMessageProc(desc: NimNode): NimNode = procName = postfix(ident("write" & getMessageName(desc)), "*") body = newStmtList() stream = ident("stream") + sizeproc = postfix(ident("sizeOf" & getMessageName(desc)), "*") for field in fields(desc): add(body, genWriteField(field)) result = quote do: + proc `sizeproc`(`messageId`: `mtype`): uint64 + proc `procName`(`stream`: ProtobufStream, `messageId`: `mtype`) = `body` -- cgit v1.2.3