small code cleanups

This commit is contained in:
Araq
2014-01-23 12:22:34 +01:00
parent d01ff8994b
commit 1465a7b080
3 changed files with 3 additions and 4 deletions

View File

@@ -287,7 +287,6 @@ const
sfNoRoot* = sfBorrow # a local variable is provably no root so it doesn't
# require RC ops
sfClosureCreated* = sfDiscriminant # for transf-lambdalifting interaction
const
# getting ready for the future expr/stmt merge

View File

@@ -422,7 +422,6 @@ proc transformOuterConv(n: PNode): PNode =
proc makeClosure(prc, env: PSym, info: TLineInfo): PNode =
result = newNodeIT(nkClosure, info, prc.typ)
result.add(newSymNode(prc))
if prc.kind == skIterator: incl(prc.flags, sfClosureCreated)
if env == nil:
result.add(newNodeIT(nkNilLit, info, getSysType(tyNil)))
else:
@@ -776,8 +775,7 @@ proc liftIterSym*(n: PNode): PNode =
# transforms (iter) to (let env = newClosure[iter](); (iter, env))
let iter = n.sym
assert iter.kind == skIterator
#if sfClosureCreated in iter.flags: return n
result = newNodeIT(nkStmtListExpr, n.info, n.typ)
var env = copySym(getHiddenParam(iter))

View File

@@ -74,6 +74,8 @@ Language Additions
evaluable at compile-time.
- Support for user-defined type classes has been added.
- The *command syntax* is supported in a lot more contexts.
- Anonymous iterators are now supported and iterators can capture variables
of an outer proc.
Tools improvements