| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library dart_printer_test; | 5 library dart_printer_test; |
| 6 | 6 |
| 7 import 'dart:mirrors'; | 7 import 'dart:mirrors'; |
| 8 import 'package:expect/expect.dart'; | 8 import 'package:expect/expect.dart'; |
| 9 import 'package:compiler/src/constants/values.dart'; | 9 import 'package:compiler/src/constants/values.dart'; |
| 10 import 'package:compiler/src/dart_backend/backend_ast_nodes.dart'; | 10 import 'package:compiler/src/dart_backend/backend_ast_nodes.dart'; |
| (...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 580 push(null); | 580 push(null); |
| 581 } | 581 } |
| 582 | 582 |
| 583 endForIn(Token await, Token begin, Token inKeyword, Token end) { | 583 endForIn(Token await, Token begin, Token inKeyword, Token end) { |
| 584 Statement body = pop(); | 584 Statement body = pop(); |
| 585 Expression exp = pop(); | 585 Expression exp = pop(); |
| 586 Node declaredIdentifier = pop(); | 586 Node declaredIdentifier = pop(); |
| 587 push(new ForIn(declaredIdentifier, exp, body)); | 587 push(new ForIn(declaredIdentifier, exp, body)); |
| 588 } | 588 } |
| 589 | 589 |
| 590 handleAssertStatement(Token assertKeyword, Token semicolonToken) { | 590 handleAssertStatement(Token assertKeyword, |
| 591 Token commaToken, Token semicolonToken) { |
| 592 Expression message; |
| 593 if (commaToken != null) message = pop(); |
| 591 Expression exp = pop(); | 594 Expression exp = pop(); |
| 592 Expression call = new CallFunction(new Identifier("assert"), [exp]); | 595 var arguments = [exp]; |
| 596 if (message != null) arguments.add(message); |
| 597 Expression call = new CallFunction(new Identifier("assert"), arguments); |
| 593 push(new ExpressionStatement(call)); | 598 push(new ExpressionStatement(call)); |
| 594 } | 599 } |
| 595 | 600 |
| 596 endLabeledStatement(int labelCount) { | 601 endLabeledStatement(int labelCount) { |
| 597 Statement statement = pop(); | 602 Statement statement = pop(); |
| 598 for (int i=0; i<labelCount; i++) { | 603 for (int i=0; i<labelCount; i++) { |
| 599 String label = pop(asName); | 604 String label = pop(asName); |
| 600 statement = new LabeledStatement(label, statement); | 605 statement = new LabeledStatement(label, statement); |
| 601 } | 606 } |
| 602 push(statement); | 607 push(statement); |
| (...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 974 checkStatement("do while(x); while (y);"); | 979 checkStatement("do while(x); while (y);"); |
| 975 checkStatement("{do; while(x); while (y);}"); | 980 checkStatement("{do; while(x); while (y);}"); |
| 976 | 981 |
| 977 checkStatement('switch(x) { case 1: case 2: return y; }'); | 982 checkStatement('switch(x) { case 1: case 2: return y; }'); |
| 978 checkStatement('switch(x) { default: return y; }'); | 983 checkStatement('switch(x) { default: return y; }'); |
| 979 checkStatement('switch(x) { case 1: x=y; default: return y; }'); | 984 checkStatement('switch(x) { case 1: x=y; default: return y; }'); |
| 980 checkStatement('switch(x) { case 1: x=y; y=z; break; default: return y; }'); | 985 checkStatement('switch(x) { case 1: x=y; y=z; break; default: return y; }'); |
| 981 | 986 |
| 982 } | 987 } |
| 983 | 988 |
| OLD | NEW |