| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 import "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
| 6 import "package:compiler/src/js/js.dart"; | 6 import "package:compiler/src/js/js.dart"; |
| 7 import "package:compiler/src/js/rewrite_async.dart"; | 7 import "package:compiler/src/js/rewrite_async.dart"; |
| 8 | 8 |
| 9 import "backend_dart/dart_printer_test.dart" show PrintDiagnosticListener; | 9 import "backend_dart/dart_printer_test.dart" show PrintDiagnosticListener; |
| 10 | 10 |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 continue; // Continue from finally with pending finally. | 75 continue; // Continue from finally with pending finally. |
| 76 return 2; // Return from finally with pending finally. | 76 return 2; // Return from finally with pending finally. |
| 77 } | 77 } |
| 78 } | 78 } |
| 79 } finally { | 79 } finally { |
| 80 return 3; // Return from finally with no pending finally. | 80 return 3; // Return from finally with no pending finally. |
| 81 } | 81 } |
| 82 return 4; | 82 return 4; |
| 83 }""", """ | 83 }""", """ |
| 84 function(b) { | 84 function(b) { |
| 85 var __goto = 0, __completer = new Completer(), __returnValue, __handler = 2, _
_currentError, __next, __helper; | 85 var __goto = 0, __completer = new Completer(), __returnValue, __handler = 2, _
_currentError, __next = [], __helper; |
| 86 function __body(__errorCode, __result) { | 86 function __body(__errorCode, __result) { |
| 87 if (__errorCode === 1) { | 87 if (__errorCode === 1) { |
| 88 __currentError = __result; | 88 __currentError = __result; |
| 89 __goto = __handler; | 89 __goto = __handler; |
| 90 } | 90 } |
| 91 while (true) | 91 while (true) |
| 92 __outer1: | 92 __outer1: |
| 93 switch (__goto) { | 93 switch (__goto) { |
| 94 case 0: | 94 case 0: |
| 95 // Function start | 95 // Function start |
| (...skipping 15 matching lines...) Expand all Loading... |
| 111 __next = [1, 4]; | 111 __next = [1, 4]; |
| 112 // goto finally | 112 // goto finally |
| 113 __goto = 11; | 113 __goto = 11; |
| 114 break __outer1; | 114 break __outer1; |
| 115 } | 115 } |
| 116 __goto = 13; | 116 __goto = 13; |
| 117 return thenHelper(foo(), __body, __completer); | 117 return thenHelper(foo(), __body, __completer); |
| 118 case 13: | 118 case 13: |
| 119 // returning from await. | 119 // returning from await. |
| 120 __helper = __result; | 120 __helper = __result; |
| 121 __next = [12]; | 121 __next.push(12); |
| 122 // goto finally | 122 // goto finally |
| 123 __goto = 11; | 123 __goto = 11; |
| 124 break; | 124 break; |
| 125 case 10: | 125 case 10: |
| 126 // uncaught | 126 // uncaught |
| 127 __next = [3]; | 127 __next = [3]; |
| 128 case 11: | 128 case 11: |
| 129 // finally | 129 // finally |
| 130 __handler = 3; | 130 __handler = 3; |
| 131 foo(); | 131 foo(); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 142 break; | 142 break; |
| 143 case 12: | 143 case 12: |
| 144 // after finally | 144 // after finally |
| 145 // goto while condition | 145 // goto while condition |
| 146 __goto = 8; | 146 __goto = 8; |
| 147 break; | 147 break; |
| 148 case 9: | 148 case 9: |
| 149 // after while | 149 // after while |
| 150 case 6: | 150 case 6: |
| 151 // break __outer | 151 // break __outer |
| 152 __next = [5]; | 152 __next.push(5); |
| 153 // goto finally | 153 // goto finally |
| 154 __goto = 4; | 154 __goto = 4; |
| 155 break; | 155 break; |
| 156 case 3: | 156 case 3: |
| 157 // uncaught | 157 // uncaught |
| 158 __next = [2]; | 158 __next = [2]; |
| 159 case 4: | 159 case 4: |
| 160 // finally | 160 // finally |
| 161 __handler = 2; | 161 __handler = 2; |
| 162 __returnValue = 3; | 162 __returnValue = 3; |
| (...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 701 x = c ? await fooError(error) : fooError(error); | 701 x = c ? await fooError(error) : fooError(error); |
| 702 } catch (error) { // nested error handler with overlapping name | 702 } catch (error) { // nested error handler with overlapping name |
| 703 y.x = foo(error); | 703 y.x = foo(error); |
| 704 } finally { | 704 } finally { |
| 705 foo(x); | 705 foo(x); |
| 706 } | 706 } |
| 707 } | 707 } |
| 708 } | 708 } |
| 709 """, """ | 709 """, """ |
| 710 function(c, i) { | 710 function(c, i) { |
| 711 var __goto = 0, __completer = new Completer(), __handler = 1, __currentError,
__next, x, y, __error, __error1; | 711 var __goto = 0, __completer = new Completer(), __handler = 1, __currentError,
__next = [], x, y, __error, __error1; |
| 712 function __body(__errorCode, __result) { | 712 function __body(__errorCode, __result) { |
| 713 if (__errorCode === 1) { | 713 if (__errorCode === 1) { |
| 714 __currentError = __result; | 714 __currentError = __result; |
| 715 __goto = __handler; | 715 __goto = __handler; |
| 716 } | 716 } |
| 717 while (true) | 717 while (true) |
| 718 switch (__goto) { | 718 switch (__goto) { |
| 719 case 0: | 719 case 0: |
| 720 // Function start | 720 // Function start |
| 721 __handler = 3; | 721 __handler = 3; |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 756 // returning from await. | 756 // returning from await. |
| 757 // goto join | 757 // goto join |
| 758 __goto = 15; | 758 __goto = 15; |
| 759 break; | 759 break; |
| 760 case 16: | 760 case 16: |
| 761 // else | 761 // else |
| 762 __result = fooError(__error); | 762 __result = fooError(__error); |
| 763 case 15: | 763 case 15: |
| 764 // join | 764 // join |
| 765 x = __result; | 765 x = __result; |
| 766 __next = [13]; | 766 __next.push(13); |
| 767 // goto finally | 767 // goto finally |
| 768 __goto = 12; | 768 __goto = 12; |
| 769 break; | 769 break; |
| 770 case 11: | 770 case 11: |
| 771 // catch | 771 // catch |
| 772 __handler = 10; | 772 __handler = 10; |
| 773 __error1 = __currentError; | 773 __error1 = __currentError; |
| 774 y.x = foo(__error1); | 774 y.x = foo(__error1); |
| 775 __next = [13]; | 775 __next.push(13); |
| 776 // goto finally | 776 // goto finally |
| 777 __goto = 12; | 777 __goto = 12; |
| 778 break; | 778 break; |
| 779 case 10: | 779 case 10: |
| 780 // uncaught | 780 // uncaught |
| 781 __next = [2]; | 781 __next = [2]; |
| 782 case 12: | 782 case 12: |
| 783 // finally | 783 // finally |
| 784 __handler = 2; | 784 __handler = 2; |
| 785 foo(x); | 785 foo(x); |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1009 // return | 1009 // return |
| 1010 return thenHelper(__returnValue, 0, __completer, null); | 1010 return thenHelper(__returnValue, 0, __completer, null); |
| 1011 case 2: | 1011 case 2: |
| 1012 // rethrow | 1012 // rethrow |
| 1013 return thenHelper(__currentError, 1, __completer); | 1013 return thenHelper(__currentError, 1, __completer); |
| 1014 } | 1014 } |
| 1015 } | 1015 } |
| 1016 return thenHelper(null, __body, __completer, null); | 1016 return thenHelper(null, __body, __completer, null); |
| 1017 }"""); | 1017 }"""); |
| 1018 } | 1018 } |
| OLD | NEW |