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