Stop replacing all pragmas of a function with asyncjs

This commit is contained in:
Alexander Ivanov 2018-03-03 16:53:28 +02:00
commit 3bffbf5a4d
2 changed files with 33 additions and 1 deletions

View file

@ -129,8 +129,13 @@ proc generateJsasync(arg: NimNode): NimNode =
return `jsResolve`
result.body.add(voidFix)
result.pragma = quote:
let asyncPragma = quote:
{.codegenDecl: "async function $2($3)".}
if arg.pragma.kind == nnkEmpty:
result.pragma = asyncPragma
else:
result.pragma = arg.pragma
result.pragma.add(asyncPragma[0])
macro async*(arg: untyped): untyped =