Files
sdk/tests/language/generics_test.dart
T
hausner@google.com b2cbdba375 Remove named function literals from library and tests
Start eliminating old-style function literals, i.e. remove
return type and function names.

Enforcing new style function literal syntax can be turned
on with the vm flag --strict_function_literals.
Review URL: https://codereview.chromium.org//11377102

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14805 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-12 19:55:11 +00:00

60 lines
1.3 KiB
Dart

// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Dart test for generic types.
class GenericsTest<T,V> implements Map<int, int> {
static int myFunc(bool a, bool b) {
Expect.equals(true, a);
Expect.equals(false, b);
return 42;
}
static void testMain() {
int a = 1;
int b = 2;
int c = 3;
int d = 4;
Expect.equals(true, a<b);
Expect.equals(42, myFunc(a<b, c> d));
Map<int, int> e;
GenericsTest<int, GenericsTest<int, int>> f;
e = new Map();
takesMapMethod(e);
Expect.equals(2, e[0]);
Map h = new Map<int, int>();
}
static void takesMapMethod(Map<int, int> m) {
m[0] = 2;
}
Map<int, int> returnMap() {
return null;
}
}
class LongGeneric<A, B, C> {
}
class LongerGeneric<A, B, C, D, E, F, G, H, I, J> {
void func() {
LongGeneric<String,
A,
LongGeneric<C, List<E>, Map<G, Map<I, J>>>> id;
LongGeneric<
num,
Map<int, int>,
LongGeneric<
C,
List<E>,
Map<G, LongGeneric<I, J, List<A>>>>> id2;
}
}
main() {
GenericsTest.testMain();
}