JukkaL/mypy — pull request #344 by rockneurotiko (2014-07-29 01:35:07+00:00)
Title: Yield From Statement and Expression.

Commit's log
=======

First commit
---------

**nodes.py** ->

- Added YieldFromStmt

**traverser.py** ->

- Add import YieldFromStmt
- Added visit_yield_from function

**visitor.py** ->

- Added visit_yield_from function

**parse.py** ->

- Add import YieldFromStmt
- Modified parse_yield_stmt to allow yield from statements (here comes when there is not assigntment, just a yield from wait)
- Added parse_yield_from_expr to allow a yield from assigned to a var, return the callExpr of the yield from
- Modified parse_expresssion, changed the self.current() to t (there is no reason to call it when saved it before) and added a clausule that checks that a assignment expression can go through yield from

Second commit
---------

**nodes.py** ->

- Modified YieldFromStmt

**output.py** ->

- Added visit_yield_from_stmt()

**semanal.py** ->

- Added YieldFromStmt import
- Added visit_yield_from_stmt()

**strconv.py** ->

- Added visit_yield_from_stmt()

**treetransform.py** ->

- Added YieldFromStmt import
- Added visit_yield_from_stmt()

**tests/parse-errors.test** ->

- Add error yield from without right expression

**tests/parse.test** ->

- Add yield from stmt test
- Add yield from expression test

Third commit
---------

**checker.py** ->

- Add import YieldFromExpr
- Add visit_yield_from_expr

**checkexpr.py** ->

- Add import YieldFromExpr
- Add visit_yield_from_expr

**icode.py** ->

- Add import YieldFromExpr
- Add visit_yield_from_expr

**nodes.py** ->

- Add YieldFromExpr class

**output.py** ->

- Add visit_yield_from_expr

**parse.py** ->

- Add import YieldFromExpr
- Modify return check to fail if is continued by YieldFromExpr
- Modify visit_yield_from_expr to return a YieldFromExpr instance

**pprinter.py** ->

- Add visit_yield_from_expr

**semanal.py** ->

- Add import YieldFromExpr
- Add visit_yield_from_expr

**stats.py** ->

- Add import YieldFromExpr
- Add visit_yield_from_expr

**strconv.py** ->

- Add visit_yield_from_expr

**transform.py** ->

- Add import YieldFromExpr
- Add visit_yield_from_expr

**traverser.py** ->

- Add import YieldFromExpr
- Add visit_yield_from_expr

**treetransform.py** ->

- Add import YieldFromExpr
- Add visit_yield_from_expr

**visitor.py** ->

- Add visit_yield_from_expr

**test/data/parse-errors.test** ->

- Add testYieldFromAfterReturn
**test/data/parse.test** ->

- Modify testYieldFromExpr with the new representation.

Four commit
---------

Merge with master to do a clean pull request