OLD | NEW |
| (Empty) |
1 // Copyright (c) 2015, 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 class A { | |
6 int x = 42; | |
7 } | |
8 | |
9 typedef int AA(A a); | |
10 | |
11 void bar(AA aa, a) { | |
12 // Is this integer addition? | |
13 print(aa(a) + aa(a)); | |
14 } | |
15 | |
16 void main() { | |
17 List<A> list = <A>[]; | |
18 list.add(new A()); | |
19 list.add(new B(new Point(1, 2))); | |
20 list.forEach((A a) => bar((a) => a.x, a)); | |
21 } | |
22 | |
23 class B extends A { | |
24 var _x; | |
25 B(this._x); | |
26 | |
27 get x => _x; | |
28 } | |
29 | |
30 class Point { | |
31 int x; | |
32 int y; | |
33 Point(this.x, this.y); | |
34 Point operator +(Point other) { | |
35 return new Point(this.x + other.x, this.y + other.y); | |
36 } | |
37 String toString() => "($x, $y)"; | |
38 } | |
OLD | NEW |