summary refs log blame commit diff stats
path: root/lib/system/reprjs.nim
blob: fd1cb5c8b27b64b1f8b74132ac049c1e077e1b08 (plain) (tree)
1
2
3
4


                                     
                                         


















                                                              
#
#
#            Nimrod's Runtime Library
#        (c) Copyright 2012 Andreas Rumpf
#
#    See the file "copying.txt", included in this
#    distribution, for details about the copyright.
#

proc reprInt(x: int64): string {.compilerproc.} = return $x

proc reprEnum(e: int, typ: PNimType): string {.compilerRtl.} =
  if ntfEnumHole notin typ.flags:
    if e <% typ.node.len:
      return $typ.node.sons[e].name
  else:
    # ugh we need a slow linear search:
    var n = typ.node
    var s = n.sons
    for i in 0 .. n.len-1:
      if s[i].offset == e: return $s[i].name
  result = $e & " (invalid data!)"