Chromium Code Reviews| Index: pkg/intl/lib/number_format.dart |
| diff --git a/pkg/intl/lib/number_format.dart b/pkg/intl/lib/number_format.dart |
| index c700e6217f0325f13b761aaad7e5e7e470efe279..1745178323ca98cf0aaf510ef45f1b2f31191b4c 100644 |
| --- a/pkg/intl/lib/number_format.dart |
| +++ b/pkg/intl/lib/number_format.dart |
| @@ -475,7 +475,7 @@ class _NumberFormatParser { |
| format._negativePrefix = _parseAffix(); |
| // Skip over the negative trunk, verifying that it's identical to the |
| // positive trunk. |
| - for (var each in _iterator(trunk)) { |
| + for (var each in _iterable(trunk)) { |
| if (pattern.current != each && pattern.current != null) { |
| throw new FormatException( |
| "Positive and negative trunks must be the same"); |
| @@ -720,10 +720,27 @@ class _NumberFormatParser { |
| } |
| /** |
| + * Returns an [Iterable] on the string as a list of substrings. |
| + */ |
| +Iterable _iterable(String s) => new _StringIterable(s); |
| + |
| +/** |
| * Return an iterator on the string as a list of substrings. |
| */ |
| Iterator _iterator(String s) => new _StringIterator(s); |
| +// TODO(nweiz): remove this when issue 3780 is fixed. |
|
Alan Knight
2013/04/18 19:42:25
I wasn't getting any warnings from this in the edi
nweiz
2013/04/18 19:59:23
They showed up when running the analyzer. It's wei
Alan Knight
2013/04/18 20:07:18
The code runs fine because the iterator also imple
|
| +/** |
| + * Provides an Iterable that wraps [_iterator] so it can be used in a `for` |
| + * loop. |
| + */ |
| +class _StringIterable extends Iterable<String> { |
| + final Iterator<String> iterator; |
| + |
| + _StringIterable(String s) |
| + : iterator = _iterator(s); |
| +} |
| + |
| /** |
| * Provides an iterator over a string as a list of substrings, and also |
| * gives us a lookahead of one via the [peek] method. |