Fixed tr pattern matching for varargs

This commit is contained in:
Yuriy Glukhov 2016-04-05 22:44:10 +03:00
commit b6f5c12158
3 changed files with 19 additions and 2 deletions

View file

@ -1448,6 +1448,17 @@ proc skipConv*(n: PNode): PNode =
result = n.sons[1]
else: discard
proc skipHidden*(n: PNode): PNode =
result = n
while true:
case result.kind
of nkHiddenStdConv, nkHiddenSubConv:
if result.sons[1].typ.classify == result.typ.classify:
result = result.sons[1]
of nkHiddenDeref, nkHiddenAddr:
result = result.sons[0]
else: break
proc skipConvTakeType*(n: PNode): PNode =
result = n.skipConv
result.typ = n.typ