Chromium Code Reviews| Index: frog/leg/typechecker.dart |
| diff --git a/frog/leg/typechecker.dart b/frog/leg/typechecker.dart |
| index db4df503ea0f19cd4eb389d2dac58664ff90be25..bc4fbcdb158513896a560c9fef465c32e8ba5619 100644 |
| --- a/frog/leg/typechecker.dart |
| +++ b/frog/leg/typechecker.dart |
| @@ -587,7 +587,7 @@ class TypeCheckerVisitor implements Visitor<Type> { |
| } |
| visitBreakStatement(BreakStatement node) { |
| - compiler.unimplemented('visitBreakStatement', node: node); |
| + return StatementType.NOT_RETURNING; |
|
Lasse Reichstein Nielsen
2012/02/20 13:56:16
Is this correct? I see visitThrow returns RETURNIN
|
| } |
| visitContinueStatement(ContinueStatement node) { |
| @@ -595,11 +595,13 @@ class TypeCheckerVisitor implements Visitor<Type> { |
| } |
| visitForInStatement(ForInStatement node) { |
| - node.visitChildren(this); |
| + analyze(node.expression); |
| + StatementType bodyType = analyze(node.body); |
| + return bodyType.join(StatementType.NOT_RETURNING); |
| } |
| visitLabelledStatement(LabelledStatement node) { |
| - compiler.unimplemented('visitLabelledStatement', node: node); |
| + return visit(node.statement); |
| } |
| visitLiteralMap(LiteralMap node) { |