| 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 patch class String { | 5 patch class String { |
| 6 /* patch */ factory String.fromCharCodes(Iterable<int> charCodes) { | 6 /* patch */ factory String.fromCharCodes(Iterable<int> charCodes) { |
| 7 return _StringBase.createFromCharCodes(charCodes); | 7 return _StringBase.createFromCharCodes(charCodes); |
| 8 } | 8 } |
| 9 } | 9 } |
| 10 | 10 |
| (...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 509 } | 509 } |
| 510 | 510 |
| 511 int get hashCode native "String_getHashCode"; | 511 int get hashCode native "String_getHashCode"; |
| 512 | 512 |
| 513 // Checks for one-byte whitespaces only. | 513 // Checks for one-byte whitespaces only. |
| 514 // TODO(srdjan): Investigate if 0x85 (NEL) and 0xA0 (NBSP) are valid | 514 // TODO(srdjan): Investigate if 0x85 (NEL) and 0xA0 (NBSP) are valid |
| 515 // whitespaces for one byte strings. | 515 // whitespaces for one byte strings. |
| 516 bool _isWhitespace(int codePoint) { | 516 bool _isWhitespace(int codePoint) { |
| 517 return | 517 return |
| 518 (codePoint == 32) || // Space. | 518 (codePoint == 32) || // Space. |
| 519 ((9 <= codePoint) && (codePoint <= 13)); // CR, LF, TAB, etc. | 519 ((9 <= codePoint) && (codePoint <= 13)) || // CR, LF, TAB, etc. |
| 520 (codePoint == 0xA0); // NBSP. |
| 520 } | 521 } |
| 521 | 522 |
| 522 String _substringUncheckedNative(int startIndex, int endIndex) | 523 String _substringUncheckedNative(int startIndex, int endIndex) |
| 523 native "OneByteString_substringUnchecked"; | 524 native "OneByteString_substringUnchecked"; |
| 524 | 525 |
| 525 List<String> _splitWithCharCode(int charCode) | 526 List<String> _splitWithCharCode(int charCode) |
| 526 native "OneByteString_splitWithCharCode"; | 527 native "OneByteString_splitWithCharCode"; |
| 527 | 528 |
| 528 List<String> split(Pattern pattern) { | 529 List<String> split(Pattern pattern) { |
| 529 if ((pattern._cid == _OneByteString._classId) && (pattern.length == 1)) { | 530 if ((pattern._cid == _OneByteString._classId) && (pattern.length == 1)) { |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 567 throw new UnsupportedError( | 568 throw new UnsupportedError( |
| 568 "_TwoByteString can only be allocated by the VM"); | 569 "_TwoByteString can only be allocated by the VM"); |
| 569 } | 570 } |
| 570 | 571 |
| 571 // Checks for one-byte whitespaces only. | 572 // Checks for one-byte whitespaces only. |
| 572 // TODO(srdjan): Investigate if 0x85 (NEL) and 0xA0 (NBSP) are valid | 573 // TODO(srdjan): Investigate if 0x85 (NEL) and 0xA0 (NBSP) are valid |
| 573 // whitespaces. Add checking for multi-byte whitespace codepoints. | 574 // whitespaces. Add checking for multi-byte whitespace codepoints. |
| 574 bool _isWhitespace(int codePoint) { | 575 bool _isWhitespace(int codePoint) { |
| 575 return | 576 return |
| 576 (codePoint == 32) || // Space. | 577 (codePoint == 32) || // Space. |
| 577 ((9 <= codePoint) && (codePoint <= 13)); // CR, LF, TAB, etc. | 578 ((9 <= codePoint) && (codePoint <= 13)) || // CR, LF, TAB, etc. |
| 579 (codePoint == 0xA0); // NBSP. |
| 578 } | 580 } |
| 579 } | 581 } |
| 580 | 582 |
| 581 | 583 |
| 582 class _FourByteString extends _StringBase implements String { | 584 class _FourByteString extends _StringBase implements String { |
| 583 factory _FourByteString._uninstantiable() { | 585 factory _FourByteString._uninstantiable() { |
| 584 throw new UnsupportedError( | 586 throw new UnsupportedError( |
| 585 "_FourByteString can only be allocated by the VM"); | 587 "_FourByteString can only be allocated by the VM"); |
| 586 } | 588 } |
| 587 | 589 |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 665 class _CodeUnits extends Object with ListMixin<int>, | 667 class _CodeUnits extends Object with ListMixin<int>, |
| 666 UnmodifiableListMixin<int> { | 668 UnmodifiableListMixin<int> { |
| 667 /** The string that this is the code units of. */ | 669 /** The string that this is the code units of. */ |
| 668 String _string; | 670 String _string; |
| 669 | 671 |
| 670 _CodeUnits(this._string); | 672 _CodeUnits(this._string); |
| 671 | 673 |
| 672 int get length => _string.length; | 674 int get length => _string.length; |
| 673 int operator[](int i) => _string.codeUnitAt(i); | 675 int operator[](int i) => _string.codeUnitAt(i); |
| 674 } | 676 } |
| OLD | NEW |