added test case for #537
This commit is contained in:
parent
17d97462cf
commit
389f500226
1 changed files with 42 additions and 0 deletions
42
tests/macros/tcomplexecho.nim
Normal file
42
tests/macros/tcomplexecho.nim
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
discard """
|
||||||
|
output: '''3
|
||||||
|
OK
|
||||||
|
56
|
||||||
|
123
|
||||||
|
56
|
||||||
|
61'''
|
||||||
|
"""
|
||||||
|
|
||||||
|
import macros
|
||||||
|
|
||||||
|
# Bug from the forum
|
||||||
|
macro addEcho1(s: untyped): stmt =
|
||||||
|
s.body.add(newCall("echo", newStrLitNode("OK")))
|
||||||
|
result = s
|
||||||
|
|
||||||
|
proc f1() {.addEcho1.} =
|
||||||
|
let i = 1+2
|
||||||
|
echo i
|
||||||
|
|
||||||
|
f1()
|
||||||
|
|
||||||
|
# bug #537
|
||||||
|
proc test(): seq[NimNode] {.compiletime.} =
|
||||||
|
result = @[]
|
||||||
|
result.add parseExpr("echo 56")
|
||||||
|
result.add parseExpr("echo 123")
|
||||||
|
result.add parseExpr("echo 56")
|
||||||
|
|
||||||
|
proc foo(): seq[NimNode] {.compiletime.} =
|
||||||
|
result = @[]
|
||||||
|
result.add test()
|
||||||
|
result.add parseExpr("echo(5+56)")
|
||||||
|
|
||||||
|
macro bar(): stmt =
|
||||||
|
result = newNimNode(nnkStmtList)
|
||||||
|
let x = foo()
|
||||||
|
for xx in x:
|
||||||
|
result.add xx
|
||||||
|
echo treeRepr(result)
|
||||||
|
|
||||||
|
bar()
|
||||||
Loading…
Add table
Add a link
Reference in a new issue