Mercurial > python-compiler.rs
diff src/ast_type.rs @ 6:6f2bf13f4cb5
Add ast.While and ast.Break.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Tue, 31 May 2016 04:22:35 +0100 |
parents | ddf372373a77 |
children | 680d15073f55 |
line wrap: on
line diff
--- a/src/ast_type.rs +++ b/src/ast_type.rs @@ -84,6 +84,16 @@ impl Visitor<Type> for Typing { } Type::Bottom }, + Statement::While(test, body, orelse) => { + self.visit_expr(test); + for statement in body { + self.visit_statement(statement); + } + for statement in orelse { + self.visit_statement(statement); + } + Type::Bottom + }, Statement::For(target, iter, body, orelse) => { self.visit_expr(target); self.visit_expr(iter); @@ -126,6 +136,9 @@ impl Visitor<Type> for Typing { Statement::Expr(expr) => { self.visit_expr(expr) }, + Statement::Break => { + Type::Bottom + }, Statement::Error => { println!("Statement::Error"); panic!()