pass typedesc as NimNode to macros (#11400)

* change typedesc's design in macros

* Manual and changelog entry.

* add link to RFC
This commit is contained in:
Arne Döring 2019-06-05 09:17:04 +02:00 • committed by Andreas Rumpf
commit cb45527e37
6 changed files with 54 additions and 39 deletions

View file

@ -1554,11 +1554,7 @@ proc activate(c: PContext, n: PNode) =
proc maybeAddResult(c: PContext, s: PSym, n: PNode) =
if s.kind == skMacro:
let resultType =
if s.typ.sons[0] != nil and s.typ.sons[0].kind == tyTypeDesc:
s.typ.sons[0]
else:
sysTypeFromName(c.graph, n.info, "NimNode")
let resultType = sysTypeFromName(c.graph, n.info, "NimNode")
addResult(c, resultType, n.info, s.kind)
addResultNode(c, n)
elif s.typ.sons[0] != nil and not isInlineIterator(s):