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 // VMOptions=--enable_type_checks | 4 // VMOptions=--enable_type_checks |
5 | 5 |
6 // Section 9, type variables are not valid in identifier expressions | 6 // Section 9, type variables are not valid in identifier expressions |
7 | 7 |
8 class A { | 8 class A { |
9 static func() { return "class A"; } | 9 static func() { return "class A"; } |
10 } | 10 } |
11 | 11 |
12 class B<T> { | 12 class B<T> { |
13 doFunc() { | 13 doFunc() { |
14 T.func(); // illegal to use type variable as an identifier expression | 14 T.func(); // illegal to use type variable as an identifier expression |
15 } | 15 } |
16 } | 16 } |
17 | 17 |
18 main() { | 18 main() { |
19 try { | 19 try { |
20 var buf = new B<A>().doFunc(); | 20 var buf = new B<A>().doFunc(); |
21 print(buf); | 21 print(buf); |
22 } catch (Exception e) { | 22 } on Exception catch (e) { |
23 // should be an uncatchable compile-time error, | 23 // should be an uncatchable compile-time error, |
24 } | 24 } |
25 } | 25 } |
OLD | NEW |