OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 // Test that malformed type arguments are reported in checked mode. | 5 // Test that malformed type arguments are reported in checked mode. |
6 | 6 |
7 isCheckedMode() { | 7 isCheckedMode() { |
8 try { | 8 try { |
9 var i = 1; | 9 var i = 1; |
10 String s = i; | 10 String s = i; |
11 return false; | 11 return false; |
12 } catch(var e) { | 12 } catch (e) { |
13 return true; | 13 return true; |
14 } | 14 } |
15 } | 15 } |
16 | 16 |
17 class Foo<T> { | 17 class Foo<T> { |
18 // T is not in scope for a static method. | 18 // T is not in scope for a static method. |
19 static Foo<T> m() { | 19 static Foo<T> m() { |
20 return new Foo(); | 20 return new Foo(); |
21 } | 21 } |
22 } | 22 } |
23 | 23 |
24 main() { | 24 main() { |
25 bool got_type_error = false; | 25 bool got_type_error = false; |
26 try { | 26 try { |
27 Expect.isTrue(Foo.m() is Foo); | 27 Expect.isTrue(Foo.m() is Foo); |
28 } catch (TypeError error) { | 28 } on TypeError catch (error) { |
29 got_type_error = true; | 29 got_type_error = true; |
30 } | 30 } |
31 // Type error in checked mode only. | 31 // Type error in checked mode only. |
32 Expect.isTrue(got_type_error == isCheckedMode()); | 32 Expect.isTrue(got_type_error == isCheckedMode()); |
33 } | 33 } |
OLD | NEW |