OLD | NEW |
| (Empty) |
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 | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 import 'package:expect/expect.dart'; | |
6 | |
7 // Tests a self-reference of a closure inside a try/catch. | |
8 // Dart2js must not try to box the closure-reference. | |
9 | |
10 main() { | |
11 var counter = 0; | |
12 inner(value) { | |
13 if (value == 0) return 0; | |
14 try { | |
15 return inner(value - 1); | |
16 } finally { | |
17 counter++; | |
18 } | |
19 } | |
20 | |
21 Expect.equals(0, inner(199)); | |
22 Expect.equals(199, counter); | |
23 } | |
OLD | NEW |