OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 import 'package:expect/expect.dart'; | 5 import 'package:expect/expect.dart'; |
6 | 6 |
7 class A { | 7 class A { |
8 foo(required1, { named1: 499}) => -(required1 + named1 * 3); | 8 foo(required1, { named1: 499}) => -(required1 + named1 * 3); |
9 bar(required1, required2, { named1: 13, named2: 17}) | 9 bar(required1, required2, { named1: 13, named2: 17}) |
10 => -(required1 + required2 * 3 + named1 * 5 + named2 * 7); | 10 => -(required1 + required2 * 3 + named1 * 5 + named2 * 7); |
11 gee({named1: 31}) => -named1; | 11 gee({named1: 31}) => -named1; |
12 } | 12 } |
13 | 13 |
14 class B extends A { | 14 class B extends A { |
15 foo(required1 | 15 foo(required1 |
16 /* // /// 00: static type warning | 16 /* // //# 00: static type warning |
17 , { named1: 499 } | 17 , { named1: 499 } |
18 */ // /// 00: static type warning | 18 */ // //# 00: static type warning |
19 ) { | 19 ) { |
20 return required1; | 20 return required1; |
21 } | 21 } |
22 | 22 |
23 bar(required1, required2, | 23 bar(required1, required2, |
24 { named1: 13 | 24 { named1: 13 |
25 /* // /// 01: static type warning | 25 /* // //# 01: static type warning |
26 , named2: 17 | 26 , named2: 17 |
27 */ // /// 01: static type warning | 27 */ // //# 01: static type warning |
28 }) { | 28 }) { |
29 return required1 + required2 * 3 + named1 * 5; | 29 return required1 + required2 * 3 + named1 * 5; |
30 } | 30 } |
31 | 31 |
32 gee({named2: 11 | 32 gee({named2: 11 |
33 /* // /// 02: static type warning | 33 /* // //# 02: static type warning |
34 , named1: 31 | 34 , named1: 31 |
35 */ // /// 02: static type warning | 35 */ // //# 02: static type warning |
36 }) { | 36 }) { |
37 return named2 * 99; | 37 return named2 * 99; |
38 } | 38 } |
39 } | 39 } |
40 | 40 |
41 main() { | 41 main() { |
42 var b = new B(); | 42 var b = new B(); |
43 Expect.equals(499, b.foo(499)); | 43 Expect.equals(499, b.foo(499)); |
44 Expect.equals(1 + 3 * 3 + 5 * 5, b.bar(1, 3, named1: 5)); | 44 Expect.equals(1 + 3 * 3 + 5 * 5, b.bar(1, 3, named1: 5)); |
45 Expect.equals(1 + 3 * 3 + 13 * 5, b.bar(1, 3)); | 45 Expect.equals(1 + 3 * 3 + 13 * 5, b.bar(1, 3)); |
46 Expect.equals(3 * 99, b.gee(named2: 3)); | 46 Expect.equals(3 * 99, b.gee(named2: 3)); |
47 Expect.equals(11 * 99, b.gee()); | 47 Expect.equals(11 * 99, b.gee()); |
48 } | 48 } |
OLD | NEW |