diff options
author | Alexander Ivanov <alehander42@gmail.com> | 2018-03-03 16:53:28 +0200 |
---|---|---|
committer | Alexander Ivanov <alehander42@gmail.com> | 2018-03-03 16:53:28 +0200 |
commit | 3bffbf5a4d499ed4c3dce9f70d1188b2fa838ed1 (patch) | |
tree | 01cdc08ada78c0fd8e6431336dfbbee617d895e8 /tests/js/tasync_pragma.nim | |
parent | 4164ec4f8b6d9968e69381edd35d9cf6fe79dee1 (diff) | |
download | Nim-3bffbf5a4d499ed4c3dce9f70d1188b2fa838ed1.tar.gz |
Stop replacing all pragmas of a function with asyncjs
Diffstat (limited to 'tests/js/tasync_pragma.nim')
-rw-r--r-- | tests/js/tasync_pragma.nim | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/js/tasync_pragma.nim b/tests/js/tasync_pragma.nim new file mode 100644 index 000000000..a16e94657 --- /dev/null +++ b/tests/js/tasync_pragma.nim @@ -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() + |