@@ -263,7 +263,7 @@ public protocol _UnicodeEncodingBase {
263
263
where EncodedScalar. Iterator. Element == CodeUnit
264
264
265
265
/// The replacement character U+FFFD as represented in this encoding
266
- static var encodedReplacementScalar : EncodedScalar { get }
266
+ static var encodedReplacementCharacter : EncodedScalar { get }
267
267
268
268
/// Returns true if `x` only appears in this encoding as the representation of
269
269
/// a complete scalar value.
@@ -276,8 +276,6 @@ public protocol _UnicodeEncodingBase {
276
276
public protocol UnicodeDecoder {
277
277
associatedtype Encoding : _UnicodeEncodingBase
278
278
279
- static var replacement : Encoding . EncodedScalar { get }
280
-
281
279
init ( )
282
280
283
281
mutating func parseOne< I : IteratorProtocol > (
@@ -328,7 +326,7 @@ extension Unicode.ParsingIterator : IteratorProtocol, Sequence {
328
326
mutating func next( ) -> Decoder . Encoding . EncodedScalar ? {
329
327
switch decoder. parseOne ( & codeUnits) {
330
328
case let . valid( scalarContent) : return scalarContent
331
- case . invalid: return Decoder . replacement
329
+ case . invalid: return Decoder . Encoding . encodedReplacementCharacter
332
330
case . emptyInput: return nil
333
331
}
334
332
}
@@ -598,8 +596,8 @@ extension _UTF8Decoder {
598
596
extension Unicode . UTF8 : UnicodeEncoding {
599
597
public typealias EncodedScalar = _UIntBuffer < UInt32 , UInt8 >
600
598
601
- public static var encodedReplacementScalar : EncodedScalar {
602
- fatalError ( )
599
+ public static var encodedReplacementCharacter : EncodedScalar {
600
+ return EncodedScalar ( _storage : 0xbdbfef , _bitCount : 24 )
603
601
}
604
602
605
603
public static func _isScalar( _ x: CodeUnit ) -> Bool { return x & 0x80 == 0 }
@@ -624,10 +622,6 @@ extension Unicode.UTF8 : UnicodeEncoding {
624
622
extension UTF8 . ReverseDecoder : _UTF8Decoder {
625
623
public typealias Encoding = Unicode . UTF8
626
624
627
- public static var replacement : Encoding . EncodedScalar {
628
- return Encoding . EncodedScalar ( _storage: 0xefbfbd , _bitCount: 24 )
629
- }
630
-
631
625
public static func decodeOne( _ source: Encoding . EncodedScalar ) -> UnicodeScalar {
632
626
return UTF8 . ForwardDecoder. decodeOne ( source)
633
627
}
@@ -707,10 +701,6 @@ extension
707
701
Unicode . UTF8 . ForwardDecoder : _UTF8Decoder {
708
702
public typealias Encoding = Unicode . UTF8
709
703
710
- public static var replacement : Encoding . EncodedScalar {
711
- return Encoding . EncodedScalar ( _storage: 0xbdbfef , _bitCount: 24 )
712
- }
713
-
714
704
public // @testable
715
705
func _parseMultipleCodeUnits( ) -> ( isValid: Bool , bitCount: UInt8 ) {
716
706
_sanityCheck ( buffer. _storage & 0x80 != 0 ) // this case handled elsewhere
@@ -815,8 +805,8 @@ extension _UTF16Decoder {
815
805
extension Unicode . UTF16 : UnicodeEncoding {
816
806
public typealias EncodedScalar = _UIntBuffer < UInt32 , UInt16 >
817
807
818
- public static var encodedReplacementScalar : EncodedScalar {
819
- fatalError ( )
808
+ public static var encodedReplacementCharacter : EncodedScalar {
809
+ return EncodedScalar ( _storage : 0xFFFD , _bitCount : 16 )
820
810
}
821
811
822
812
public static func _isScalar( _ x: CodeUnit ) -> Bool {
@@ -829,18 +819,12 @@ extension Unicode.UTF16 : UnicodeEncoding {
829
819
830
820
public struct ForwardDecoder {
831
821
public typealias Buffer = _UIntBuffer < UInt32 , UInt16 >
832
- public static var replacement : Encoding . EncodedScalar {
833
- return Encoding . EncodedScalar ( _storage: 0xFFFD , _bitCount: 16 )
834
- }
835
822
public init ( ) { buffer = Buffer ( ) }
836
823
public var buffer : Buffer
837
824
}
838
825
839
826
public struct ReverseDecoder {
840
827
public typealias Buffer = _UIntBuffer < UInt32 , UInt16 >
841
- public static var replacement : Encoding . EncodedScalar {
842
- return Encoding . EncodedScalar ( _storage: 0xFFFD , _bitCount: 16 )
843
- }
844
828
public init ( ) { buffer = Buffer ( ) }
845
829
public var buffer : Buffer
846
830
}
0 commit comments