@@ -52,16 +52,12 @@ public struct IndexPath : ReferenceConvertible, Equatable, Hashable, MutableColl
52
52
switch elements. count {
53
53
case 0 :
54
54
self = . empty
55
- break
56
55
case 1 :
57
56
self = . single( elements [ 0 ] )
58
- break
59
57
case 2 :
60
58
self = . pair( elements [ 0 ] , elements [ 1 ] )
61
- break
62
59
default :
63
60
self = . array( elements)
64
- break
65
61
}
66
62
}
67
63
@@ -87,16 +83,12 @@ public struct IndexPath : ReferenceConvertible, Equatable, Hashable, MutableColl
87
83
switch self {
88
84
case . empty:
89
85
self = . single( other)
90
- break
91
86
case . single( let first) :
92
87
self = . pair( first, other)
93
- break
94
88
case . pair( let first, let second) :
95
89
self = . array( [ first, second, other] )
96
- break
97
90
case . array( let indexes) :
98
91
self = . array( indexes + [ other] )
99
- break
100
92
}
101
93
}
102
94
@@ -109,63 +101,47 @@ public struct IndexPath : ReferenceConvertible, Equatable, Hashable, MutableColl
109
101
break
110
102
case . single( let rhsIndex) :
111
103
self = . single( rhsIndex)
112
- break
113
104
case . pair( let rhsFirst, let rhsSecond) :
114
105
self = . pair( rhsFirst, rhsSecond)
115
- break
116
106
case . array( let rhsIndexes) :
117
107
self = . array( rhsIndexes)
118
- break
119
108
}
120
- break
121
109
case . single( let lhsIndex) :
122
110
switch other {
123
111
case . empty:
124
112
// DO NOTHING
125
113
break
126
114
case . single( let rhsIndex) :
127
115
self = . pair( lhsIndex, rhsIndex)
128
- break
129
116
case . pair( let rhsFirst, let rhsSecond) :
130
117
self = . array( [ lhsIndex, rhsFirst, rhsSecond] )
131
- break
132
118
case . array( let rhsIndexes) :
133
119
self = . array( [ lhsIndex] + rhsIndexes)
134
- break
135
120
}
136
- break
137
121
case . pair( let lhsFirst, let lhsSecond) :
138
122
switch other {
139
123
case . empty:
140
124
// DO NOTHING
141
125
break
142
126
case . single( let rhsIndex) :
143
127
self = . array( [ lhsFirst, lhsSecond, rhsIndex] )
144
- break
145
128
case . pair( let rhsFirst, let rhsSecond) :
146
129
self = . array( [ lhsFirst, lhsSecond, rhsFirst, rhsSecond] )
147
- break
148
130
case . array( let rhsIndexes) :
149
131
self = . array( [ lhsFirst, lhsSecond] + rhsIndexes)
150
- break
151
132
}
152
- break
153
133
case . array( let lhsIndexes) :
154
134
switch other {
155
135
case . empty:
156
136
// DO NOTHING
157
137
break
158
138
case . single( let rhsIndex) :
159
139
self = . array( lhsIndexes + [ rhsIndex] )
160
- break
161
140
case . pair( let rhsFirst, let rhsSecond) :
162
141
self = . array( lhsIndexes + [ rhsFirst, rhsSecond] )
163
- break
164
142
case . array( let rhsIndexes) :
165
143
self = . array( lhsIndexes + rhsIndexes)
166
- break
167
144
}
168
- break
169
145
}
170
146
}
171
147
@@ -178,41 +154,31 @@ public struct IndexPath : ReferenceConvertible, Equatable, Hashable, MutableColl
178
154
break
179
155
case 1 :
180
156
self = . single( other [ 0 ] )
181
- break
182
157
case 2 :
183
158
self = . pair( other [ 0 ] , other [ 1 ] )
184
- break
185
159
default :
186
160
self = . array( other)
187
- break
188
161
}
189
- break
190
162
case . single( let first) :
191
163
switch other. count {
192
164
case 0 :
193
165
// DO NOTHING
194
166
break
195
167
case 1 :
196
168
self = . pair( first, other [ 0 ] )
197
- break
198
169
default :
199
170
self = . array( [ first] + other)
200
- break
201
171
}
202
- break
203
172
case . pair( let first, let second) :
204
173
switch other. count {
205
174
case 0 :
206
175
// DO NOTHING
207
176
break
208
177
default :
209
178
self = . array( [ first, second] + other)
210
- break
211
179
}
212
- break
213
180
case . array( let indexes) :
214
181
self = . array( indexes + other)
215
- break
216
182
}
217
183
}
218
184
@@ -221,7 +187,6 @@ public struct IndexPath : ReferenceConvertible, Equatable, Hashable, MutableColl
221
187
switch self {
222
188
case . empty:
223
189
fatalError ( " index \( index) out of bounds of count 0 " )
224
- break
225
190
case . single( let first) :
226
191
precondition ( index == 0 , " index \( index) out of bounds of count 1 " )
227
192
return first
@@ -236,24 +201,20 @@ public struct IndexPath : ReferenceConvertible, Equatable, Hashable, MutableColl
236
201
switch self {
237
202
case . empty:
238
203
fatalError ( " index \( index) out of bounds of count 0 " )
239
- break
240
204
case . single:
241
205
precondition ( index == 0 , " index \( index) out of bounds of count 1 " )
242
206
self = . single( newValue)
243
- break
244
207
case . pair( let first, let second) :
245
208
precondition ( index >= 0 && index < 2 , " index \( index) out of bounds of count 2 " )
246
209
if index == 0 {
247
210
self = . pair( newValue, second)
248
211
} else {
249
212
self = . pair( first, newValue)
250
213
}
251
- break
252
214
case . array( let indexes_) :
253
215
var indexes = indexes_
254
216
indexes [ index] = newValue
255
217
self = . array( indexes)
256
- break
257
218
}
258
219
}
259
220
}
@@ -278,9 +239,7 @@ public struct IndexPath : ReferenceConvertible, Equatable, Hashable, MutableColl
278
239
default :
279
240
fatalError ( " range \( range) is out of bounds of count 1 " )
280
241
}
281
- return self
282
242
case . pair( let first, let second) :
283
-
284
243
switch ( range. lowerBound, range. upperBound) {
285
244
case ( 0 , 0 ) :
286
245
fallthrough
@@ -316,7 +275,6 @@ public struct IndexPath : ReferenceConvertible, Equatable, Hashable, MutableColl
316
275
case . empty:
317
276
precondition ( range. lowerBound == 0 && range. upperBound == 0 , " range \( range) is out of bounds of count 0 " )
318
277
self = newValue
319
- break
320
278
case . single( let index) :
321
279
switch ( range. lowerBound, range. upperBound, newValue) {
322
280
case ( 0 , 0 , . empty) :
@@ -325,13 +283,10 @@ public struct IndexPath : ReferenceConvertible, Equatable, Hashable, MutableColl
325
283
break
326
284
case ( 0 , 0 , . single( let other) ) :
327
285
self = . pair( other, index)
328
- break
329
286
case ( 0 , 0 , . pair( let first, let second) ) :
330
287
self = . array( [ first, second, index] )
331
- break
332
288
case ( 0 , 0 , . array( let other) ) :
333
289
self = . array( other + [ index] )
334
- break
335
290
case ( 0 , 1 , . empty) :
336
291
fallthrough
337
292
case ( 0 , 1 , . single) :
@@ -342,13 +297,10 @@ public struct IndexPath : ReferenceConvertible, Equatable, Hashable, MutableColl
342
297
self = newValue
343
298
case ( 1 , 1 , . single( let other) ) :
344
299
self = . pair( index, other)
345
- break
346
300
case ( 1 , 1 , . pair( let first, let second) ) :
347
301
self = . array( [ index, first, second] )
348
- break
349
302
case ( 1 , 1 , . array( let other) ) :
350
303
self = . array( [ index] + other)
351
- break
352
304
default :
353
305
fatalError ( " range \( range) is out of bounds of count 1 " )
354
306
}
@@ -360,63 +312,46 @@ public struct IndexPath : ReferenceConvertible, Equatable, Hashable, MutableColl
360
312
break
361
313
case . single( let other) :
362
314
self = . array( [ other, first, second] )
363
- break
364
315
case . pair( let otherFirst, let otherSecond) :
365
316
self = . array( [ otherFirst, otherSecond, first, second] )
366
- break
367
317
case . array( let other) :
368
318
self = . array( other + [ first, second] )
369
- break
370
319
}
371
- break
372
320
case ( 0 , 1 ) :
373
321
switch newValue {
374
322
case . empty:
375
323
self = . single( second)
376
- break
377
324
case . single( let other) :
378
325
self = . pair( other, second)
379
- break
380
326
case . pair( let otherFirst, let otherSecond) :
381
327
self = . array( [ otherFirst, otherSecond, second] )
382
- break
383
328
case . array( let other) :
384
329
self = . array( other + [ second] )
385
- break
386
330
}
387
- break
388
331
case ( 0 , 2 ) :
389
332
self = newValue
390
- break
391
333
case ( 1 , 2 ) :
392
334
switch newValue {
393
335
case . empty:
394
336
self = . single( first)
395
- break
396
337
case . single( let other) :
397
338
self = . pair( first, other)
398
- break
399
339
case . pair( let otherFirst, let otherSecond) :
400
340
self = . array( [ first, otherFirst, otherSecond] )
401
- break
402
341
case . array( let other) :
403
342
self = . array( [ first] + other)
404
343
}
405
- break
406
344
case ( 2 , 2 ) :
407
345
switch newValue {
408
346
case . empty:
409
347
break
410
348
case . single( let other) :
411
349
self = . array( [ first, second, other] )
412
- break
413
350
case . pair( let otherFirst, let otherSecond) :
414
351
self = . array( [ first, second, otherFirst, otherSecond] )
415
- break
416
352
case . array( let other) :
417
353
self = . array( [ first, second] + other)
418
354
}
419
- break
420
355
default :
421
356
fatalError ( " range \( range) is out of bounds of count 2 " )
422
357
}
@@ -428,17 +363,13 @@ public struct IndexPath : ReferenceConvertible, Equatable, Hashable, MutableColl
428
363
break
429
364
case . single( let index) :
430
365
newIndexes. insert ( index, at: range. lowerBound)
431
- break
432
366
case . pair( let first, let second) :
433
367
newIndexes. insert ( first, at: range. lowerBound)
434
368
newIndexes. insert ( second, at: range. lowerBound + 1 )
435
- break
436
369
case . array( let other) :
437
370
newIndexes. insert ( contentsOf: other, at: range. lowerBound)
438
- break
439
371
}
440
372
self = Storage ( newIndexes)
441
- break
442
373
}
443
374
}
444
375
}
0 commit comments