private/macros: keep walking through bracket expressions
This commit is contained in:
parent
7eea68edb4
commit
c04fc181c8
|
@ -62,11 +62,10 @@ proc customPragmaNode(n: NimNode): NimNode =
|
||||||
|
|
||||||
if n.kind in {nnkDotExpr, nnkCheckedFieldExpr}:
|
if n.kind in {nnkDotExpr, nnkCheckedFieldExpr}:
|
||||||
let name = $(if n.kind == nnkCheckedFieldExpr: n[0][1] else: n[1])
|
let name = $(if n.kind == nnkCheckedFieldExpr: n[0][1] else: n[1])
|
||||||
let typInst = getTypeInst(if n.kind == nnkCheckedFieldExpr or n[0].kind == nnkHiddenDeref: n[0][0] else: n[0])
|
var typInst = getTypeInst(if n.kind == nnkCheckedFieldExpr or n[0].kind == nnkHiddenDeref: n[0][0] else: n[0])
|
||||||
var typDef = getImpl(
|
while typInst.kind in {nnkVarTy, nnkBracketExpr}:
|
||||||
if typInst.kind in {nnkVarTy, nnkBracketExpr}: typInst[0]
|
typInst = typInst[0]
|
||||||
else: typInst
|
var typDef = getImpl(typInst)
|
||||||
)
|
|
||||||
while typDef != nil:
|
while typDef != nil:
|
||||||
typDef.expectKind(nnkTypeDef)
|
typDef.expectKind(nnkTypeDef)
|
||||||
let typ = typDef[2].extractTypeImpl()
|
let typ = typDef[2].extractTypeImpl()
|
||||||
|
|
Loading…
Reference in New Issue