summary refs log tree commit diff stats
path: root/lib/core/macros.nim
diff options
context:
space:
mode:
authorGrzegorz Adam Hankiewicz <gradha@imap.cc>2014-10-11 00:53:26 +0200
committerGrzegorz Adam Hankiewicz <gradha@imap.cc>2014-10-11 00:53:26 +0200
commitaa1fb9a07ea3d48f7350c3dd9a26f2c22e38ae67 (patch)
tree99aaa3e19306e11444aedb2c987a8dcca2d06f8d /lib/core/macros.nim
parentc17c8e9afa6ba6a1000fe82b1c8a7af10e3fc698 (diff)
downloadNim-aa1fb9a07ea3d48f7350c3dd9a26f2c22e38ae67.tar.gz
Adds stringification support for nnkPostfix nodes.
Diffstat (limited to 'lib/core/macros.nim')
-rw-r--r--lib/core/macros.nim6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/core/macros.nim b/lib/core/macros.nim
index e290cce32..455f99c9e 100644
--- a/lib/core/macros.nim
+++ b/lib/core/macros.nim
@@ -620,6 +620,8 @@ proc `body=`*(someProc: PNimrodNode, val: PNimrodNode) {.compileTime.} =
     someProc[high(someProc)] = val
   else:
     badNodeKind someProc.kind, "body=" 
+
+proc basename*(a: PNimrodNode): PNimrodNode {.compiletime.}
   
 
 proc `$`*(node: PNimrodNode): string {.compileTime.} =
@@ -627,6 +629,8 @@ proc `$`*(node: PNimrodNode): string {.compileTime.} =
   case node.kind
   of nnkIdent:
     result = $node.ident
+  of nnkPostfix:
+    result = $node.basename.ident & "*"
   of nnkStrLit..nnkTripleStrLit:
     result = node.strVal
   else: 
@@ -669,7 +673,7 @@ proc insert*(a: PNimrodNode; pos: int; b: PNimrodNode) {.compileTime.} =
       a[i + 1] = a[i]
     a[pos] = b
 
-proc basename*(a: PNimrodNode): PNimrodNode {.compiletime.} =
+proc basename*(a: PNimrodNode): PNimrodNode =
   ## Pull an identifier from prefix/postfix expressions
   case a.kind
   of nnkIdent: return a