OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 /*@testedFeatures=inference*/ | 5 /*@testedFeatures=inference*/ |
6 library test; | 6 library test; |
7 | 7 |
8 import 'dart:math' as math; | 8 import 'dart:math' as math; |
9 | 9 |
10 class Trace { | 10 class Trace { |
11 List<Frame> frames = /*@typeArgs=Frame*/ []; | 11 List<Frame> frames = /*@typeArgs=Frame*/ []; |
12 } | 12 } |
13 | 13 |
14 class Frame { | 14 class Frame { |
15 String location = ''; | 15 String location = ''; |
16 } | 16 } |
17 | 17 |
18 main() { | 18 main() { |
19 List<Trace> traces = /*@typeArgs=Trace*/ []; | 19 List<Trace> traces = /*@typeArgs=Trace*/ []; |
20 var /*@type=int*/ longest = /*@promotedType=none*/ traces | 20 var /*@type=int*/ longest = /*@promotedType=none*/ traces |
21 .map(/*@returnType=int*/ (/*@type=Trace*/ trace) { | 21 .map(/*@returnType=int*/ (/*@type=Trace*/ trace) { |
22 return trace.frames | 22 return /*@promotedType=none*/ trace.frames |
23 .map(/*@returnType=int*/ (/*@type=Frame*/ frame) => | 23 .map(/*@returnType=int*/ (/*@type=Frame*/ frame) => |
24 frame.location.length) | 24 /*@promotedType=none*/ frame.location.length) |
25 .fold(0, math.max); | 25 .fold(0, math.max); |
26 }).fold(0, math.max); | 26 }).fold(0, math.max); |
27 } | 27 } |
OLD | NEW |