parent
3028c1be82
commit
1725db9295
1 changed files with 29 additions and 0 deletions
29
tests/template/tshadow.nim
Normal file
29
tests/template/tshadow.nim
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
discard """
|
||||
output: '''fish
|
||||
fish'''
|
||||
"""
|
||||
|
||||
import macros
|
||||
|
||||
block:
|
||||
template init(initHook: proc(s: string)) =
|
||||
proc dostuff =
|
||||
var s = "fish"
|
||||
initHook(s)
|
||||
dostuff()
|
||||
|
||||
init do(s: string):
|
||||
echo s
|
||||
|
||||
block:
|
||||
macro init(initHook: proc(s: string)) =
|
||||
result = newStmtList(
|
||||
newProc(name = ident("dostuff"), body = newStmtList(
|
||||
newVarStmt(ident("s"), newStrLitNode("fish")),
|
||||
newCall(initHook, ident("s"))
|
||||
)),
|
||||
newCall("dostuff")
|
||||
)
|
||||
|
||||
init proc(s: string) =
|
||||
echo s
|
||||
Loading…
Add table
Add a link
Reference in a new issue