| Index: tool/input_sdk/lib/collection/iterable.dart
|
| diff --git a/tool/input_sdk/lib/collection/iterable.dart b/tool/input_sdk/lib/collection/iterable.dart
|
| index 8020e7e68fa82012d4dc897efafc1405295f636e..d4044b708fe48edf808b7ce4de29f5ce6427842f 100644
|
| --- a/tool/input_sdk/lib/collection/iterable.dart
|
| +++ b/tool/input_sdk/lib/collection/iterable.dart
|
| @@ -15,12 +15,13 @@ abstract class IterableMixin<E> implements Iterable<E> {
|
| // - SetMixin
|
| // If changing a method here, also change the other copies.
|
|
|
| - Iterable map(f(E element)) => new MappedIterable<E, dynamic>(this, f);
|
| + Iterable/*<T>*/ map/*<T>*/(/*=T*/ f(E element)) =>
|
| + new MappedIterable<E, dynamic/*=T*/>(this, f);
|
|
|
| Iterable<E> where(bool f(E element)) => new WhereIterable<E>(this, f);
|
|
|
| - Iterable expand(Iterable f(E element)) =>
|
| - new ExpandIterable<E, dynamic>(this, f);
|
| + Iterable/*<T>*/ expand/*<T>*/(Iterable/*<T>*/ f(E element)) =>
|
| + new ExpandIterable<E, dynamic/*=T*/>(this, f);
|
|
|
| bool contains(Object element) {
|
| for (E e in this) {
|
| @@ -45,8 +46,8 @@ abstract class IterableMixin<E> implements Iterable<E> {
|
| return value;
|
| }
|
|
|
| - dynamic fold(var initialValue,
|
| - dynamic combine(var previousValue, E element)) {
|
| + dynamic/*=T*/ fold/*<T>*/(var/*=T*/ initialValue,
|
| + dynamic/*=T*/ combine(var/*=T*/ previousValue, E element)) {
|
| var value = initialValue;
|
| for (E element in this) value = combine(value, element);
|
| return value;
|
| @@ -211,12 +212,12 @@ abstract class IterableBase<E> implements Iterable<E> {
|
| // to combine const constructors and mixins.
|
| const IterableBase();
|
|
|
| - Iterable map(f(E element)) => new MappedIterable<E, dynamic>(this, f);
|
| + Iterable/*<T>*/ map/*<T>*/(/*=T*/f(E element)) => new MappedIterable<E, dynamic/*=T*/>(this, f);
|
|
|
| Iterable<E> where(bool f(E element)) => new WhereIterable<E>(this, f);
|
|
|
| - Iterable expand(Iterable f(E element)) =>
|
| - new ExpandIterable<E, dynamic>(this, f);
|
| + Iterable/*<T>*/ expand/*<T>*/(Iterable/*<T>*/ f(E element)) =>
|
| + new ExpandIterable<E, dynamic/*=T*/>(this, f);
|
|
|
| bool contains(Object element) {
|
| for (E e in this) {
|
| @@ -241,8 +242,8 @@ abstract class IterableBase<E> implements Iterable<E> {
|
| return value;
|
| }
|
|
|
| - dynamic fold(var initialValue,
|
| - dynamic combine(var previousValue, E element)) {
|
| + dynamic/*=T*/ fold/*<T>*/(var/*=T*/ initialValue,
|
| + dynamic/*=T*/ combine(var/*=T*/ previousValue, E element)) {
|
| var value = initialValue;
|
| for (E element in this) value = combine(value, element);
|
| return value;
|
|
|