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

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

Issue 11448009: Represent runtime type information as nested lists. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments. Created 8 years 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
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 class A<X, Y, Z> { 5 class A<X, Y, Z> {
6 shift() => new A<Z, X, Y>(); 6 shift() => new A<Z, X, Y>();
7 swap() => new A<Z, Y, X>(); 7 swap() => new A<Z, Y, X>();
8 get first => new A<X, X, X>(); 8 first() => new A<X, X, X>();
9 get last => new A<Z, Z, Z>(); 9 last() => new A<Z, Z, Z>();
10 wrap() => new A<A<X, X, X>, A<Y, Y, Y>, A<Z, Z, Z>>(); 10 wrap() => new A<A<X, X, X>, A<Y, Y, Y>, A<Z, Z, Z>>();
11 } 11 }
12 12
13 class U {} 13 class U {}
14 class V {} 14 class V {}
15 class W {} 15 class W {}
16 16
17 sameType(a, b) => Expect.equals(a.runtimeType, b.runtimeType); 17 sameType(a, b) => Expect.equals(a.runtimeType, b.runtimeType);
18 18
19 main() { 19 main() {
20 A a = new A<U, V, W>(); 20 A a = new A<U, V, W>();
21 sameType(new A<W, U, V>(), a.shift()); 21 sameType(new A<W, U, V>(), a.shift());
22 sameType(new A<W, V, U>(), a.swap()); 22 sameType(new A<W, V, U>(), a.swap());
23 sameType(new A<U, U, U>(), a.first); 23 sameType(new A<U, U, U>(), a.first());
24 sameType(new A<W, W, W>(), a.last); 24 sameType(new A<W, W, W>(), a.last());
25 sameType(new A<A<U, U, U>, A<V, V, V>, A<W, W, W>>(), a.wrap()); 25 sameType(new A<A<U, U, U>, A<V, V, V>, A<W, W, W>>(), a.wrap());
26 } 26 }
OLDNEW
« sdk/lib/_internal/compiler/implementation/ssa/builder.dart ('K') | « tests/co19/co19-dart2js.status ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698