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 #library('Issue1363Test.dart'); | 6 library Issue1363Test.dart; |
7 #import('issue1363_lib.dart', prefix:'lib'); | 7 import 'issue1363_lib.dart' as lib; |
8 | 8 |
9 main() { | 9 main() { |
10 new C().test(); | 10 new C().test(); |
11 } | 11 } |
12 | 12 |
13 class C { | 13 class C { |
14 lib.Cup<lib.C> libCup; | 14 lib.Cup<lib.C> libCup; |
15 lib.Cup<C> myCup; | 15 lib.Cup<C> myCup; |
16 | 16 |
17 C(); | 17 C(); |
18 | 18 |
19 test() { | 19 test() { |
20 myCup = new lib.Cup<C>(new C()); | 20 myCup = new lib.Cup<C>(new C()); |
21 libCup = new lib.Cup<lib.C>(new lib.C()); | 21 libCup = new lib.Cup<lib.C>(new lib.C()); |
22 | 22 |
23 C contents = myCup.getContents(); // expect no warning or error | 23 C contents = myCup.getContents(); // expect no warning or error |
24 bool hasThrown = false; | 24 bool hasThrown = false; |
25 try { | 25 try { |
26 contents = libCup.getContents(); /// static type warning | 26 contents = libCup.getContents(); /// static type warning |
27 } on TypeError catch (e) { | 27 } on TypeError catch (e) { |
28 hasThrown = true; | 28 hasThrown = true; |
29 } | 29 } |
30 } | 30 } |
31 } | 31 } |
OLD | NEW |