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 // | |
5 // Use qualified symbols with generics at various places. | |
6 | |
7 #library("Prefix15Test.dart"); | |
8 #import("library12.dart", prefix:"lib12"); | |
9 | |
10 typedef T myFunc<T>(T param); | |
11 | |
12 class myInterface<T> implements lib12.Library12Interface { | |
13 myInterface(T this.myfld); | |
14 T addObjects(T value1, T value2) { | |
15 myfld.fld = (value1.fld + value2.fld + myfld.fld); | |
16 return myfld; | |
17 } | |
18 T myfld; | |
19 } | |
20 | |
21 class myClass2<T> { | |
22 myClass2(T this.fld2); | |
23 T func(T val) => val; | |
24 T fld2; | |
25 } | |
26 | |
27 main() { | |
28 var o = new myClass2<lib12.Library12>(new lib12.Library12(100)); | |
29 myFunc<lib12.Library12> func = o.func; | |
30 Expect.equals(2, func(new lib12.Library12(10)).func()); | |
31 Expect.equals(10, func(new lib12.Library12(10)).fld); | |
32 | |
33 o = new myClass2<lib12.Library12>(new lib12.Library12(200)); | |
34 Expect.equals(2, o.fld2.func()); | |
35 Expect.equals(200, o.fld2.fld); | |
36 | |
37 o = new myInterface<lib12.Library12>(new lib12.Library12(100)); | |
38 Expect.equals(2, o.myfld.func()); | |
39 Expect.equals(100, o.myfld.fld); | |
40 o = o.addObjects(new lib12.Library12(200), new lib12.Library12(300)); | |
41 Expect.equals(2, o.func()); | |
42 Expect.equals(600, o.fld); | |
43 } | |
OLD | NEW |