comparison 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
comparison
equal deleted inserted replaced
5:ddf372373a77 6:6f2bf13f4cb5
82 for statement in orelse { 82 for statement in orelse {
83 self.visit_statement(statement); 83 self.visit_statement(statement);
84 } 84 }
85 Type::Bottom 85 Type::Bottom
86 }, 86 },
87 Statement::While(test, body, orelse) => {
88 self.visit_expr(test);
89 for statement in body {
90 self.visit_statement(statement);
91 }
92 for statement in orelse {
93 self.visit_statement(statement);
94 }
95 Type::Bottom
96 },
87 Statement::For(target, iter, body, orelse) => { 97 Statement::For(target, iter, body, orelse) => {
88 self.visit_expr(target); 98 self.visit_expr(target);
89 self.visit_expr(iter); 99 self.visit_expr(iter);
90 for statement in body { 100 for statement in body {
91 self.visit_statement(statement); 101 self.visit_statement(statement);
123 } 133 }
124 Type::Bottom 134 Type::Bottom
125 }, 135 },
126 Statement::Expr(expr) => { 136 Statement::Expr(expr) => {
127 self.visit_expr(expr) 137 self.visit_expr(expr)
138 },
139 Statement::Break => {
140 Type::Bottom
128 }, 141 },
129 Statement::Error => { 142 Statement::Error => {
130 println!("Statement::Error"); 143 println!("Statement::Error");
131 panic!() 144 panic!()
132 }, 145 },