summary refs log tree commit diff stats
path: root/tests/js/tasync_pragma.nim
blob: 916769fadcc80b1275e69c2c06c4387197a3e141 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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()