mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-21 16:31:39 +00:00
added test case for #537
This commit is contained in:
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()
|
||||
Reference in New Issue
Block a user