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

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

Issue 137543004: Support bounded mixins in the VM (fix issue 14453). (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 11 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
OLDNEW
(Empty)
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
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.
4
5 import "package:expect/expect.dart";
6
7 class I<T> { }
8
9 class J<T> { }
10
11 class K<T> { }
12
13 class S<U extends Set<V>, V> { }
14
15 class M<U, V, T extends Map<U, V>> {
16 m() { return T; }
17 }
18
19 class A<U, V extends Set<U>> = Object with M<U, V, Map<U, V>> implements I<V>;
20
21 class B<T extends List<num>> = Object with A<T, Set<T>> implements J<T>;
22
23 class C<T extends num> = S<Set<T>, T> with B<List<T>> implements K<T>;
24
25 main() {
26 var c = new C<int>();
27 Expect.equals("Map<List<int>, Set<List<int>>>", c.m().toString());
28 Expect.isTrue(c is K<int>);
29 Expect.isTrue(c is J<List<int>>);
30 Expect.isTrue(c is I<Set<List<int>>>);
31 Expect.isTrue(c is S<Set<int>, int>);
32 Expect.isTrue(c is A<List<int>, Set<List<int>>>);
33 Expect.isTrue(c is M<List<int>, Set<List<int>>, Map<List<int>, Set<List<int>>> >);
34 }
OLDNEW
« no previous file with comments | « tests/language/mixin_invalid_bound_test.dart ('k') | tests/language/mixin_mixin_bound_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698