diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/core/macros.nim | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/core/macros.nim b/lib/core/macros.nim index 87daabb5b..a146117d0 100644 --- a/lib/core/macros.nim +++ b/lib/core/macros.nim @@ -1087,10 +1087,18 @@ proc name*(someProc: NimNode): NimNode {.compileTime.} = someProc.expectRoutine result = someProc[0] if result.kind == nnkPostfix: - result = result[1] + if result[1].kind == nnkAccQuoted: + result = result[1][0] + else: + result = result[1] + elif result.kind == nnkAccQuoted: + result = result[0] + proc `name=`*(someProc: NimNode; val: NimNode) {.compileTime.} = someProc.expectRoutine - someProc[0] = val + if someProc[0].kind == nnkPostfix: + someProc[0][1] = val + else: someProc[0] = val proc params*(someProc: NimNode): NimNode {.compileTime.} = someProc.expectRoutine |