Index: sdk/lib/core/string.dart |
diff --git a/sdk/lib/core/string.dart b/sdk/lib/core/string.dart |
index d780314f2e0a9c59b775303bd0103293a7eca493..6a50b922bb09b2916e369571a6c52e216c462cd3 100644 |
--- a/sdk/lib/core/string.dart |
+++ b/sdk/lib/core/string.dart |
@@ -43,7 +43,7 @@ abstract class String implements Comparable<String>, Pattern { |
} |
/** |
- * Gets the character (as [String]) at the given [index]. |
+ * Gets the character (as a single-code-unit [String]) at the given [index]. |
* |
* The returned string represents exactly one UTF-16 code unit which may be |
* half of a surrogate pair. For example the Unicode character for a |
@@ -84,17 +84,18 @@ abstract class String implements Comparable<String>, Pattern { |
/** |
* Returns whether the two strings are equal. |
* |
- * This method compares each individual code unit of the strings. It does not |
- * check for Unicode equivalence. For example the two following strings both |
- * represent the string "Amélie" but, due to their different encoding will |
- * not return equal. |
+ * This method compares each individual code unit of the strings. |
+ * Equivalently (for strings that are well-formed UTF-16) it compares each |
+ * individual rune (code point). It does not check for Unicode equivalence. |
+ * For example the two following strings both represent the string "Amélie" |
+ * but, due to their different encoding will not return equal. |
* |
* "Am\xe9lie" |
* "Ame\u{301}lie" |
* |
- * In the first string the "é" is encoded as a single unicode code unit, |
- * whereas the second string encodes it as "e" with the combining |
- * accent character "◌́". |
+ * In the first string the "é" is encoded as a single unicode code unit (also |
+ * a single rune), whereas the second string encodes it as "e" with the |
+ * combining accent character "◌́". |
*/ |
bool operator ==(var other); |
@@ -264,7 +265,7 @@ abstract class String implements Comparable<String>, Pattern { |
} |
/** |
- * The runes of a [String]. |
+ * The runes (21 bit integer Unicode code points) of a [String]. |
*/ |
class Runes extends Iterable<int> { |
final String string; |
@@ -300,7 +301,9 @@ int _combineSurrogatePair(int start, int end) { |
return 0x10000 + ((start & 0x3FF) << 10) + (end & 0x3FF); |
} |
-/** [Iterator] for reading Unicode code points out of a Dart string. */ |
+/** [Iterator] for reading runes (21 bit integer Unicode code points) out of a |
Lasse Reichstein Nielsen
2013/02/28 12:31:21
You can drop "21 bit integer" if you want, that's
|
+ * Dart string. |
+ */ |
class RuneIterator implements BidirectionalIterator<int> { |
/** String being iterated. */ |
final String string; |
@@ -391,7 +394,8 @@ class RuneIterator implements BidirectionalIterator<int> { |
_currentCodePoint = null; |
} |
- /** The rune starting at the current position in the string. */ |
+ /** The rune (21 bit integer Unicode code point) starting at the current |
Lasse Reichstein Nielsen
2013/02/28 12:31:21
Again.
|
+ * position in the string. */ |
int get current => _currentCodePoint; |
/** |
@@ -405,7 +409,7 @@ class RuneIterator implements BidirectionalIterator<int> { |
* A string containing the current rune. |
* |
* For runes outside the basic multilingual plane, this will be |
- * a two-character String. |
+ * a String of length 2, containing two code units. |
* |
* Returns null if [current] is null. |
*/ |