diff options
author | Araq <rumpf_a@web.de> | 2015-10-12 16:50:23 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-10-12 16:55:22 +0200 |
commit | 3e897a7c71997b039a55da04450b051d3d870003 (patch) | |
tree | d1ca36161163f2b24f034b56b80ecc7360c6a230 /compiler | |
parent | 6c6174417151f40a53eaf057e02999a0ea922302 (diff) | |
download | Nim-3e897a7c71997b039a55da04450b051d3d870003.tar.gz |
added setResult that simply takes a node
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/vmhooks.nim | 8 |
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)) |