OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011, 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 // Dart test for generic types. | |
5 | |
6 class GenericsTest<T,V> implements Map<int, int> { | |
7 static int myFunc(bool a, bool b) { | |
8 Expect.equals(true, a); | |
9 Expect.equals(false, b); | |
10 return 42; | |
11 } | |
12 | |
13 static void testMain() { | |
14 int a = 1; | |
15 int b = 2; | |
16 int c = 3; | |
17 int d = 4; | |
18 Expect.equals(true, a<b); | |
19 Expect.equals(42, myFunc(a<b, c> d)); | |
20 Map<int, int> e; | |
21 GenericsTest<int, GenericsTest<int, int>> f; | |
22 | |
23 takesVoidMethod(void _(int a) { | |
24 Expect.equals(2, a); | |
25 return 99; | |
26 }); | |
27 | |
28 takesGenericMapMethod(Map<int, int> _(int a) { | |
29 Expect.equals(2, a); | |
30 return null; | |
31 }); | |
32 | |
33 takesIntMethod(int _(int a) { | |
34 Expect.equals(2, a); | |
35 return 98; | |
36 }); | |
37 | |
38 e = new Map(); | |
39 takesMapMethod(e); | |
40 Expect.equals(2, e[0]); | |
41 Map h = new Map<int, int>(); | |
42 } | |
43 | |
44 static void takesVoidMethod(void f(int a)) { | |
45 Expect.equals(99, f(2)); | |
46 } | |
47 | |
48 static void takesIntMethod(int f(int a)) { | |
49 Expect.equals(98, f(2)); | |
50 } | |
51 | |
52 static void takesGenericMapMethod(Map<int, int> f(int a)) { | |
53 f(2); | |
54 } | |
55 | |
56 static void takesMapMethod(Map<int, int> m) { | |
57 m[0] = 2; | |
58 } | |
59 | |
60 Map<int, int> returnMap() { | |
61 return null; | |
62 } | |
63 } | |
64 | |
65 class LongGeneric<A, B, C> { | |
66 } | |
67 | |
68 class LongerGeneric<A, B, C, D, E, F, G, H, I, J> { | |
69 void func() { | |
70 LongGeneric<String, | |
71 A, | |
72 LongGeneric<C, List<E>, Map<G, Map<I, J>>>> id; | |
73 | |
74 LongGeneric< | |
75 num, | |
76 Map<int, int>, | |
77 LongGeneric< | |
78 C, | |
79 List<E>, | |
80 Map<G, LongGeneric<I, J, List<A>>>>> id2; | |
81 } | |
82 } | |
83 | |
84 main() { | |
85 GenericsTest.testMain(); | |
86 } | |
OLD | NEW |