Skip to content

Commit 2a22ae2

Browse files
authored
Fold contiguous oneof field number sequences into a range. (apple#350)
* Fold large contiguous oneof field sequences into ranges when decoding. * Regenerate protos. * Regenerate reference protos.
1 parent 6f29bdf commit 2a22ae2

28 files changed

+82
-46
lines changed

Reference/conformance/conformance.pb.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ struct Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf._Me
434434

435435
mutating func _protobuf_generated_decodeField<D: SwiftProtobuf.Decoder>(decoder: inout D, fieldNumber: Int) throws {
436436
switch fieldNumber {
437-
case 1, 6, 2, 3, 4, 5:
437+
case 1...6:
438438
if result != nil {
439439
try decoder.handleConflictingOneOf()
440440
}

Reference/google/protobuf/struct.pb.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ struct Google_Protobuf_Value: SwiftProtobuf.Message, SwiftProtobuf._MessageImple
363363

364364
mutating func _protobuf_generated_decodeField<D: SwiftProtobuf.Decoder>(decoder: inout D, fieldNumber: Int) throws {
365365
switch fieldNumber {
366-
case 1, 2, 3, 4, 5, 6:
366+
case 1...6:
367367
if _storage._kind != nil {
368368
try decoder.handleConflictingOneOf()
369369
}

Reference/google/protobuf/test_messages_proto3.pb.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1579,7 +1579,7 @@ struct ProtobufTestMessages_Proto3_TestAllTypes: SwiftProtobuf.Message, SwiftPro
15791579
case 72: try decoder.decodeMapField(fieldType: SwiftProtobuf._ProtobufMessageMap<SwiftProtobuf.ProtobufString,ProtobufTestMessages_Proto3_ForeignMessage>.self, value: &_storage._mapStringForeignMessage)
15801580
case 73: try decoder.decodeMapField(fieldType: SwiftProtobuf._ProtobufEnumMap<SwiftProtobuf.ProtobufString,ProtobufTestMessages_Proto3_TestAllTypes.NestedEnum>.self, value: &_storage._mapStringNestedEnum)
15811581
case 74: try decoder.decodeMapField(fieldType: SwiftProtobuf._ProtobufEnumMap<SwiftProtobuf.ProtobufString,ProtobufTestMessages_Proto3_ForeignEnum>.self, value: &_storage._mapStringForeignEnum)
1582-
case 111, 112, 113, 114, 115, 116, 117, 118, 119:
1582+
case 111...119:
15831583
if _storage._oneofField != nil {
15841584
try decoder.handleConflictingOneOf()
15851585
}

Reference/google/protobuf/unittest.pb.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1474,7 +1474,7 @@ struct ProtobufUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._Mess
14741474
case 83: try decoder.decodeSingularEnumField(value: &_storage._defaultImportEnum)
14751475
case 84: try decoder.decodeSingularStringField(value: &_storage._defaultStringPiece)
14761476
case 85: try decoder.decodeSingularStringField(value: &_storage._defaultCord)
1477-
case 111, 112, 113, 114:
1477+
case 111...114:
14781478
if _storage._oneofField != nil {
14791479
try decoder.handleConflictingOneOf()
14801480
}
@@ -5994,7 +5994,7 @@ struct ProtobufUnittest_TestOneof: SwiftProtobuf.Message, SwiftProtobuf._Message
59945994

59955995
mutating func _protobuf_generated_decodeField<D: SwiftProtobuf.Decoder>(decoder: inout D, fieldNumber: Int) throws {
59965996
switch fieldNumber {
5997-
case 1, 2, 3, 4:
5997+
case 1...4:
59985998
if _storage._foo != nil {
59995999
try decoder.handleConflictingOneOf()
60006000
}
@@ -6911,7 +6911,7 @@ struct ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Messag
69116911
try decoder.handleConflictingOneOf()
69126912
}
69136913
_storage._foo = try ProtobufUnittest_TestOneof2.OneOf_Foo(byDecodingFrom: &decoder, fieldNumber: fieldNumber)
6914-
case 12, 13, 14, 15, 16, 17:
6914+
case 12...17:
69156915
if _storage._bar != nil {
69166916
try decoder.handleConflictingOneOf()
69176917
}
@@ -7166,7 +7166,7 @@ struct ProtobufUnittest_TestRequiredOneof: SwiftProtobuf.Message, SwiftProtobuf.
71667166

71677167
mutating func _protobuf_generated_decodeField<D: SwiftProtobuf.Decoder>(decoder: inout D, fieldNumber: Int) throws {
71687168
switch fieldNumber {
7169-
case 1, 2, 3:
7169+
case 1...3:
71707170
if _storage._foo != nil {
71717171
try decoder.handleConflictingOneOf()
71727172
}
@@ -9293,7 +9293,7 @@ struct ProtobufUnittest_TestHugeFieldNumbers: SwiftProtobuf.Message, SwiftProtob
92939293
case 536870007: try decoder.decodeSingularMessageField(value: &_storage._optionalMessage)
92949294
case 536870008: try decoder.decodeSingularGroupField(value: &_storage._optionalGroup)
92959295
case 536870010: try decoder.decodeMapField(fieldType: SwiftProtobuf._ProtobufMap<SwiftProtobuf.ProtobufString,SwiftProtobuf.ProtobufString>.self, value: &_storage._stringStringMap)
9296-
case 536870011, 536870012, 536870013, 536870014:
9296+
case 536870011...536870014:
92979297
if _storage._oneofField != nil {
92989298
try decoder.handleConflictingOneOf()
92999299
}

Reference/google/protobuf/unittest_lite.pb.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1485,7 +1485,7 @@ struct ProtobufUnittest_TestAllTypesLite: SwiftProtobuf.Message, SwiftProtobuf._
14851485
case 83: try decoder.decodeSingularEnumField(value: &_storage._defaultImportEnum)
14861486
case 84: try decoder.decodeSingularStringField(value: &_storage._defaultStringPiece)
14871487
case 85: try decoder.decodeSingularStringField(value: &_storage._defaultCord)
1488-
case 111, 112, 113, 114, 115:
1488+
case 111...115:
14891489
if _storage._oneofField != nil {
14901490
try decoder.handleConflictingOneOf()
14911491
}
@@ -3510,7 +3510,7 @@ struct ProtobufUnittest_TestHugeFieldNumbersLite: SwiftProtobuf.Message, SwiftPr
35103510
case 536870007: try decoder.decodeSingularMessageField(value: &_storage._optionalMessage)
35113511
case 536870008: try decoder.decodeSingularGroupField(value: &_storage._optionalGroup)
35123512
case 536870010: try decoder.decodeMapField(fieldType: SwiftProtobuf._ProtobufMap<SwiftProtobuf.ProtobufString,SwiftProtobuf.ProtobufString>.self, value: &_storage._stringStringMap)
3513-
case 536870011, 536870012, 536870013, 536870014:
3513+
case 536870011...536870014:
35143514
if _storage._oneofField != nil {
35153515
try decoder.handleConflictingOneOf()
35163516
}

Reference/google/protobuf/unittest_no_arena.pb.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1408,7 +1408,7 @@ struct ProtobufUnittestNoArena_TestAllTypes: SwiftProtobuf.Message, SwiftProtobu
14081408
case 83: try decoder.decodeSingularEnumField(value: &_storage._defaultImportEnum)
14091409
case 84: try decoder.decodeSingularStringField(value: &_storage._defaultStringPiece)
14101410
case 85: try decoder.decodeSingularStringField(value: &_storage._defaultCord)
1411-
case 111, 112, 113, 114, 115:
1411+
case 111...115:
14121412
if _storage._oneofField != nil {
14131413
try decoder.handleConflictingOneOf()
14141414
}

Reference/google/protobuf/unittest_no_field_presence.pb.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -781,7 +781,7 @@ struct Proto2NofieldpresenceUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftP
781781
case 54: try decoder.decodeRepeatedStringField(value: &_storage._repeatedStringPiece)
782782
case 55: try decoder.decodeRepeatedStringField(value: &_storage._repeatedCord)
783783
case 57: try decoder.decodeRepeatedMessageField(value: &_storage._repeatedLazyMessage)
784-
case 111, 112, 113, 114:
784+
case 111...114:
785785
if _storage._oneofField != nil {
786786
try decoder.handleConflictingOneOf()
787787
}

Reference/google/protobuf/unittest_proto3.pb.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -886,7 +886,7 @@ struct Proto3TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._MessageImplemen
886886
case 52: try decoder.decodeRepeatedEnumField(value: &_storage._repeatedForeignEnum)
887887
case 53: try decoder.decodeRepeatedEnumField(value: &_storage._repeatedImportEnum)
888888
case 54: try decoder.decodeRepeatedMessageField(value: &_storage._repeatedPublicImportMessage)
889-
case 111, 112, 113, 114:
889+
case 111...114:
890890
if _storage._oneofField != nil {
891891
try decoder.handleConflictingOneOf()
892892
}
@@ -2597,7 +2597,7 @@ struct Proto3TestOneof: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementat
25972597

25982598
mutating func _protobuf_generated_decodeField<D: SwiftProtobuf.Decoder>(decoder: inout D, fieldNumber: Int) throws {
25992599
switch fieldNumber {
2600-
case 1, 2, 3:
2600+
case 1...3:
26012601
if _storage._foo != nil {
26022602
try decoder.handleConflictingOneOf()
26032603
}

Reference/google/protobuf/unittest_proto3_arena.pb.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -827,7 +827,7 @@ struct Proto3ArenaUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._M
827827
case 54: try decoder.decodeRepeatedStringField(value: &_storage._repeatedStringPiece)
828828
case 55: try decoder.decodeRepeatedStringField(value: &_storage._repeatedCord)
829829
case 57: try decoder.decodeRepeatedMessageField(value: &_storage._repeatedLazyMessage)
830-
case 111, 112, 113, 114:
830+
case 111...114:
831831
if _storage._oneofField != nil {
832832
try decoder.handleConflictingOneOf()
833833
}

Reference/google/protobuf/unittest_proto3_arena_lite.pb.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -827,7 +827,7 @@ struct Proto3ArenaLiteUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobu
827827
case 54: try decoder.decodeRepeatedStringField(value: &_storage._repeatedStringPiece)
828828
case 55: try decoder.decodeRepeatedStringField(value: &_storage._repeatedCord)
829829
case 57: try decoder.decodeRepeatedMessageField(value: &_storage._repeatedLazyMessage)
830-
case 111, 112, 113, 114:
830+
case 111...114:
831831
if _storage._oneofField != nil {
832832
try decoder.handleConflictingOneOf()
833833
}

0 commit comments

Comments
 (0)