summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2015-10-12 16:50:23 +0200
committerAraq <rumpf_a@web.de>2015-10-12 16:55:22 +0200
commit3e897a7c71997b039a55da04450b051d3d870003 (patch)
treed1ca36161163f2b24f034b56b80ecc7360c6a230 /compiler
parent6c6174417151f40a53eaf057e02999a0ea922302 (diff)
downloadNim-3e897a7c71997b039a55da04450b051d3d870003.tar.gz
added setResult that simply takes a node
Diffstat (limited to 'compiler')
-rw-r--r--compiler/vmhooks.nim8
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/vmhooks.nim b/compiler/vmhooks.nim
index 5dd27feda..576b0565f 100644
--- a/compiler/vmhooks.nim
+++ b/compiler/vmhooks.nim
@@ -30,6 +30,14 @@ proc setResult*(a: VmArgs; v: string) =
   s[a.ra].node = newNode(nkStrLit)
   s[a.ra].node.strVal = v
 
+proc setResult*(a: VmArgs; n: PNode) =
+  var s: seq[TFullReg]
+  move(s, cast[seq[TFullReg]](a.slots))
+  if s[a.ra].kind != rkNode:
+    myreset(s[a.ra])
+    s[a.ra].kind = rkNode
+  s[a.ra].node = n
+
 proc setResult*(a: VmArgs; v: seq[string]) =
   var s: seq[TFullReg]
   move(s, cast[seq[TFullReg]](a.slots))