OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 // Regression test for dart2js that used to see aborting closure | 5 // Regression test for dart2js that used to see aborting closure |
6 // bodies as aborting their enclosing element. | 6 // bodies as aborting their enclosing element. |
7 | 7 |
8 import "package:expect/expect.dart"; | 8 import "package:expect/expect.dart"; |
9 | 9 |
10 main() { | 10 main() { |
11 var c = () { throw 42; }; | 11 var c = () { |
| 12 throw 42; |
| 13 }; |
12 () { | 14 () { |
13 // dart2js would not seen this initialization and therefore think | 15 // dart2js would not seen this initialization and therefore think |
14 // that the argument passed to a is a list of nulls. | 16 // that the argument passed to a is a list of nulls. |
15 var a = [42]; | 17 var a = [42]; |
16 foo(a); | 18 foo(a); |
17 }(); | 19 }(); |
18 } | 20 } |
19 | 21 |
20 foo(arg) { | 22 foo(arg) { |
21 Expect.isTrue(arg[0] == 42); | 23 Expect.isTrue(arg[0] == 42); |
22 } | 24 } |
OLD | NEW |