summary refs log tree commit diff stats
path: root/compiler/closureiters.nim
diff options
context:
space:
mode:
authorYuriy Glukhov <yuriy.glukhov@gmail.com>2018-05-01 13:19:01 +0300
committerYuriy Glukhov <yuriy.glukhov@gmail.com>2018-05-09 22:25:28 +0300
commit0ed6c3e476e421827d081e9ab0d9fcb0d3de5eb2 (patch)
tree6ffb28a2631db8e92b3276ddd440364ce89abf1b /compiler/closureiters.nim
parent48d8e215d53b5b231483b208def8b3ed8e5fdf85 (diff)
downloadNim-0ed6c3e476e421827d081e9ab0d9fcb0d3de5eb2.tar.gz
Minor dry up
Diffstat (limited to 'compiler/closureiters.nim')
-rw-r--r--compiler/closureiters.nim8
1 files changed, 3 insertions, 5 deletions
diff --git a/compiler/closureiters.nim b/compiler/closureiters.nim
index c94d90bd1..7653176de 100644
--- a/compiler/closureiters.nim
+++ b/compiler/closureiters.nim
@@ -125,12 +125,12 @@ proc addGotoOut(n: PNode, gotoOut: PNode): PNode =
     result.add(gotoOut)
 
 proc newTempVarAccess(ctx: var Ctx, typ: PType, i: TLineInfo): PNode =
+  let s = newSym(skVar, getIdent(":tmpSlLower" & $ctx.tempVarId), ctx.fn, i)
+  s.typ = typ
+
   if not ctx.stateVarSym.isNil:
     # We haven't gone through labmda lifting yet, so just create a local var,
     # it will be lifted later
-    let s = newSym(skVar, getIdent(":tmpSlLower" & $ctx.tempVarId), ctx.fn, i)
-    s.typ = typ
-
     if ctx.tempVars.isNil:
       ctx.tempVars = newNode(nkVarSection)
       addVar(ctx.tempVars, newSymNode(s))
@@ -138,8 +138,6 @@ proc newTempVarAccess(ctx: var Ctx, typ: PType, i: TLineInfo): PNode =
     result = newSymNode(s)
   else:
     # Lambda lifting is done, insert temp var to env.
-    let s = newSym(skVar, getIdent(":tmpSlLower" & $ctx.tempVarId), ctx.fn, i)
-    s.typ = typ
     result = freshVarForClosureIter(s, ctx.fn)
 
   inc ctx.tempVarId