diff options
author | Araq <rumpf_a@web.de> | 2015-07-23 17:00:28 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-07-24 01:04:42 +0200 |
commit | bf057f0d2c720ec81ff0a3961b7517c4f0b184f0 (patch) | |
tree | 0003e18f2a5fd264d2406b946f888f5b0557790d | |
parent | d82d430cbe304e891228b65bbfcedf8219c70a33 (diff) | |
download | Nim-bf057f0d2c720ec81ff0a3961b7517c4f0b184f0.tar.gz |
minor refactoring for big fixes to come
-rw-r--r-- | compiler/semtempl.nim | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/compiler/semtempl.nim b/compiler/semtempl.nim index 2358010a1..a138981b7 100644 --- a/compiler/semtempl.nim +++ b/compiler/semtempl.nim @@ -260,6 +260,12 @@ proc semTemplSomeDecl(c: var TemplCtx, n: PNode, symKind: TSymKind; start=0) = addLocalDecl(c, a.sons[j], symKind) proc semPattern(c: PContext, n: PNode): PNode + +proc semTemplBodySons(c: var TemplCtx, n: PNode): PNode = + result = n + for i in 0.. < n.len: + result.sons[i] = semTemplBody(c, n.sons[i]) + proc semTemplBody(c: var TemplCtx, n: PNode): PNode = result = n semIdeForTemplateOrGenericCheck(n, c.cursorInBody) @@ -420,9 +426,7 @@ proc semTemplBody(c: var TemplCtx, n: PNode): PNode = return symChoice(c.c, n, s, scForceOpen) else: return symChoice(c.c, n, s, scOpen) - result = n - for i in countup(0, sonsLen(n) - 1): - result.sons[i] = semTemplBody(c, n.sons[i]) + result = semTemplBodySons(c, n) proc semTemplBodyDirty(c: var TemplCtx, n: PNode): PNode = result = n |