From 5eb0a8f947d992e4ff611e6b35f464de9908388d Mon Sep 17 00:00:00 2001 From: coffeepots Date: Tue, 8 May 2018 20:48:28 +0100 Subject: [PATCH] Don't call multiRemove macro directly from macro --- eth-rpc/server/servertypes.nim | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/eth-rpc/server/servertypes.nim b/eth-rpc/server/servertypes.nim index 079199a..b09f47a 100644 --- a/eth-rpc/server/servertypes.nim +++ b/eth-rpc/server/servertypes.nim @@ -119,13 +119,16 @@ macro multiRemove(s: string, values: varargs[string]): string = body.add multiReplaceCall result = newBlockStmt(body) +proc makeProcName(s: string): string = + s.multiRemove(".", "/") + macro on*(server: var RpcServer, path: string, body: untyped): untyped = result = newStmtList() let parameters = body.findChild(it.kind == nnkFormalParams) paramsIdent = ident"params" pathStr = $path - procName = ident(pathStr.multiRemove(".", "/")) + procName = ident(pathStr.makeProcName) var setup = setupParams(parameters, paramsIdent) procBody: NimNode