Files
Nim/tests/template/tissue993.nim
2017-07-25 09:28:23 +02:00

21 lines
389 B
Nim

type PNode* = ref object of RootObj
template litNode(name, ty) =
type name* = ref object of PNode
val*: ty
litNode PIntNode, int
import json
template withKey*(j: JsonNode; key: string; varname,
body: untyped): typed =
if j.hasKey(key):
let varname{.inject.}= j[key]
block:
body
var j = parsejson("{\"zzz\":1}")
withkey(j, "foo", x):
echo(x)