Feature: explicit string representation for enum fields

This commit is contained in:
Araq 2011-01-11 01:09:48 +01:00
commit 1a8c6fb49f
9 changed files with 94 additions and 8 deletions

View file

@ -58,7 +58,11 @@ proc ordinalValToString(a: PNode): string =
for i in countup(0, sonsLen(n) - 1):
if n.sons[i].kind != nkSym: InternalError(a.info, "ordinalValToString")
var field = n.sons[i].sym
if field.position == x: return field.name.s
if field.position == x:
if field.ast == nil:
return field.name.s
else:
return field.ast.strVal
InternalError(a.info, "no symbol for ordinal value: " & $x)
else:
result = $x