Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: tests/language/src/TypeVariableBoundsTest.dart

Issue 9649010: Fix type checks that wrongly ignore malformed types. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/code_generator_x64.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 // Test of parameterized factory methods. 5 // Test of parameterized factory methods.
6 6
7 class Foo<T extends num> { 7 class Foo<T extends num> {
8 Foo(); 8 Foo();
9 9
10 factory XFoo.bad() { return null; } /// 00: compile-time error 10 factory XFoo.bad() { return null; } /// 00: compile-time error
(...skipping 10 matching lines...) Expand all
21 class Baz 21 class Baz
22 extends Foo<String> /// 01: static type warning, dynamic type error 22 extends Foo<String> /// 01: static type warning, dynamic type error
23 {} 23 {}
24 24
25 class Biz extends Foo<int> {} 25 class Biz extends Foo<int> {}
26 26
27 Foo<int> fi; 27 Foo<int> fi;
28 28
29 // String is not assignable to num. 29 // String is not assignable to num.
30 Foo 30 Foo
31 <String> /// 02: static type warning 31 <String> /// 02: static type warning, dynamic type error
32 fs; 32 fs;
33 33
34 class Box<T> { 34 class Box<T> {
35 35
36 // Box.T is not assignable to num. 36 // Box.T is not assignable to num.
37 Foo<T> t; /// 03: static type warning 37 Foo<T> t; /// 03: static type warning
38 38
39 makeFoo() { 39 makeFoo() {
40 // Box.T is not assignable to num. 40 // Box.T is not assignable to num.
41 return new Foo<T>(); /// 04: static type warning 41 return new Foo<T>(); /// 04: static type warning
(...skipping 22 matching lines...) Expand all
64 64
65 // Too many type arguments. 65 // Too many type arguments.
66 new Box<Object, Object>(); /// 08: compile-time error 66 new Box<Object, Object>(); /// 08: compile-time error
67 67
68 // Fisk does not exist. 68 // Fisk does not exist.
69 Box<Fisk> box = null; /// 09: static type warning 69 Box<Fisk> box = null; /// 09: static type warning
70 70
71 // Too many type arguments. 71 // Too many type arguments.
72 Box<Object, Object> box = null; /// 10: static type warning 72 Box<Object, Object> box = null; /// 10: static type warning
73 } 73 }
OLDNEW
« no previous file with comments | « runtime/vm/code_generator_x64.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698