@@ -98,7 +98,7 @@ extension SerializedDiagnostics {
9898 case . blob( let diagnosticBlob) = record. payload
9999 else { throw Error . malformedRecord }
100100
101- text = String ( data : diagnosticBlob, encoding : . utf8 )
101+ text = String ( decoding : diagnosticBlob, as : UTF8 . self )
102102 level = Level ( rawValue: record. fields [ 0 ] )
103103 location = SourceLocation ( fields: record. fields [ 1 ... 4 ] ,
104104 filenameMap: filenameMap)
@@ -116,38 +116,38 @@ extension SerializedDiagnostics {
116116 }
117117 case . flag:
118118 guard record. fields. count == 2 ,
119- case . blob( let flagBlob) = record. payload,
120- let flagText = String ( data: flagBlob, encoding: . utf8)
119+ case . blob( let flagBlob) = record. payload
121120 else { throw Error . malformedRecord }
122121
122+ let flagText = String ( decoding: flagBlob, as: UTF8 . self)
123123 let diagnosticID = record. fields [ 0 ]
124124 flagMap [ diagnosticID] = flagText
125125
126126 case . category:
127127 guard record. fields. count == 2 ,
128- case . blob( let categoryBlob) = record. payload,
129- let categoryText = String ( data: categoryBlob, encoding: . utf8)
128+ case . blob( let categoryBlob) = record. payload
130129 else { throw Error . malformedRecord }
131130
131+ let categoryText = String ( decoding: categoryBlob, as: UTF8 . self)
132132 let categoryID = record. fields [ 0 ]
133133 categoryMap [ categoryID] = categoryText
134134
135135 case . filename:
136136 guard record. fields. count == 4 ,
137- case . blob( let filenameBlob) = record. payload,
138- let filenameText = String ( data: filenameBlob, encoding: . utf8)
137+ case . blob( let filenameBlob) = record. payload
139138 else { throw Error . malformedRecord }
140139
140+ let filenameText = String ( decoding: filenameBlob, as: UTF8 . self)
141141 let filenameID = record. fields [ 0 ]
142142 // record.fields[1] and record.fields[2] are no longer used.
143143 filenameMap [ filenameID] = filenameText
144144
145145 case . fixit:
146146 guard record. fields. count == 9 ,
147- case . blob( let fixItBlob) = record. payload,
148- let fixItText = String ( data: fixItBlob, encoding: . utf8)
147+ case . blob( let fixItBlob) = record. payload
149148 else { throw Error . malformedRecord }
150149
150+ let fixItText = String ( decoding: fixItBlob, as: UTF8 . self)
151151 if let start = SourceLocation ( fields: record. fields [ 0 ... 3 ] ,
152152 filenameMap: filenameMap) ,
153153 let end = SourceLocation ( fields: record. fields [ 4 ... 7 ] ,
@@ -184,7 +184,7 @@ extension SerializedDiagnostics {
184184 /// Clang includes this, it is set to 0 by Swift.
185185 public var offset : UInt64
186186
187- fileprivate init ? ( fields: ArraySlice < UInt64 > ,
187+ fileprivate init ? ( fields: Slice < UnsafeBufferPointer < UInt64 > > ,
188188 filenameMap: [ UInt64 : String ] ) {
189189 guard let filename = filenameMap [ fields [ fields. startIndex] ] else { return nil }
190190 self . filename = filename
0 commit comments