diff options
author | Arne Döring <arne.doering@gmx.net> | 2018-10-30 17:15:37 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-30 17:15:37 +0100 |
commit | 9c6620eba1a2dc6a3220b53d58b25b82f18694fc (patch) | |
tree | b468dca238e46928529818428f8e59f3715dad00 /lib | |
parent | 7ae6b7e9a29824ca674d4b140573cf56d0a41ebe (diff) | |
parent | fb75e3bb4947413ea44ef2f5486ff16fdbc3308c (diff) | |
download | Nim-9c6620eba1a2dc6a3220b53d58b25b82f18694fc.tar.gz |
Merge pull request #9570 from b3liever/macrosfixname
Fix name set and get procs in macros (fixes #9569)
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 |