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 // | 4 // |
5 // Test verifying that the type argument vector of subclasses are properly | 5 // Test verifying that the type argument vector of subclasses are properly |
6 // initialized by the class finalizer. | 6 // initialized by the class finalizer. |
7 | 7 |
8 class A<T> { A(); } | 8 class A<T> { A(); } |
9 class B extends A<Object> { B(); } | 9 class B extends A<Object> { B(); } |
10 class C extends B { C(); } | 10 class C extends B { C(); } |
11 | 11 |
12 main() { | 12 main() { |
13 var a = new A<String>(); | 13 var a = new A<String>(); |
14 var b = new B(); | 14 var b = new B(); |
15 var c = new C(); | 15 var c = new C(); |
16 Expect.isTrue(a is Object); | 16 Expect.isTrue(a is Object); |
17 Expect.isTrue(a is A<Object>); | 17 Expect.isTrue(a is A<Object>); |
18 Expect.isTrue(a is A<String>); | 18 Expect.isTrue(a is A<String>); |
19 Expect.isTrue(a is !A<int>); | 19 Expect.isTrue(a is !A<int>); |
20 Expect.isTrue(b is Object); | 20 Expect.isTrue(b is Object); |
21 Expect.isTrue(b is A<Object>); | 21 Expect.isTrue(b is A<Object>); |
22 Expect.isTrue(b is !A<String>); | 22 Expect.isTrue(b is !A<String>); |
23 Expect.isTrue(b is Object); | 23 Expect.isTrue(b is Object); |
24 Expect.isTrue(c is Object); | 24 Expect.isTrue(c is Object); |
25 Expect.isTrue(c is A<Object>); | 25 Expect.isTrue(c is A<Object>); |
26 Expect.isTrue(c is !A<String>); | 26 Expect.isTrue(c is !A<String>); |
27 Expect.isTrue(c is B); | 27 Expect.isTrue(c is B); |
28 } | 28 } |
OLD | NEW |