Replace String.UnicodeScalarView's user conversion to String with a "string" property

Swift SVN r19691
This commit is contained in:
Doug Gregor
2014-07-08 20:01:50 +00:00
parent f6645eb39a
commit 973caddc24
3 changed files with 12 additions and 8 deletions

View File

@@ -435,7 +435,7 @@ extension String : Collection {
} }
public subscript(i: Index) -> Character { public subscript(i: Index) -> Character {
return Character(unicodeScalars[i._base..<i._endBase]) return Character(unicodeScalars[i._base..<i._endBase].string)
} }
public func generate() -> IndexingGenerator<String> { public func generate() -> IndexingGenerator<String> {

View File

@@ -36,7 +36,7 @@ extension String {
public func _split(separator: UnicodeScalar) -> [String] { public func _split(separator: UnicodeScalar) -> [String] {
var scalarSlices = Swift.split(unicodeScalars, { $0 == separator }) var scalarSlices = Swift.split(unicodeScalars, { $0 == separator })
return scalarSlices.map { $0 as String } return scalarSlices.map { $0.string }
} }
public var isEmpty : Bool { public var isEmpty : Bool {
@@ -264,7 +264,7 @@ extension String {
for i in 0..<start { for i in 0..<start {
++startIndex ++startIndex
} }
return rng[startIndex..<rng.endIndex] return rng[startIndex..<rng.endIndex].string
} }
/// Split the given string at the given delimiter character, returning /// Split the given string at the given delimiter character, returning
@@ -276,7 +276,9 @@ extension String {
var rng = unicodeScalars var rng = unicodeScalars
for i in indices(rng) { for i in indices(rng) {
if rng[i] == delim { if rng[i] == delim {
return (rng[rng.startIndex..<i], rng[i.successor()..<rng.endIndex], true) return (rng[rng.startIndex..<i].string,
rng[i.successor()..<rng.endIndex].string,
true)
} }
} }
return (self, "", false) return (self, "", false)
@@ -292,7 +294,10 @@ extension String {
var rng = unicodeScalars var rng = unicodeScalars
for i in indices(rng) { for i in indices(rng) {
if predicate(rng[i]) { if predicate(rng[i]) {
return (rng[rng.startIndex..<i], rng[i], rng[i.successor()..<rng.endIndex], true) return (rng[rng.startIndex..<i].string,
rng[i],
rng[i.successor()..<rng.endIndex].string,
true)
} }
} }
return (self, "🎃", String(), false) return (self, "🎃", String(), false)
@@ -303,7 +308,7 @@ extension String {
/// before/between/after those delimiters. /// before/between/after those delimiters.
func _splitIf(predicate: (UnicodeScalar) -> Bool) -> [String] { func _splitIf(predicate: (UnicodeScalar) -> Bool) -> [String] {
var scalarSlices = Swift.split(unicodeScalars, predicate) var scalarSlices = Swift.split(unicodeScalars, predicate)
return scalarSlices.map { $0 as String } return scalarSlices.map { $0.string }
} }
} }

View File

@@ -125,8 +125,7 @@ extension String {
return GeneratorType(_core.generate()) return GeneratorType(_core.generate())
} }
@conversion public public var string: String {
func __conversion() -> String {
return String(_core) return String(_core)
} }