diff options
Diffstat (limited to 'tests/js/tasyncjs_pragma.nim')
-rw-r--r-- | tests/js/tasyncjs_pragma.nim | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/js/tasyncjs_pragma.nim b/tests/js/tasyncjs_pragma.nim new file mode 100644 index 000000000..2b6f32e92 --- /dev/null +++ b/tests/js/tasyncjs_pragma.nim @@ -0,0 +1,29 @@ +discard """ + output: ''' +0 +t +''' +""" + +# xxx merge into tasyncjs.nim + +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() + |