| OLD | NEW | 
|---|
| 1 // Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 part of dart._collection.dev; | 5 part of dart._collection.dev; | 
| 6 | 6 | 
| 7 typedef T _Transformation<S, T>(S value); | 7 typedef T _Transformation<S, T>(S value); | 
| 8 | 8 | 
| 9 class MappedIterable<S, T> extends Iterable<T> { | 9 class MappedIterable<S, T> extends Iterable<T> { | 
| 10   final Iterable<S> _iterable; | 10   final Iterable<S> _iterable; | 
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 272 | 272 | 
| 273   String join([String separator]) { | 273   String join([String separator]) { | 
| 274     int start = _startIndex; | 274     int start = _startIndex; | 
| 275     int end = _endIndex; | 275     int end = _endIndex; | 
| 276     if (start == end) return ""; | 276     if (start == end) return ""; | 
| 277     StringBuffer buffer = new StringBuffer("${_f(_list[start])}"); | 277     StringBuffer buffer = new StringBuffer("${_f(_list[start])}"); | 
| 278     if (_list.length != length) { | 278     if (_list.length != length) { | 
| 279       throw new ConcurrentModificationError(_list); | 279       throw new ConcurrentModificationError(_list); | 
| 280     } | 280     } | 
| 281     for (int i = start + 1; i < end; i++) { | 281     for (int i = start + 1; i < end; i++) { | 
| 282       buffer.add(separator); | 282       if (separator != null && separator != "") { | 
|  | 283         buffer.add(separator); | 
|  | 284       } | 
| 283       buffer.add("${_f(_list[i])}"); | 285       buffer.add("${_f(_list[i])}"); | 
| 284       if (_list.length != length) { | 286       if (_list.length != length) { | 
| 285         throw new ConcurrentModificationError(_list); | 287         throw new ConcurrentModificationError(_list); | 
| 286       } | 288       } | 
| 287     } | 289     } | 
| 288     return buffer.toString(); | 290     return buffer.toString(); | 
| 289   } | 291   } | 
| 290 | 292 | 
| 291   Iterable<T> where(bool test(T element)) => super.where(test); | 293   Iterable<T> where(bool test(T element)) => super.where(test); | 
| 292 | 294 | 
| (...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 674 | 676 | 
| 675   Set toSet() => new Set<E>(); | 677   Set toSet() => new Set<E>(); | 
| 676 } | 678 } | 
| 677 | 679 | 
| 678 /** The always empty iterator. */ | 680 /** The always empty iterator. */ | 
| 679 class EmptyIterator<E> implements Iterator<E> { | 681 class EmptyIterator<E> implements Iterator<E> { | 
| 680   const EmptyIterator(); | 682   const EmptyIterator(); | 
| 681   bool moveNext() => false; | 683   bool moveNext() => false; | 
| 682   E get current => null; | 684   E get current => null; | 
| 683 } | 685 } | 
| OLD | NEW | 
|---|