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

Side by Side Diff: tests/language/mixin_mixin7_test.dart

Issue 2302173003: Dynamicize some mixin type tests (Closed)
Patch Set: Created 4 years, 3 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
« no previous file with comments | « no previous file | tests/language/mixin_regress_13688_test.dart » ('j') | 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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 import "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 6
7 class I<T> { } 7 class I<T> { }
8 8
9 class J<T> { } 9 class J<T> { }
10 10
11 class K<T> { } 11 class K<T> { }
12 12
13 class S<T> { } 13 class S<T> { }
14 14
15 class M<T> { 15 class M<T> {
16 m() { return T; } 16 m() { return T; }
17 } 17 }
18 18
19 class A<U, V> = Object with M implements I<V>; // M is raw. 19 class A<U, V> = Object with M implements I<V>; // M is raw.
20 20
21 class B<T> = Object with A implements J<T>; // A is raw. 21 class B<T> = Object with A implements J<T>; // A is raw.
22 22
23 class C<T> = S<List<T>> with B implements K<T>; // B is raw. 23 class C<T> = S<List<T>> with B implements K<T>; // B is raw.
24 24
25 @NoInline() @AssumeDynamic()
26 dyn(x) => x;
27
25 main() { 28 main() {
26 var c = new C<int>(); 29 var c = new C<int>();
27 Expect.equals("dynamic", c.m().toString()); 30 Expect.equals("dynamic", c.m().toString());
28 Expect.isTrue(c is K<int>); 31 Expect.isTrue(c is K<int>);
29 Expect.isTrue(c is J); 32 Expect.isTrue(c is J);
30 Expect.isTrue(c is I); 33 Expect.isTrue(c is I);
31 Expect.isTrue(c is S<List<int>>); 34 Expect.isTrue(c is S<List<int>>);
32 Expect.isTrue(c is A); 35 Expect.isTrue(c is A);
33 Expect.isTrue(c is M); 36 Expect.isTrue(c is M);
37
38 Expect.equals("dynamic", dyn(c).m().toString());
39 Expect.isTrue(dyn(c) is K<int>);
40 Expect.isTrue(dyn(c) is J);
41 Expect.isTrue(dyn(c) is I);
42 Expect.isTrue(dyn(c) is S<List<int>>);
43 Expect.isTrue(dyn(c) is A);
44 Expect.isTrue(dyn(c) is M);
45
34 } 46 }
OLDNEW
« no previous file with comments | « no previous file | tests/language/mixin_regress_13688_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698