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

@ -0,0 +1,27 @@
discard """
output: '''
0
t
'''
"""
import asyncjs, macros
macro f*(a: untyped): untyped =
assert a.kind == nnkProcDef
result = nnkProcDef.newTree(a.name, a[1], a[2], a.params, a.pragma, a[5], nnkStmtList.newTree())
let call = quote:
echo 0
result.body.add(call)
for child in a.body:
result.body.add(child)
echo result.body.repr
proc t* {.async, f.} =
echo "t"
proc t0* {.async.} =
await t()
discard t0()