OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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; | 5 part of dart.collection; |
6 | 6 |
7 /** | 7 /** |
8 * This [Iterable] mixin implements all [Iterable] members except `iterator`. | 8 * This [Iterable] mixin implements all [Iterable] members except `iterator`. |
9 * | 9 * |
10 * All other methods are implemented in terms of `iterator`. | 10 * All other methods are implemented in terms of `iterator`. |
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 | 273 |
274 /** Check if we are currently visiting `o` in a toString call. */ | 274 /** Check if we are currently visiting `o` in a toString call. */ |
275 bool _isToStringVisiting(Object o) { | 275 bool _isToStringVisiting(Object o) { |
276 for (int i = 0; i < _toStringVisiting.length; i++) { | 276 for (int i = 0; i < _toStringVisiting.length; i++) { |
277 if (identical(o, _toStringVisiting[i])) return true; | 277 if (identical(o, _toStringVisiting[i])) return true; |
278 } | 278 } |
279 return false; | 279 return false; |
280 } | 280 } |
281 | 281 |
282 /** | 282 /** |
283 * Convert elments of [iterable] to strings and store them in [parts]. | 283 * Convert elements of [iterable] to strings and store them in [parts]. |
284 */ | 284 */ |
285 void _iterablePartsToStrings(Iterable iterable, List parts) { | 285 void _iterablePartsToStrings(Iterable iterable, List parts) { |
286 /* | 286 /* |
287 * This is the complicated part of [iterableToShortString]. | 287 * This is the complicated part of [iterableToShortString]. |
288 * It is extracted as a separate function to avoid having too much code | 288 * It is extracted as a separate function to avoid having too much code |
289 * inside the try/finally. | 289 * inside the try/finally. |
290 */ | 290 */ |
291 /// Try to stay below this many characters. | 291 /// Try to stay below this many characters. |
292 const int LENGTH_LIMIT = 80; | 292 const int LENGTH_LIMIT = 80; |
293 | 293 |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 elision = "..."; | 389 elision = "..."; |
390 length += ELLIPSIS_SIZE + OVERHEAD; | 390 length += ELLIPSIS_SIZE + OVERHEAD; |
391 } | 391 } |
392 } | 392 } |
393 if (elision != null) { | 393 if (elision != null) { |
394 parts.add(elision); | 394 parts.add(elision); |
395 } | 395 } |
396 parts.add(penultimateString); | 396 parts.add(penultimateString); |
397 parts.add(ultimateString); | 397 parts.add(ultimateString); |
398 } | 398 } |
OLD | NEW |