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 // A reference to a class that is shadowed by a type variable should still work | 5 // A reference to a class that is shadowed by a type variable should still work |
6 // in a static context. | 6 // in a static context. |
7 | 7 |
8 class T { | 8 class T { |
9 String toString() => "Class T"; | 9 String toString() => "Class T"; |
10 static String staticToString() => "Class T (static)"; | 10 static String staticToString() => "Class T (static)"; |
11 } | 11 } |
12 | 12 |
13 class A<T> { | 13 class A<T> { |
14 static method() { | 14 static method() { |
15 var foo = new T(); | 15 var foo = new T(); |
16 Expect.equals("Class T", foo.toString()); | 16 Expect.equals("Class T", foo.toString()); |
17 } | 17 } |
18 instMethod() { | 18 instMethod() { |
19 var foo = T.staticToString(); | 19 var foo = T.staticToString(); |
20 Expect.equals("Class T (static)", foo); | 20 Expect.equals("Class T (static)", foo); |
21 } | 21 } |
22 } | 22 } |
23 | 23 |
24 main() { | 24 main() { |
25 A.method(); | 25 A.method(); |
26 new A<String>().instMethod(); | 26 new A<String>().instMethod(); |
27 } | 27 } |
OLD | NEW |