diff options
author | Yuriy Glukhov <yuriy.glukhov@gmail.com> | 2018-05-01 13:19:01 +0300 |
---|---|---|
committer | Yuriy Glukhov <yuriy.glukhov@gmail.com> | 2018-05-09 22:25:28 +0300 |
commit | 0ed6c3e476e421827d081e9ab0d9fcb0d3de5eb2 (patch) | |
tree | 6ffb28a2631db8e92b3276ddd440364ce89abf1b /compiler/closureiters.nim | |
parent | 48d8e215d53b5b231483b208def8b3ed8e5fdf85 (diff) | |
download | Nim-0ed6c3e476e421827d081e9ab0d9fcb0d3de5eb2.tar.gz |
Minor dry up
Diffstat (limited to 'compiler/closureiters.nim')
-rw-r--r-- | compiler/closureiters.nim | 8 |
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 |