| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 // Dart test program for testing execution of finally blocks after an exception | 4 // Dart test program for testing execution of finally blocks after an exception |
| 5 // is thrown from inside a local function capturing a variable. | 5 // is thrown from inside a local function capturing a variable. |
| 6 | 6 |
| 7 | 7 |
| 8 class MyException { | 8 class MyException { |
| 9 const MyException(String message) : message_ = message; | 9 const MyException(String message) : message_ = message; |
| 10 final String message_; | 10 final String message_; |
| 11 } | 11 } |
| 12 | 12 |
| 13 class Helper { | 13 class Helper { |
| 14 static int f1(int k) { | 14 static int f1(int k) { |
| 15 var b; | 15 var b; |
| 16 try { | 16 try { |
| 17 var a = new List(10); | 17 var a = new List.fixedLength(10); |
| 18 int i = 0; | 18 int i = 0; |
| 19 while (i < 10) { | 19 while (i < 10) { |
| 20 int j = i; | 20 int j = i; |
| 21 a[i] = () { | 21 a[i] = () { |
| 22 if (j == 5) { | 22 if (j == 5) { |
| 23 throw new MyException("Test for exception being thrown"); | 23 throw new MyException("Test for exception being thrown"); |
| 24 } | 24 } |
| 25 k += 10; | 25 k += 10; |
| 26 return j; | 26 return j; |
| 27 }; | 27 }; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 47 | 47 |
| 48 class ExecuteFinally7Test { | 48 class ExecuteFinally7Test { |
| 49 static testMain() { | 49 static testMain() { |
| 50 Expect.equals(1171, Helper.f1(1)); | 50 Expect.equals(1171, Helper.f1(1)); |
| 51 } | 51 } |
| 52 } | 52 } |
| 53 | 53 |
| 54 main() { | 54 main() { |
| 55 ExecuteFinally7Test.testMain(); | 55 ExecuteFinally7Test.testMain(); |
| 56 } | 56 } |
| OLD | NEW |