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.core; | 5 part of dart.core; |
6 | 6 |
7 /** | 7 /** |
8 * The String class represents sequences of characters. Strings are | 8 * The String class represents sequences of characters. Strings are |
9 * immutable. A string is represented by a sequence of Unicode UTF-16 | 9 * immutable. A string is represented by a sequence of Unicode UTF-16 |
10 * code units accessible through the [codeUnitAt] or the | 10 * code units accessible through the [codeUnitAt] or the |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 * If this string is not already all upper case, returns a new string | 266 * If this string is not already all upper case, returns a new string |
267 * where all characters are made upper case. Returns [:this:] otherwise. | 267 * where all characters are made upper case. Returns [:this:] otherwise. |
268 */ | 268 */ |
269 // TODO(floitsch): document better. (See EcmaScript for description). | 269 // TODO(floitsch): document better. (See EcmaScript for description). |
270 String toUpperCase(); | 270 String toUpperCase(); |
271 } | 271 } |
272 | 272 |
273 /** | 273 /** |
274 * The runes (integer Unicode code points) of a [String]. | 274 * The runes (integer Unicode code points) of a [String]. |
275 */ | 275 */ |
276 class Runes extends Iterable<int> { | 276 class Runes extends IterableBase<int> { |
277 final String string; | 277 final String string; |
278 Runes(this.string); | 278 Runes(this.string); |
279 | 279 |
280 RuneIterator get iterator => new RuneIterator(string); | 280 RuneIterator get iterator => new RuneIterator(string); |
281 | 281 |
282 int get last { | 282 int get last { |
283 if (string.length == 0) { | 283 if (string.length == 0) { |
284 throw new StateError("No elements."); | 284 throw new StateError("No elements."); |
285 } | 285 } |
286 int length = string.length; | 286 int length = string.length; |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
461 _position = position - 1; | 461 _position = position - 1; |
462 _currentCodePoint = _combineSurrogatePair(prevCodeUnit, codeUnit); | 462 _currentCodePoint = _combineSurrogatePair(prevCodeUnit, codeUnit); |
463 return true; | 463 return true; |
464 } | 464 } |
465 } | 465 } |
466 _position = position; | 466 _position = position; |
467 _currentCodePoint = codeUnit; | 467 _currentCodePoint = codeUnit; |
468 return true; | 468 return true; |
469 } | 469 } |
470 } | 470 } |
OLD | NEW |