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

 
                                  
                                         


















                                                              
#
#
#            Nim'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!)"