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 class A<T> { | 5 class A<T> { |
6 var t; | 6 var t; |
7 A() : t = (() => new List<T>()); | 7 A() : t = (() => new List<T>()); |
8 } | 8 } |
9 | 9 |
10 class B<T> { | 10 class B<T> { |
11 var t; | 11 var t; |
12 B() : t = (() => T); | 12 B() : t = (() => T); |
13 } | 13 } |
14 | 14 |
15 expect(result, expected) { | 15 expect(result, expected) { |
16 if (result != expected) { | 16 if (result != expected) { |
17 throw 'Expected $expected, got $result'; | 17 throw 'Expected $expected, got $result'; |
18 } | 18 } |
19 } | 19 } |
20 | 20 |
21 main() { | 21 main() { |
22 expect(new A<int>().t() is List<int>, true); | 22 expect(new A<int>().t() is List<int>, true); |
23 expect(new A<String>().t() is List<int>, false); | 23 expect(new A<String>().t() is List<int>, false); |
24 expect(new B<int>().t() is Type, true); | 24 expect(new B<int>().t() is Type, true); |
25 expect(new B<int>().t(), int); | 25 expect(new B<int>().t(), int); |
26 } | 26 } |
OLD | NEW |