From bab74b6dce13f69b7f3017b27a472ba4a260c4bb Mon Sep 17 00:00:00 2001 From: dom96 <dominikpicheta@googlemail.com> Date: Mon, 3 Jan 2011 23:19:15 +0000 Subject: Fixed a bug in typeToString with generics. --- rod/types.nim | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/rod/types.nim b/rod/types.nim index ed9d5271a..32f9c7a94 100755 --- a/rod/types.nim +++ b/rod/types.nim @@ -430,8 +430,12 @@ proc TypeToString(typ: PType, prefer: TPreferedDesc = preferName): string = if (prefer == preferName) and (t.sym != nil): return t.sym.Name.s case t.Kind - of tyGenericInst: - result = typeToString(lastSon(t), prefer) + of tyGenericBody, tyGenericInst, tyGenericInvokation: + result = typeToString(t.sons[0]) & '[' + for i in countup(1, sonsLen(t) -1 -ord(t.kind != tyGenericInvokation)): + if i > 1: add(result, ", ") + add(result, typeToString(t.sons[i])) + add(result, ']') of tyArray: if t.sons[0].kind == tyRange: result = "array[" & rangeToStr(t.sons[0].n) & ", " & @@ -439,12 +443,6 @@ proc TypeToString(typ: PType, prefer: TPreferedDesc = preferName): string = else: result = "array[" & typeToString(t.sons[0]) & ", " & typeToString(t.sons[1]) & ']' - of tyGenericInvokation, tyGenericBody: - result = typeToString(t.sons[0]) & '[' - for i in countup(1, sonsLen(t) - 1): - if i > 1: add(result, ", ") - add(result, typeToString(t.sons[i])) - add(result, ']') of tyArrayConstr: result = "Array constructor[" & rangeToStr(t.sons[0].n) & ", " & typeToString(t.sons[1]) & ']' -- cgit 1.4.1-2-gfad0