Skip to content

Commit 8e4503a

Browse files
authored
Merge pull request swiftlang#20479 from milseman/dce
2 parents 4539dbf + 4ddfd30 commit 8e4503a

File tree

4 files changed

+78
-80
lines changed

4 files changed

+78
-80
lines changed

stdlib/public/core/Unicode.swift

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -477,13 +477,6 @@ extension Unicode.UTF32 : UnicodeCodec {
477477
@inlinable // FIXME(sil-serialize-all)
478478
public mutating func decode<I : IteratorProtocol>(
479479
_ input: inout I
480-
) -> UnicodeDecodingResult where I.Element == CodeUnit {
481-
return UTF32._decode(&input)
482-
}
483-
484-
@inlinable // FIXME(sil-serialize-all)
485-
internal static func _decode<I : IteratorProtocol>(
486-
_ input: inout I
487480
) -> UnicodeDecodingResult where I.Element == CodeUnit {
488481
var parser = ForwardParser()
489482

stdlib/public/core/UnicodeParser.swift

Lines changed: 0 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -57,79 +57,6 @@ public protocol _UnicodeParser {
5757
where I.Element == Encoding.CodeUnit
5858
}
5959

60-
extension _UnicodeParser {
61-
@inlinable // FIXME(sil-serialize-all)
62-
@inline(__always)
63-
@discardableResult
64-
internal static func _parse<I: IteratorProtocol>(
65-
_ input: inout I,
66-
repairingIllFormedSequences makeRepairs: Bool = true,
67-
into output: (Encoding.EncodedScalar)->Void
68-
) -> Int
69-
where I.Element == Encoding.CodeUnit
70-
{
71-
var errorCount = 0
72-
var d = Self()
73-
while true {
74-
switch d.parseScalar(from: &input) {
75-
case let .valid(scalarContent):
76-
output(scalarContent)
77-
case .error:
78-
if _slowPath(!makeRepairs) { return 1 }
79-
errorCount += 1
80-
output(Encoding.encodedReplacementCharacter)
81-
case .emptyInput:
82-
return errorCount
83-
}
84-
}
85-
}
86-
87-
@inlinable // FIXME(sil-serialize-all)
88-
@inline(__always)
89-
@discardableResult
90-
public static func _decode<I: IteratorProtocol>(
91-
_ input: inout I,
92-
repairingIllFormedSequences makeRepairs: Bool,
93-
into output: (Unicode.Scalar)->Void
94-
) -> Int
95-
where I.Element == Encoding.CodeUnit
96-
{
97-
return _parse(&input, repairingIllFormedSequences: makeRepairs) {
98-
output(Encoding.decode($0))
99-
}
100-
}
101-
}
102-
10360
extension Unicode {
10461
public typealias Parser = _UnicodeParser
10562
}
106-
107-
extension Unicode {
108-
@_fixed_layout
109-
public // @testable
110-
struct _ParsingIterator<
111-
CodeUnitIterator : IteratorProtocol,
112-
Parser: Unicode.Parser
113-
> where Parser.Encoding.CodeUnit == CodeUnitIterator.Element {
114-
@inline(__always)
115-
@inlinable
116-
public init(codeUnits: CodeUnitIterator, parser: Parser) {
117-
self.codeUnits = codeUnits
118-
self.parser = parser
119-
}
120-
public var codeUnits: CodeUnitIterator
121-
public var parser: Parser
122-
}
123-
}
124-
125-
extension Unicode._ParsingIterator : IteratorProtocol, Sequence {
126-
@inline(__always)
127-
@inlinable
128-
public mutating func next() -> Parser.Encoding.EncodedScalar? {
129-
switch parser.parseScalar(from: &codeUnits) {
130-
case let .valid(scalarContent): return scalarContent
131-
case .error: return Parser.Encoding.encodedReplacementCharacter
132-
case .emptyInput: return nil
133-
}
134-
}
135-
}

test/Prototypes/UnicodeDecoders.swift

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,79 @@ extension Unicode.Scalar {
3636
}
3737
//===----------------------------------------------------------------------===//
3838

39+
extension Unicode {
40+
@_fixed_layout
41+
public // @testable
42+
struct _ParsingIterator<
43+
CodeUnitIterator : IteratorProtocol,
44+
Parser: Unicode.Parser
45+
> where Parser.Encoding.CodeUnit == CodeUnitIterator.Element {
46+
@inline(__always)
47+
@inlinable
48+
public init(codeUnits: CodeUnitIterator, parser: Parser) {
49+
self.codeUnits = codeUnits
50+
self.parser = parser
51+
}
52+
public var codeUnits: CodeUnitIterator
53+
public var parser: Parser
54+
}
55+
}
56+
57+
extension Unicode._ParsingIterator : IteratorProtocol, Sequence {
58+
@inline(__always)
59+
@inlinable
60+
public mutating func next() -> Parser.Encoding.EncodedScalar? {
61+
switch parser.parseScalar(from: &codeUnits) {
62+
case let .valid(scalarContent): return scalarContent
63+
case .error: return Parser.Encoding.encodedReplacementCharacter
64+
case .emptyInput: return nil
65+
}
66+
}
67+
}
68+
69+
extension _UnicodeParser {
70+
@inlinable // FIXME(sil-serialize-all)
71+
@inline(__always)
72+
@discardableResult
73+
internal static func _parse<I: IteratorProtocol>(
74+
_ input: inout I,
75+
repairingIllFormedSequences makeRepairs: Bool = true,
76+
into output: (Encoding.EncodedScalar)->Void
77+
) -> Int
78+
where I.Element == Encoding.CodeUnit
79+
{
80+
var errorCount = 0
81+
var d = Self()
82+
while true {
83+
switch d.parseScalar(from: &input) {
84+
case let .valid(scalarContent):
85+
output(scalarContent)
86+
case .error:
87+
if _slowPath(!makeRepairs) { return 1 }
88+
errorCount += 1
89+
output(Encoding.encodedReplacementCharacter)
90+
case .emptyInput:
91+
return errorCount
92+
}
93+
}
94+
}
95+
96+
@inlinable // FIXME(sil-serialize-all)
97+
@inline(__always)
98+
@discardableResult
99+
public static func _decode<I: IteratorProtocol>(
100+
_ input: inout I,
101+
repairingIllFormedSequences makeRepairs: Bool,
102+
into output: (Unicode.Scalar)->Void
103+
) -> Int
104+
where I.Element == Encoding.CodeUnit
105+
{
106+
return _parse(&input, repairingIllFormedSequences: makeRepairs) {
107+
output(Encoding.decode($0))
108+
}
109+
}
110+
}
111+
39112
extension Unicode {
40113
struct DefaultScalarView<
41114
CodeUnits: BidirectionalCollection,

test/api-digester/Outputs/stability-stdlib-abi.swift.expected

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,11 @@ Class _SharedStringStorage has removed conformance to _NSStringCore
7676
Class _StringStorage has removed conformance to _NSStringCore
7777
Protocol _NSStringCore has been removed
7878

79+
Func Unicode.UTF32._decode(_:) has been removed
80+
Func _UnicodeParser._decode(_:repairingIllFormedSequences:into:) has been removed
81+
Func _UnicodeParser._parse(_:repairingIllFormedSequences:into:) has been removed
82+
Struct Unicode._ParsingIterator has been removed
83+
7984
Constructor ManagedBuffer.init(_doNotCallMe:) has been removed
8085
Func _makeAnyHashableUpcastingToHashableBaseType(_:storingResultInto:) has been removed
8186

0 commit comments

Comments
 (0)