blob: d878fef27a77d3a8b9084ea07e33fc26ca42e5bb [file] [log] [blame]
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/*@testedFeatures=inference*/
library test;
void test(List<int> o) {
int y = o. /*@typeArgs=int*/ /*@target=Iterable.fold*/ fold(
0,
/*@returnType=int*/ (/*@type=int*/ x,
/*@type=int*/ y) =>
x /*@target=num.+*/ + y);
var /*@type=int*/ z =
o. /*@typeArgs=int*/ /*@target=Iterable.fold*/ fold(
0,
/*@returnType=int*/ (/*@type=int*/ x,
/*@type=int*/ y) => /*info:DYNAMIC_INVOKE*/ x /*@target=num.+*/+ y);
y = /*info:DYNAMIC_CAST*/ z;
}
void functionExpressionInvocation(List<int> o) {
int y = (o. /*@target=Iterable.fold*/ fold) /*@typeArgs=int*/ (
0,
/*@returnType=int*/ (/*@type=int*/ x,
/*@type=int*/ y) =>
x /*@target=num.+*/ + y);
var /*@type=int*/ z =
(o. /*@target=Iterable.fold*/ fold) /*@typeArgs=int*/ (
0,
/*@returnType=int*/ (/*@type=int*/ x,
/*@type=int*/ y) => /*info:DYNAMIC_INVOKE*/ x /*@target=num.+*/+ y);
y = /*info:DYNAMIC_CAST*/ z;
}
main() {}