From 742526451180db627865598fc4f1c1a1aa4a43f8 Mon Sep 17 00:00:00 2001 From: Pouya Yarandi Date: Thu, 18 Apr 2024 23:37:02 +0330 Subject: [PATCH 1/4] Add test for failing scenario --- Tests/SwiftProtobufTests/TestHelpers.swift | 258 ++++++++++++++++++ .../Test_OneodFields_Decoding.swift | 72 +++++ 2 files changed, 330 insertions(+) create mode 100644 Tests/SwiftProtobufTests/Test_OneodFields_Decoding.swift diff --git a/Tests/SwiftProtobufTests/TestHelpers.swift b/Tests/SwiftProtobufTests/TestHelpers.swift index 4eedd1027..5b17fec05 100644 --- a/Tests/SwiftProtobufTests/TestHelpers.swift +++ b/Tests/SwiftProtobufTests/TestHelpers.swift @@ -469,3 +469,261 @@ extension PBTestVisitor { XCTFail("Unexpected map<*, Message>: \(fieldNumber) = \(value)") } } + +struct PBTestDecoder: Decoder { + + enum DecodingMode { + case get + case set(Any) + } + + var fieldNumber: Int? + var decodingMode: DecodingMode = .get + private(set) var value: Any + + init(fieldNumber: Int, decodingMode: DecodingMode = .get) { + self.fieldNumber = fieldNumber + self.decodingMode = decodingMode + self.value = Void() + } + + mutating func handleConflictingOneOf() throws {} + + mutating func nextFieldNumber() throws -> Int? { + defer { fieldNumber = nil } + return fieldNumber + } + + private mutating func decode(_ value: inout T) { + switch decodingMode { + case .get: + self.value = value + case .set(let v): + guard let v = v as? T else { return } + value = v + } + } + + mutating func decodeSingularFloatField(value: inout Float) throws { + decode(&value) + } + + mutating func decodeSingularFloatField(value: inout Float?) throws { + decode(&value) + } + + mutating func decodeRepeatedFloatField(value: inout [Float]) throws { + decode(&value) + } + + mutating func decodeSingularDoubleField(value: inout Double) throws { + decode(&value) + } + + mutating func decodeSingularDoubleField(value: inout Double?) throws { + decode(&value) + } + + mutating func decodeRepeatedDoubleField(value: inout [Double]) throws { + decode(&value) + } + + mutating func decodeSingularInt32Field(value: inout Int32) throws { + decode(&value) + } + + mutating func decodeSingularInt32Field(value: inout Int32?) throws { + decode(&value) + } + + mutating func decodeRepeatedInt32Field(value: inout [Int32]) throws { + decode(&value) + } + + mutating func decodeSingularInt64Field(value: inout Int64) throws { + decode(&value) + } + + mutating func decodeSingularInt64Field(value: inout Int64?) throws { + decode(&value) + } + + mutating func decodeRepeatedInt64Field(value: inout [Int64]) throws { + decode(&value) + } + + mutating func decodeSingularUInt32Field(value: inout UInt32) throws { + decode(&value) + } + + mutating func decodeSingularUInt32Field(value: inout UInt32?) throws { + decode(&value) + } + + mutating func decodeRepeatedUInt32Field(value: inout [UInt32]) throws { + decode(&value) + } + + mutating func decodeSingularUInt64Field(value: inout UInt64) throws { + decode(&value) + } + + mutating func decodeSingularUInt64Field(value: inout UInt64?) throws { + decode(&value) + } + + mutating func decodeRepeatedUInt64Field(value: inout [UInt64]) throws { + decode(&value) + } + + mutating func decodeSingularSInt32Field(value: inout Int32) throws { + decode(&value) + } + + mutating func decodeSingularSInt32Field(value: inout Int32?) throws { + decode(&value) + } + + mutating func decodeRepeatedSInt32Field(value: inout [Int32]) throws { + decode(&value) + } + + mutating func decodeSingularSInt64Field(value: inout Int64) throws { + decode(&value) + } + + mutating func decodeSingularSInt64Field(value: inout Int64?) throws { + decode(&value) + } + + mutating func decodeRepeatedSInt64Field(value: inout [Int64]) throws { + decode(&value) + } + + mutating func decodeSingularFixed32Field(value: inout UInt32) throws { + decode(&value) + } + + mutating func decodeSingularFixed32Field(value: inout UInt32?) throws { + decode(&value) + } + + mutating func decodeRepeatedFixed32Field(value: inout [UInt32]) throws { + decode(&value) + } + + mutating func decodeSingularFixed64Field(value: inout UInt64) throws { + decode(&value) + } + + mutating func decodeSingularFixed64Field(value: inout UInt64?) throws { + decode(&value) + } + + mutating func decodeRepeatedFixed64Field(value: inout [UInt64]) throws { + decode(&value) + } + + mutating func decodeSingularSFixed32Field(value: inout Int32) throws { + decode(&value) + } + + mutating func decodeSingularSFixed32Field(value: inout Int32?) throws { + decode(&value) + } + + mutating func decodeRepeatedSFixed32Field(value: inout [Int32]) throws { + decode(&value) + } + + mutating func decodeSingularSFixed64Field(value: inout Int64) throws { + decode(&value) + } + + mutating func decodeSingularSFixed64Field(value: inout Int64?) throws { + decode(&value) + } + + mutating func decodeRepeatedSFixed64Field(value: inout [Int64]) throws { + decode(&value) + } + + mutating func decodeSingularBoolField(value: inout Bool) throws { + decode(&value) + } + + mutating func decodeSingularBoolField(value: inout Bool?) throws { + decode(&value) + } + + mutating func decodeRepeatedBoolField(value: inout [Bool]) throws { + decode(&value) + } + + mutating func decodeSingularStringField(value: inout String) throws { + decode(&value) + } + + mutating func decodeSingularStringField(value: inout String?) throws { + decode(&value) + } + + mutating func decodeRepeatedStringField(value: inout [String]) throws { + decode(&value) + } + + mutating func decodeSingularBytesField(value: inout Data) throws { + decode(&value) + } + + mutating func decodeSingularBytesField(value: inout Data?) throws { + decode(&value) + } + + mutating func decodeRepeatedBytesField(value: inout [Data]) throws { + decode(&value) + } + + mutating func decodeSingularEnumField(value: inout E) throws where E : SwiftProtobuf.Enum, E.RawValue == Int { + decode(&value) + } + + mutating func decodeSingularEnumField(value: inout E?) throws where E : SwiftProtobuf.Enum, E.RawValue == Int { + decode(&value) + } + + mutating func decodeRepeatedEnumField(value: inout [E]) throws where E : SwiftProtobuf.Enum, E.RawValue == Int { + decode(&value) + } + + mutating func decodeSingularMessageField(value: inout M?) throws where M : SwiftProtobuf.Message { + decode(&value) + } + + mutating func decodeRepeatedMessageField(value: inout [M]) throws where M : SwiftProtobuf.Message { + decode(&value) + } + + mutating func decodeSingularGroupField(value: inout G?) throws where G : SwiftProtobuf.Message { + decode(&value) + } + + mutating func decodeRepeatedGroupField(value: inout [G]) throws where G : SwiftProtobuf.Message { + decode(&value) + } + + mutating func decodeMapField(fieldType: SwiftProtobuf._ProtobufMap.Type, value: inout SwiftProtobuf._ProtobufMap.BaseType) throws where KeyType : SwiftProtobuf.MapKeyType, ValueType : SwiftProtobuf.MapValueType { + decode(&value) + } + + mutating func decodeMapField(fieldType: SwiftProtobuf._ProtobufEnumMap.Type, value: inout SwiftProtobuf._ProtobufEnumMap.BaseType) throws where KeyType : SwiftProtobuf.MapKeyType, ValueType : SwiftProtobuf.Enum, ValueType.RawValue == Int { + decode(&value) + } + + mutating func decodeMapField(fieldType: SwiftProtobuf._ProtobufMessageMap.Type, value: inout SwiftProtobuf._ProtobufMessageMap.BaseType) throws where KeyType : SwiftProtobuf.MapKeyType, ValueType : Hashable, ValueType : SwiftProtobuf.Message { + decode(&value) + } + + mutating func decodeExtensionField(values: inout SwiftProtobuf.ExtensionFieldValueSet, messageType: any SwiftProtobuf.Message.Type, fieldNumber: Int) throws {} + +} diff --git a/Tests/SwiftProtobufTests/Test_OneodFields_Decoding.swift b/Tests/SwiftProtobufTests/Test_OneodFields_Decoding.swift new file mode 100644 index 000000000..2b500b42c --- /dev/null +++ b/Tests/SwiftProtobufTests/Test_OneodFields_Decoding.swift @@ -0,0 +1,72 @@ +// Test/Sources/TestSuite/Test_OneofFields_Decoding.swift +// +// Copyright (c) 2014 - 2024 Apple Inc. and the project authors +// Licensed under Apache License v2.0 with Runtime Library Exception +// +// See LICENSE.txt for license information: +// https://github.com/apple/swift-protobuf/blob/main/LICENSE.txt +// +// ----------------------------------------------------------------------------- +/// +/// Exercises the dedcode for primitive fields within a oneof. +/// +// ----------------------------------------------------------------------------- + +import Foundation +import XCTest +import SwiftProtobuf + +final class Test_OneofFields_Decoding: XCTestCase { + func testDecodeOneofCaptureField() throws { + var message = SwiftProtoTesting_Fuzz_Message() + + message.oneofInt32 = 1 + var d1 = PBTestDecoder(fieldNumber: 61) + try message.decodeMessage(decoder: &d1) + XCTAssertEqual(d1.value as? Int32, Int32(1)) + + message.oneofInt64 = 1 + var d2 = PBTestDecoder(fieldNumber: 62) + try message.decodeMessage(decoder: &d2) + XCTAssertEqual(d2.value as? Int64, Int64(1)) + + message.oneofString = "message" + var d3 = PBTestDecoder(fieldNumber: 74) + try message.decodeMessage(decoder: &d3) + XCTAssertEqual(d3.value as? String, "message") + + message.oneofBytes = "message".data(using: .utf8)! + var d4 = PBTestDecoder(fieldNumber: 75) + try message.decodeMessage(decoder: &d4) + XCTAssertEqual(d4.value as? Data, "message".data(using: .utf8)!) + + message.oneofEnum = .two + var d5 = PBTestDecoder(fieldNumber: 76) + try message.decodeMessage(decoder: &d5) + XCTAssertEqual(d5.value as? SwiftProtoTesting_Fuzz_AnEnum, .two) + } + + func testDecodeOneofModifyField() throws { + var message = SwiftProtoTesting_Fuzz_Message() + + var d1 = PBTestDecoder(fieldNumber: 61, decodingMode: .set(Int32(2))) + try message.decodeMessage(decoder: &d1) + XCTAssertEqual(message.oneofInt32, Int32(2)) + + var d2 = PBTestDecoder(fieldNumber: 62, decodingMode: .set(Int64(2))) + try message.decodeMessage(decoder: &d2) + XCTAssertEqual(message.oneofInt64, Int64(2)) + + var d3 = PBTestDecoder(fieldNumber: 74, decodingMode: .set("message")) + try message.decodeMessage(decoder: &d3) + XCTAssertEqual(message.oneofString, "message") + + var d4 = PBTestDecoder(fieldNumber: 75, decodingMode: .set("message".data(using: .utf8)!)) + try message.decodeMessage(decoder: &d4) + XCTAssertEqual(message.oneofBytes, "message".data(using: .utf8)!) + + var d5 = PBTestDecoder(fieldNumber: 76, decodingMode: .set(SwiftProtoTesting_Fuzz_AnEnum.two)) + try message.decodeMessage(decoder: &d5) + XCTAssertEqual(message.oneofEnum, .two) + } +} From 1a58f91e7842c725807384331751b83f8fd4b1cd Mon Sep 17 00:00:00 2001 From: Pouya Yarandi Date: Thu, 18 Apr 2024 23:55:04 +0330 Subject: [PATCH 2/4] Regenerate proto messages --- .../Sources/FuzzCommon/fuzz_testing.pb.swift | 16 +++++++++++ .../conformance/conformance.pb.swift | 13 +++++++++ .../protobuf/test_messages_proto2.pb.swift | 8 ++++++ .../protobuf/test_messages_proto3.pb.swift | 9 ++++++ .../google/protobuf/struct.pb.swift | 4 +++ .../pluginlib_descriptor_test.pb.swift | 5 ++++ .../pluginlib_descriptor_test2.pb.swift | 3 ++ .../SwiftProtobufTests/fuzz_testing.pb.swift | 16 +++++++++++ .../test_messages_proto3.pb.swift | 9 ++++++ .../SwiftProtobufTests/unittest.pb.swift | 7 +++++ .../unittest_preserve_unknown_enum.pb.swift | 4 +++ .../unittest_preserve_unknown_enum2.pb.swift | 2 ++ .../unittest_proto3.pb.swift | 3 ++ ...unittest_swift_all_required_types.pb.swift | 3 ++ .../unittest_swift_fieldorder.pb.swift | 12 ++++++++ .../unittest_swift_naming.pb.swift | 4 +++ ...unittest_swift_oneof_all_required.pb.swift | 1 + .../unittest_swift_oneof_merging.pb.swift | 3 ++ .../unittest_swift_runtime_proto2.pb.swift | 16 +++++++++++ .../unittest_swift_runtime_proto3.pb.swift | 16 +++++++++++ .../upstream/conformance/conformance.pb.swift | 13 +++++++++ .../upstream/google/protobuf/struct.pb.swift | 4 +++ .../protobuf/test_messages_proto2.pb.swift | 8 ++++++ .../protobuf/test_messages_proto3.pb.swift | 9 ++++++ .../google/protobuf/unittest.pb.swift | 28 +++++++++++++++++++ .../protobuf/unittest_custom_options.pb.swift | 1 + .../google/protobuf/unittest_lite.pb.swift | 14 ++++++++++ .../unittest_no_field_presence.pb.swift | 3 ++ .../protobuf/unittest_optimize_for.pb.swift | 2 ++ .../unittest_preserve_unknown_enum.pb.swift | 4 +++ .../unittest_preserve_unknown_enum2.pb.swift | 2 ++ .../google/protobuf/unittest_proto3.pb.swift | 4 +++ .../protobuf/unittest_proto3_arena.pb.swift | 3 ++ .../unittest_proto3_arena_lite.pb.swift | 3 ++ .../protobuf/unittest_proto3_lite.pb.swift | 3 ++ .../protobuf/unittest_retention.pb.swift | 1 + Sources/Conformance/conformance.pb.swift | 13 +++++++++ .../Conformance/test_messages_proto2.pb.swift | 8 ++++++ .../Conformance/test_messages_proto3.pb.swift | 9 ++++++ Sources/SwiftProtobuf/struct.pb.swift | 4 +++ Sources/protoc-gen-swift/OneofGenerator.swift | 1 + .../SwiftProtobufTests/fuzz_testing.pb.swift | 16 +++++++++++ .../test_messages_proto3.pb.swift | 9 ++++++ Tests/SwiftProtobufTests/unittest.pb.swift | 7 +++++ .../unittest_preserve_unknown_enum.pb.swift | 4 +++ .../unittest_preserve_unknown_enum2.pb.swift | 2 ++ .../unittest_proto3.pb.swift | 3 ++ ...unittest_swift_all_required_types.pb.swift | 3 ++ .../unittest_swift_fieldorder.pb.swift | 12 ++++++++ .../unittest_swift_naming.pb.swift | 4 +++ ...unittest_swift_oneof_all_required.pb.swift | 1 + .../unittest_swift_oneof_merging.pb.swift | 3 ++ .../unittest_swift_runtime_proto2.pb.swift | 16 +++++++++++ .../unittest_swift_runtime_proto3.pb.swift | 16 +++++++++++ 54 files changed, 387 insertions(+) diff --git a/FuzzTesting/Sources/FuzzCommon/fuzz_testing.pb.swift b/FuzzTesting/Sources/FuzzCommon/fuzz_testing.pb.swift index 241215849..eee2ecb1f 100644 --- a/FuzzTesting/Sources/FuzzCommon/fuzz_testing.pb.swift +++ b/FuzzTesting/Sources/FuzzCommon/fuzz_testing.pb.swift @@ -3471,6 +3471,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ case 49: try { try decoder.decodeRepeatedMessageField(value: &_storage._repeatedMessage) }() case 61: try { var v: Int32? + if case .oneofInt32(let _v) = _storage._o {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3479,6 +3480,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 62: try { var v: Int64? + if case .oneofInt64(let _v) = _storage._o {v = _v} try decoder.decodeSingularInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3487,6 +3489,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 63: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._o {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3495,6 +3498,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 64: try { var v: UInt64? + if case .oneofUint64(let _v) = _storage._o {v = _v} try decoder.decodeSingularUInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3503,6 +3507,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 65: try { var v: Int32? + if case .oneofSint32(let _v) = _storage._o {v = _v} try decoder.decodeSingularSInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3511,6 +3516,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 66: try { var v: Int64? + if case .oneofSint64(let _v) = _storage._o {v = _v} try decoder.decodeSingularSInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3519,6 +3525,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 67: try { var v: UInt32? + if case .oneofFixed32(let _v) = _storage._o {v = _v} try decoder.decodeSingularFixed32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3527,6 +3534,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 68: try { var v: UInt64? + if case .oneofFixed64(let _v) = _storage._o {v = _v} try decoder.decodeSingularFixed64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3535,6 +3543,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 69: try { var v: Int32? + if case .oneofSfixed32(let _v) = _storage._o {v = _v} try decoder.decodeSingularSFixed32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3543,6 +3552,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 70: try { var v: Int64? + if case .oneofSfixed64(let _v) = _storage._o {v = _v} try decoder.decodeSingularSFixed64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3551,6 +3561,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 71: try { var v: Float? + if case .oneofFloat(let _v) = _storage._o {v = _v} try decoder.decodeSingularFloatField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3559,6 +3570,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 72: try { var v: Double? + if case .oneofDouble(let _v) = _storage._o {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3567,6 +3579,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 73: try { var v: Bool? + if case .oneofBool(let _v) = _storage._o {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3575,6 +3588,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 74: try { var v: String? + if case .oneofString(let _v) = _storage._o {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3583,6 +3597,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 75: try { var v: Data? + if case .oneofBytes(let _v) = _storage._o {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3591,6 +3606,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 76: try { var v: SwiftProtoTesting_Fuzz_AnEnum? + if case .oneofEnum(let _v) = _storage._o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/Conformance/conformance/conformance.pb.swift b/Reference/Conformance/conformance/conformance.pb.swift index ef099db7b..cea6cf759 100644 --- a/Reference/Conformance/conformance/conformance.pb.swift +++ b/Reference/Conformance/conformance/conformance.pb.swift @@ -491,6 +491,7 @@ extension Conformance_ConformanceRequest: SwiftProtobuf.Message, SwiftProtobuf._ switch fieldNumber { case 1: try { var v: Data? + if case .protobufPayload(let _v) = self.payload {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.payload != nil {try decoder.handleConflictingOneOf()} @@ -499,6 +500,7 @@ extension Conformance_ConformanceRequest: SwiftProtobuf.Message, SwiftProtobuf._ }() case 2: try { var v: String? + if case .jsonPayload(let _v) = self.payload {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.payload != nil {try decoder.handleConflictingOneOf()} @@ -511,6 +513,7 @@ extension Conformance_ConformanceRequest: SwiftProtobuf.Message, SwiftProtobuf._ case 6: try { try decoder.decodeSingularMessageField(value: &self._jspbEncodingOptions) }() case 7: try { var v: String? + if case .jspbPayload(let _v) = self.payload {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.payload != nil {try decoder.handleConflictingOneOf()} @@ -519,6 +522,7 @@ extension Conformance_ConformanceRequest: SwiftProtobuf.Message, SwiftProtobuf._ }() case 8: try { var v: String? + if case .textPayload(let _v) = self.payload {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.payload != nil {try decoder.handleConflictingOneOf()} @@ -610,6 +614,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. switch fieldNumber { case 1: try { var v: String? + if case .parseError(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -618,6 +623,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 2: try { var v: String? + if case .runtimeError(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -626,6 +632,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 3: try { var v: Data? + if case .protobufPayload(let _v) = self.result {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -634,6 +641,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 4: try { var v: String? + if case .jsonPayload(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -642,6 +650,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 5: try { var v: String? + if case .skipped(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -650,6 +659,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 6: try { var v: String? + if case .serializeError(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -658,6 +668,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 7: try { var v: String? + if case .jspbPayload(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -666,6 +677,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 8: try { var v: String? + if case .textPayload(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -674,6 +686,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 9: try { var v: String? + if case .timeoutError(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/Conformance/google/protobuf/test_messages_proto2.pb.swift b/Reference/Conformance/google/protobuf/test_messages_proto2.pb.swift index 08e6faeb1..5ae2c7845 100644 --- a/Reference/Conformance/google/protobuf/test_messages_proto2.pb.swift +++ b/Reference/Conformance/google/protobuf/test_messages_proto2.pb.swift @@ -2616,6 +2616,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, case 102: try { try decoder.decodeRepeatedEnumField(value: &_storage._unpackedNestedEnum) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2637,6 +2638,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2645,6 +2647,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2653,6 +2656,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 115: try { var v: Bool? + if case .oneofBool(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2661,6 +2665,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 116: try { var v: UInt64? + if case .oneofUint64(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt64Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2669,6 +2674,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 117: try { var v: Float? + if case .oneofFloat(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularFloatField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2677,6 +2683,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 118: try { var v: Double? + if case .oneofDouble(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2685,6 +2692,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 119: try { var v: ProtobufTestMessages_Proto2_TestAllTypesProto2.NestedEnum? + if case .oneofEnum(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/Conformance/google/protobuf/test_messages_proto3.pb.swift b/Reference/Conformance/google/protobuf/test_messages_proto3.pb.swift index 367b0dc91..87afba6bf 100644 --- a/Reference/Conformance/google/protobuf/test_messages_proto3.pb.swift +++ b/Reference/Conformance/google/protobuf/test_messages_proto3.pb.swift @@ -1743,6 +1743,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, case 102: try { try decoder.decodeRepeatedEnumField(value: &_storage._unpackedNestedEnum) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1764,6 +1765,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1772,6 +1774,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1780,6 +1783,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 115: try { var v: Bool? + if case .oneofBool(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1788,6 +1792,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 116: try { var v: UInt64? + if case .oneofUint64(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt64Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1796,6 +1801,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 117: try { var v: Float? + if case .oneofFloat(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularFloatField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1804,6 +1810,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 118: try { var v: Double? + if case .oneofDouble(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1812,6 +1819,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 119: try { var v: ProtobufTestMessages_Proto3_TestAllTypesProto3.NestedEnum? + if case .oneofEnum(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1820,6 +1828,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 120: try { var v: SwiftProtobuf.Google_Protobuf_NullValue? + if case .oneofNullValue(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobuf/google/protobuf/struct.pb.swift b/Reference/SwiftProtobuf/google/protobuf/struct.pb.swift index fd0afcc0c..ece59f97f 100644 --- a/Reference/SwiftProtobuf/google/protobuf/struct.pb.swift +++ b/Reference/SwiftProtobuf/google/protobuf/struct.pb.swift @@ -273,6 +273,7 @@ extension Google_Protobuf_Value: Message, _MessageImplementationBase, _ProtoName switch fieldNumber { case 1: try { var v: Google_Protobuf_NullValue? + if case .nullValue(let _v) = self.kind {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.kind != nil {try decoder.handleConflictingOneOf()} @@ -281,6 +282,7 @@ extension Google_Protobuf_Value: Message, _MessageImplementationBase, _ProtoName }() case 2: try { var v: Double? + if case .numberValue(let _v) = self.kind {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if self.kind != nil {try decoder.handleConflictingOneOf()} @@ -289,6 +291,7 @@ extension Google_Protobuf_Value: Message, _MessageImplementationBase, _ProtoName }() case 3: try { var v: String? + if case .stringValue(let _v) = self.kind {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.kind != nil {try decoder.handleConflictingOneOf()} @@ -297,6 +300,7 @@ extension Google_Protobuf_Value: Message, _MessageImplementationBase, _ProtoName }() case 4: try { var v: Bool? + if case .boolValue(let _v) = self.kind {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if self.kind != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobufPluginLibraryTests/pluginlib_descriptor_test.pb.swift b/Reference/SwiftProtobufPluginLibraryTests/pluginlib_descriptor_test.pb.swift index 118cea5ed..df372e71a 100644 --- a/Reference/SwiftProtobufPluginLibraryTests/pluginlib_descriptor_test.pb.swift +++ b/Reference/SwiftProtobufPluginLibraryTests/pluginlib_descriptor_test.pb.swift @@ -574,6 +574,7 @@ extension SDTTopLevelMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImple case 2: try { try decoder.decodeSingularInt32Field(value: &_storage._field2) }() case 3: try { var v: SDTTopLevelEnum? + if case .field3(let _v) = _storage._o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -582,6 +583,7 @@ extension SDTTopLevelMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImple }() case 4: try { var v: SDTTopLevelMessage.SubEnum? + if case .field4(let _v) = _storage._o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -955,6 +957,7 @@ extension SDTProto2MessageForPresence: SwiftProtobuf.Message, SwiftProtobuf._Mes case 24: try { try decoder.decodeRepeatedMessageField(value: &self.repeatMessageField) }() case 31: try { var v: String? + if case .oneofStrField(let _v) = self.o {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -963,6 +966,7 @@ extension SDTProto2MessageForPresence: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 32: try { var v: Int32? + if case .oneofInt32Field(let _v) = self.o {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -971,6 +975,7 @@ extension SDTProto2MessageForPresence: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 33: try { var v: SDTTopLevelEnum? + if case .oneofEnumField(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobufPluginLibraryTests/pluginlib_descriptor_test2.pb.swift b/Reference/SwiftProtobufPluginLibraryTests/pluginlib_descriptor_test2.pb.swift index ad60f1671..d93d44b75 100644 --- a/Reference/SwiftProtobufPluginLibraryTests/pluginlib_descriptor_test2.pb.swift +++ b/Reference/SwiftProtobufPluginLibraryTests/pluginlib_descriptor_test2.pb.swift @@ -248,6 +248,7 @@ extension SwiftDescriptorTest_Proto3MessageForPresence: SwiftProtobuf.Message, S case 24: try { try decoder.decodeRepeatedMessageField(value: &self.repeatMessageField) }() case 31: try { var v: String? + if case .oneofStrField(let _v) = self.o {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -256,6 +257,7 @@ extension SwiftDescriptorTest_Proto3MessageForPresence: SwiftProtobuf.Message, S }() case 32: try { var v: Int32? + if case .oneofInt32Field(let _v) = self.o {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -264,6 +266,7 @@ extension SwiftDescriptorTest_Proto3MessageForPresence: SwiftProtobuf.Message, S }() case 33: try { var v: SwiftDescriptorTest_Proto3MessageForPresence.SubEnum? + if case .oneofEnumField(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobufTests/fuzz_testing.pb.swift b/Reference/SwiftProtobufTests/fuzz_testing.pb.swift index c4989d82f..6cca011c4 100644 --- a/Reference/SwiftProtobufTests/fuzz_testing.pb.swift +++ b/Reference/SwiftProtobufTests/fuzz_testing.pb.swift @@ -3471,6 +3471,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ case 49: try { try decoder.decodeRepeatedMessageField(value: &_storage._repeatedMessage) }() case 61: try { var v: Int32? + if case .oneofInt32(let _v) = _storage._o {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3479,6 +3480,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 62: try { var v: Int64? + if case .oneofInt64(let _v) = _storage._o {v = _v} try decoder.decodeSingularInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3487,6 +3489,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 63: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._o {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3495,6 +3498,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 64: try { var v: UInt64? + if case .oneofUint64(let _v) = _storage._o {v = _v} try decoder.decodeSingularUInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3503,6 +3507,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 65: try { var v: Int32? + if case .oneofSint32(let _v) = _storage._o {v = _v} try decoder.decodeSingularSInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3511,6 +3516,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 66: try { var v: Int64? + if case .oneofSint64(let _v) = _storage._o {v = _v} try decoder.decodeSingularSInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3519,6 +3525,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 67: try { var v: UInt32? + if case .oneofFixed32(let _v) = _storage._o {v = _v} try decoder.decodeSingularFixed32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3527,6 +3534,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 68: try { var v: UInt64? + if case .oneofFixed64(let _v) = _storage._o {v = _v} try decoder.decodeSingularFixed64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3535,6 +3543,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 69: try { var v: Int32? + if case .oneofSfixed32(let _v) = _storage._o {v = _v} try decoder.decodeSingularSFixed32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3543,6 +3552,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 70: try { var v: Int64? + if case .oneofSfixed64(let _v) = _storage._o {v = _v} try decoder.decodeSingularSFixed64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3551,6 +3561,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 71: try { var v: Float? + if case .oneofFloat(let _v) = _storage._o {v = _v} try decoder.decodeSingularFloatField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3559,6 +3570,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 72: try { var v: Double? + if case .oneofDouble(let _v) = _storage._o {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3567,6 +3579,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 73: try { var v: Bool? + if case .oneofBool(let _v) = _storage._o {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3575,6 +3588,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 74: try { var v: String? + if case .oneofString(let _v) = _storage._o {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3583,6 +3597,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 75: try { var v: Data? + if case .oneofBytes(let _v) = _storage._o {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3591,6 +3606,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 76: try { var v: SwiftProtoTesting_Fuzz_AnEnum? + if case .oneofEnum(let _v) = _storage._o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobufTests/test_messages_proto3.pb.swift b/Reference/SwiftProtobufTests/test_messages_proto3.pb.swift index 23f15c768..224739838 100644 --- a/Reference/SwiftProtobufTests/test_messages_proto3.pb.swift +++ b/Reference/SwiftProtobufTests/test_messages_proto3.pb.swift @@ -1215,6 +1215,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi case 73: try { try decoder.decodeMapField(fieldType: SwiftProtobuf._ProtobufEnumMap.self, value: &_storage._mapStringNestedEnum) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1236,6 +1237,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1244,6 +1246,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1252,6 +1255,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 115: try { var v: Bool? + if case .oneofBool(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1260,6 +1264,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 116: try { var v: UInt64? + if case .oneofUint64(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt64Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1268,6 +1273,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 117: try { var v: Float? + if case .oneofFloat(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularFloatField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1276,6 +1282,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 118: try { var v: Double? + if case .oneofDouble(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1284,6 +1291,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 119: try { var v: SwiftProtoTesting_Test3_TestAllTypesProto3.NestedEnum? + if case .oneofEnum(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1292,6 +1300,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 120: try { var v: SwiftProtobuf.Google_Protobuf_NullValue? + if case .oneofNullValue(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobufTests/unittest.pb.swift b/Reference/SwiftProtobufTests/unittest.pb.swift index 28c5d01de..aa1abfaf3 100644 --- a/Reference/SwiftProtobufTests/unittest.pb.swift +++ b/Reference/SwiftProtobufTests/unittest.pb.swift @@ -4298,6 +4298,7 @@ extension SwiftProtoTesting_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._ case 85: try { try decoder.decodeSingularStringField(value: &_storage._defaultCord) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -4319,6 +4320,7 @@ extension SwiftProtoTesting_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._ }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -4327,6 +4329,7 @@ extension SwiftProtoTesting_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._ }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -6043,6 +6046,7 @@ extension SwiftProtoTesting_TestOneof: SwiftProtobuf.Message, SwiftProtobuf._Mes switch fieldNumber { case 1: try { var v: Int32? + if case .fooInt(let _v) = self.foo {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -6051,6 +6055,7 @@ extension SwiftProtoTesting_TestOneof: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 2: try { var v: String? + if case .fooString(let _v) = self.foo {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -6186,6 +6191,7 @@ extension SwiftProtoTesting_TestRequiredOneof: SwiftProtobuf.Message, SwiftProto switch fieldNumber { case 1: try { var v: Int32? + if case .fooInt(let _v) = self.foo {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -6194,6 +6200,7 @@ extension SwiftProtoTesting_TestRequiredOneof: SwiftProtobuf.Message, SwiftProto }() case 2: try { var v: String? + if case .fooString(let _v) = self.foo {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobufTests/unittest_preserve_unknown_enum.pb.swift b/Reference/SwiftProtobufTests/unittest_preserve_unknown_enum.pb.swift index aac6b31bf..8f2610962 100644 --- a/Reference/SwiftProtobufTests/unittest_preserve_unknown_enum.pb.swift +++ b/Reference/SwiftProtobufTests/unittest_preserve_unknown_enum.pb.swift @@ -259,6 +259,7 @@ extension SwiftProtoTesting_UnknownEnum_Proto3_MyMessage: SwiftProtobuf.Message, case 4: try { try decoder.decodeRepeatedEnumField(value: &self.repeatedPackedUnexpectedE) }() case 5: try { var v: SwiftProtoTesting_UnknownEnum_Proto3_MyEnum? + if case .oneofE1(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -267,6 +268,7 @@ extension SwiftProtoTesting_UnknownEnum_Proto3_MyMessage: SwiftProtobuf.Message, }() case 6: try { var v: SwiftProtoTesting_UnknownEnum_Proto3_MyEnum? + if case .oneofE2(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -343,6 +345,7 @@ extension SwiftProtoTesting_UnknownEnum_Proto3_MyMessagePlusExtra: SwiftProtobuf case 4: try { try decoder.decodeRepeatedEnumField(value: &self.repeatedPackedUnexpectedE) }() case 5: try { var v: SwiftProtoTesting_UnknownEnum_Proto3_MyEnumPlusExtra? + if case .oneofE1(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -351,6 +354,7 @@ extension SwiftProtoTesting_UnknownEnum_Proto3_MyMessagePlusExtra: SwiftProtobuf }() case 6: try { var v: SwiftProtoTesting_UnknownEnum_Proto3_MyEnumPlusExtra? + if case .oneofE2(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobufTests/unittest_preserve_unknown_enum2.pb.swift b/Reference/SwiftProtobufTests/unittest_preserve_unknown_enum2.pb.swift index 406ca934d..5aed56231 100644 --- a/Reference/SwiftProtobufTests/unittest_preserve_unknown_enum2.pb.swift +++ b/Reference/SwiftProtobufTests/unittest_preserve_unknown_enum2.pb.swift @@ -166,6 +166,7 @@ extension SwiftProtoTesting_UnknownEnum_Proto2_MyMessage: SwiftProtobuf.Message, case 4: try { try decoder.decodeRepeatedEnumField(value: &self.repeatedPackedUnexpectedE) }() case 5: try { var v: SwiftProtoTesting_UnknownEnum_Proto2_MyEnum? + if case .oneofE1(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -174,6 +175,7 @@ extension SwiftProtoTesting_UnknownEnum_Proto2_MyMessage: SwiftProtobuf.Message, }() case 6: try { var v: SwiftProtoTesting_UnknownEnum_Proto2_MyEnum? + if case .oneofE2(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobufTests/unittest_proto3.pb.swift b/Reference/SwiftProtobufTests/unittest_proto3.pb.swift index 87f861d19..9ce663000 100644 --- a/Reference/SwiftProtobufTests/unittest_proto3.pb.swift +++ b/Reference/SwiftProtobufTests/unittest_proto3.pb.swift @@ -891,6 +891,7 @@ extension SwiftProtoTesting_Proto3_TestAllTypes: SwiftProtobuf.Message, SwiftPro case 57: try { try decoder.decodeRepeatedMessageField(value: &_storage._repeatedLazyMessage) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -912,6 +913,7 @@ extension SwiftProtoTesting_Proto3_TestAllTypes: SwiftProtobuf.Message, SwiftPro }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -920,6 +922,7 @@ extension SwiftProtoTesting_Proto3_TestAllTypes: SwiftProtobuf.Message, SwiftPro }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobufTests/unittest_swift_all_required_types.pb.swift b/Reference/SwiftProtobufTests/unittest_swift_all_required_types.pb.swift index 6638e4d40..cf992c22c 100644 --- a/Reference/SwiftProtobufTests/unittest_swift_all_required_types.pb.swift +++ b/Reference/SwiftProtobufTests/unittest_swift_all_required_types.pb.swift @@ -989,6 +989,7 @@ extension SwiftProtoTesting_TestAllRequiredTypes: SwiftProtobuf.Message, SwiftPr case 85: try { try decoder.decodeSingularStringField(value: &_storage._defaultCord) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1010,6 +1011,7 @@ extension SwiftProtoTesting_TestAllRequiredTypes: SwiftProtobuf.Message, SwiftPr }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1018,6 +1020,7 @@ extension SwiftProtoTesting_TestAllRequiredTypes: SwiftProtobuf.Message, SwiftPr }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobufTests/unittest_swift_fieldorder.pb.swift b/Reference/SwiftProtobufTests/unittest_swift_fieldorder.pb.swift index ab4754d5f..acfa9cbcd 100644 --- a/Reference/SwiftProtobufTests/unittest_swift_fieldorder.pb.swift +++ b/Reference/SwiftProtobufTests/unittest_swift_fieldorder.pb.swift @@ -389,6 +389,7 @@ extension SwiftProtoTesting_Order_TestFieldOrderings: SwiftProtobuf.Message, Swi case 1: try { try decoder.decodeSingularInt64Field(value: &self._myInt) }() case 9: try { var v: Bool? + if case .oneofBool(let _v) = self.options {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if self.options != nil {try decoder.handleConflictingOneOf()} @@ -397,6 +398,7 @@ extension SwiftProtoTesting_Order_TestFieldOrderings: SwiftProtobuf.Message, Swi }() case 10: try { var v: Int32? + if case .oneofInt32(let _v) = self.options {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.options != nil {try decoder.handleConflictingOneOf()} @@ -406,6 +408,7 @@ extension SwiftProtoTesting_Order_TestFieldOrderings: SwiftProtobuf.Message, Swi case 11: try { try decoder.decodeSingularStringField(value: &self._myString) }() case 60: try { var v: Int64? + if case .oneofInt64(let _v) = self.options {v = _v} try decoder.decodeSingularInt64Field(value: &v) if let v = v { if self.options != nil {try decoder.handleConflictingOneOf()} @@ -415,6 +418,7 @@ extension SwiftProtoTesting_Order_TestFieldOrderings: SwiftProtobuf.Message, Swi case 101: try { try decoder.decodeSingularFloatField(value: &self._myFloat) }() case 150: try { var v: String? + if case .oneofString(let _v) = self.options {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.options != nil {try decoder.handleConflictingOneOf()} @@ -549,6 +553,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag switch fieldNumber { case 1: try { var v: Int32? + if case .a(let _v) = self.oGood {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oGood != nil {try decoder.handleConflictingOneOf()} @@ -557,6 +562,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag }() case 26: try { var v: Int32? + if case .b(let _v) = self.oGood {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oGood != nil {try decoder.handleConflictingOneOf()} @@ -565,6 +571,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag }() case 101: try { var v: Int32? + if case .a2(let _v) = self.oConflictField {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oConflictField != nil {try decoder.handleConflictingOneOf()} @@ -574,6 +581,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag case 113: try { try decoder.decodeSingularInt32Field(value: &self._m) }() case 126: try { var v: Int32? + if case .b2(let _v) = self.oConflictField {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oConflictField != nil {try decoder.handleConflictingOneOf()} @@ -582,6 +590,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag }() case 201: try { var v: Int32? + if case .a3(let _v) = self.oConflictExtensionsStart {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oConflictExtensionsStart != nil {try decoder.handleConflictingOneOf()} @@ -590,6 +599,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag }() case 226: try { var v: Int32? + if case .b3(let _v) = self.oConflictExtensionsStart {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oConflictExtensionsStart != nil {try decoder.handleConflictingOneOf()} @@ -598,6 +608,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag }() case 301: try { var v: Int32? + if case .a4(let _v) = self.oConflictExtensionsEnd {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oConflictExtensionsEnd != nil {try decoder.handleConflictingOneOf()} @@ -606,6 +617,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag }() case 326: try { var v: Int32? + if case .b4(let _v) = self.oConflictExtensionsEnd {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oConflictExtensionsEnd != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobufTests/unittest_swift_naming.pb.swift b/Reference/SwiftProtobufTests/unittest_swift_naming.pb.swift index 64895f7ab..5f2348383 100644 --- a/Reference/SwiftProtobufTests/unittest_swift_naming.pb.swift +++ b/Reference/SwiftProtobufTests/unittest_swift_naming.pb.swift @@ -26901,6 +26901,7 @@ extension SwiftProtoTesting_Names_ValidIdentifiers: SwiftProtobuf.Message, Swift case 3: try { try decoder.decodeSingularInt32Field(value: &self.__3Field3) }() case 4: try { var v: Int32? + if case ._4(let _v) = self._2Of {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self._2Of != nil {try decoder.handleConflictingOneOf()} @@ -26909,6 +26910,7 @@ extension SwiftProtoTesting_Names_ValidIdentifiers: SwiftProtobuf.Message, Swift }() case 5: try { var v: Int32? + if case ._5Field(let _v) = self._2Of {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self._2Of != nil {try decoder.handleConflictingOneOf()} @@ -26986,6 +26988,7 @@ extension SwiftProtoTesting_Names_SpecialNames1: SwiftProtobuf.Message, SwiftPro switch fieldNumber { case 1: try { var v: String? + if case .str(let _v) = self.newValue {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.newValue != nil {try decoder.handleConflictingOneOf()} @@ -27089,6 +27092,7 @@ extension SwiftProtoTesting_Names_SpecialNames3: SwiftProtobuf.Message, SwiftPro switch fieldNumber { case 1: try { var v: String? + if case .str(let _v) = _storage._newValue {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._newValue != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobufTests/unittest_swift_oneof_all_required.pb.swift b/Reference/SwiftProtobufTests/unittest_swift_oneof_all_required.pb.swift index e0359e8c1..4f88a0b61 100644 --- a/Reference/SwiftProtobufTests/unittest_swift_oneof_all_required.pb.swift +++ b/Reference/SwiftProtobufTests/unittest_swift_oneof_all_required.pb.swift @@ -343,6 +343,7 @@ extension SwiftProtoTesting_OneOfContainer: SwiftProtobuf.Message, SwiftProtobuf }() case 6: try { var v: Int32? + if case .option4(let _v) = self.option {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.option != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobufTests/unittest_swift_oneof_merging.pb.swift b/Reference/SwiftProtobufTests/unittest_swift_oneof_merging.pb.swift index 77599c68e..1a6473353 100644 --- a/Reference/SwiftProtobufTests/unittest_swift_oneof_merging.pb.swift +++ b/Reference/SwiftProtobufTests/unittest_swift_oneof_merging.pb.swift @@ -189,6 +189,7 @@ extension SwiftProtoTesting_Merging_TestMessage: SwiftProtobuf.Message, SwiftPro switch fieldNumber { case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = self.oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -210,6 +211,7 @@ extension SwiftProtoTesting_Merging_TestMessage: SwiftProtobuf.Message, SwiftPro }() case 113: try { var v: String? + if case .oneofString(let _v) = self.oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -218,6 +220,7 @@ extension SwiftProtoTesting_Merging_TestMessage: SwiftProtobuf.Message, SwiftPro }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = self.oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobufTests/unittest_swift_runtime_proto2.pb.swift b/Reference/SwiftProtobufTests/unittest_swift_runtime_proto2.pb.swift index f6a7786ae..440266aee 100644 --- a/Reference/SwiftProtobufTests/unittest_swift_runtime_proto2.pb.swift +++ b/Reference/SwiftProtobufTests/unittest_swift_runtime_proto2.pb.swift @@ -1059,6 +1059,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess case 49: try { try decoder.decodeRepeatedEnumField(value: &_storage._repeatedEnum) }() case 51: try { var v: Int32? + if case .oneofInt32(let _v) = _storage._o {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1067,6 +1068,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 52: try { var v: Int64? + if case .oneofInt64(let _v) = _storage._o {v = _v} try decoder.decodeSingularInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1075,6 +1077,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 53: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._o {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1083,6 +1086,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 54: try { var v: UInt64? + if case .oneofUint64(let _v) = _storage._o {v = _v} try decoder.decodeSingularUInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1091,6 +1095,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 55: try { var v: Int32? + if case .oneofSint32(let _v) = _storage._o {v = _v} try decoder.decodeSingularSInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1099,6 +1104,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 56: try { var v: Int64? + if case .oneofSint64(let _v) = _storage._o {v = _v} try decoder.decodeSingularSInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1107,6 +1113,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 57: try { var v: UInt32? + if case .oneofFixed32(let _v) = _storage._o {v = _v} try decoder.decodeSingularFixed32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1115,6 +1122,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 58: try { var v: UInt64? + if case .oneofFixed64(let _v) = _storage._o {v = _v} try decoder.decodeSingularFixed64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1123,6 +1131,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 59: try { var v: Int32? + if case .oneofSfixed32(let _v) = _storage._o {v = _v} try decoder.decodeSingularSFixed32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1131,6 +1140,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 60: try { var v: Int64? + if case .oneofSfixed64(let _v) = _storage._o {v = _v} try decoder.decodeSingularSFixed64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1139,6 +1149,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 61: try { var v: Float? + if case .oneofFloat(let _v) = _storage._o {v = _v} try decoder.decodeSingularFloatField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1147,6 +1158,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 62: try { var v: Double? + if case .oneofDouble(let _v) = _storage._o {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1155,6 +1167,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 63: try { var v: Bool? + if case .oneofBool(let _v) = _storage._o {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1163,6 +1176,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 64: try { var v: String? + if case .oneofString(let _v) = _storage._o {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1171,6 +1185,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 65: try { var v: Data? + if case .oneofBytes(let _v) = _storage._o {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1205,6 +1220,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 69: try { var v: SwiftProtoTesting_Message2.Enum? + if case .oneofEnum(let _v) = _storage._o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/SwiftProtobufTests/unittest_swift_runtime_proto3.pb.swift b/Reference/SwiftProtobufTests/unittest_swift_runtime_proto3.pb.swift index 55e622b16..262bc6637 100644 --- a/Reference/SwiftProtobufTests/unittest_swift_runtime_proto3.pb.swift +++ b/Reference/SwiftProtobufTests/unittest_swift_runtime_proto3.pb.swift @@ -863,6 +863,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess case 49: try { try decoder.decodeRepeatedEnumField(value: &_storage._repeatedEnum) }() case 51: try { var v: Int32? + if case .oneofInt32(let _v) = _storage._o {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -871,6 +872,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 52: try { var v: Int64? + if case .oneofInt64(let _v) = _storage._o {v = _v} try decoder.decodeSingularInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -879,6 +881,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 53: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._o {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -887,6 +890,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 54: try { var v: UInt64? + if case .oneofUint64(let _v) = _storage._o {v = _v} try decoder.decodeSingularUInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -895,6 +899,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 55: try { var v: Int32? + if case .oneofSint32(let _v) = _storage._o {v = _v} try decoder.decodeSingularSInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -903,6 +908,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 56: try { var v: Int64? + if case .oneofSint64(let _v) = _storage._o {v = _v} try decoder.decodeSingularSInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -911,6 +917,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 57: try { var v: UInt32? + if case .oneofFixed32(let _v) = _storage._o {v = _v} try decoder.decodeSingularFixed32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -919,6 +926,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 58: try { var v: UInt64? + if case .oneofFixed64(let _v) = _storage._o {v = _v} try decoder.decodeSingularFixed64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -927,6 +935,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 59: try { var v: Int32? + if case .oneofSfixed32(let _v) = _storage._o {v = _v} try decoder.decodeSingularSFixed32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -935,6 +944,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 60: try { var v: Int64? + if case .oneofSfixed64(let _v) = _storage._o {v = _v} try decoder.decodeSingularSFixed64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -943,6 +953,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 61: try { var v: Float? + if case .oneofFloat(let _v) = _storage._o {v = _v} try decoder.decodeSingularFloatField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -951,6 +962,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 62: try { var v: Double? + if case .oneofDouble(let _v) = _storage._o {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -959,6 +971,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 63: try { var v: Bool? + if case .oneofBool(let _v) = _storage._o {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -967,6 +980,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 64: try { var v: String? + if case .oneofString(let _v) = _storage._o {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -975,6 +989,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 65: try { var v: Data? + if case .oneofBytes(let _v) = _storage._o {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -996,6 +1011,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 69: try { var v: SwiftProtoTesting_Message3.Enum? + if case .oneofEnum(let _v) = _storage._o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/conformance/conformance.pb.swift b/Reference/upstream/conformance/conformance.pb.swift index ef099db7b..cea6cf759 100644 --- a/Reference/upstream/conformance/conformance.pb.swift +++ b/Reference/upstream/conformance/conformance.pb.swift @@ -491,6 +491,7 @@ extension Conformance_ConformanceRequest: SwiftProtobuf.Message, SwiftProtobuf._ switch fieldNumber { case 1: try { var v: Data? + if case .protobufPayload(let _v) = self.payload {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.payload != nil {try decoder.handleConflictingOneOf()} @@ -499,6 +500,7 @@ extension Conformance_ConformanceRequest: SwiftProtobuf.Message, SwiftProtobuf._ }() case 2: try { var v: String? + if case .jsonPayload(let _v) = self.payload {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.payload != nil {try decoder.handleConflictingOneOf()} @@ -511,6 +513,7 @@ extension Conformance_ConformanceRequest: SwiftProtobuf.Message, SwiftProtobuf._ case 6: try { try decoder.decodeSingularMessageField(value: &self._jspbEncodingOptions) }() case 7: try { var v: String? + if case .jspbPayload(let _v) = self.payload {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.payload != nil {try decoder.handleConflictingOneOf()} @@ -519,6 +522,7 @@ extension Conformance_ConformanceRequest: SwiftProtobuf.Message, SwiftProtobuf._ }() case 8: try { var v: String? + if case .textPayload(let _v) = self.payload {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.payload != nil {try decoder.handleConflictingOneOf()} @@ -610,6 +614,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. switch fieldNumber { case 1: try { var v: String? + if case .parseError(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -618,6 +623,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 2: try { var v: String? + if case .runtimeError(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -626,6 +632,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 3: try { var v: Data? + if case .protobufPayload(let _v) = self.result {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -634,6 +641,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 4: try { var v: String? + if case .jsonPayload(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -642,6 +650,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 5: try { var v: String? + if case .skipped(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -650,6 +659,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 6: try { var v: String? + if case .serializeError(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -658,6 +668,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 7: try { var v: String? + if case .jspbPayload(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -666,6 +677,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 8: try { var v: String? + if case .textPayload(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -674,6 +686,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 9: try { var v: String? + if case .timeoutError(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/google/protobuf/struct.pb.swift b/Reference/upstream/google/protobuf/struct.pb.swift index fd0afcc0c..ece59f97f 100644 --- a/Reference/upstream/google/protobuf/struct.pb.swift +++ b/Reference/upstream/google/protobuf/struct.pb.swift @@ -273,6 +273,7 @@ extension Google_Protobuf_Value: Message, _MessageImplementationBase, _ProtoName switch fieldNumber { case 1: try { var v: Google_Protobuf_NullValue? + if case .nullValue(let _v) = self.kind {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.kind != nil {try decoder.handleConflictingOneOf()} @@ -281,6 +282,7 @@ extension Google_Protobuf_Value: Message, _MessageImplementationBase, _ProtoName }() case 2: try { var v: Double? + if case .numberValue(let _v) = self.kind {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if self.kind != nil {try decoder.handleConflictingOneOf()} @@ -289,6 +291,7 @@ extension Google_Protobuf_Value: Message, _MessageImplementationBase, _ProtoName }() case 3: try { var v: String? + if case .stringValue(let _v) = self.kind {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.kind != nil {try decoder.handleConflictingOneOf()} @@ -297,6 +300,7 @@ extension Google_Protobuf_Value: Message, _MessageImplementationBase, _ProtoName }() case 4: try { var v: Bool? + if case .boolValue(let _v) = self.kind {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if self.kind != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/google/protobuf/test_messages_proto2.pb.swift b/Reference/upstream/google/protobuf/test_messages_proto2.pb.swift index 08e6faeb1..5ae2c7845 100644 --- a/Reference/upstream/google/protobuf/test_messages_proto2.pb.swift +++ b/Reference/upstream/google/protobuf/test_messages_proto2.pb.swift @@ -2616,6 +2616,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, case 102: try { try decoder.decodeRepeatedEnumField(value: &_storage._unpackedNestedEnum) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2637,6 +2638,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2645,6 +2647,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2653,6 +2656,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 115: try { var v: Bool? + if case .oneofBool(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2661,6 +2665,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 116: try { var v: UInt64? + if case .oneofUint64(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt64Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2669,6 +2674,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 117: try { var v: Float? + if case .oneofFloat(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularFloatField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2677,6 +2683,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 118: try { var v: Double? + if case .oneofDouble(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2685,6 +2692,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 119: try { var v: ProtobufTestMessages_Proto2_TestAllTypesProto2.NestedEnum? + if case .oneofEnum(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/google/protobuf/test_messages_proto3.pb.swift b/Reference/upstream/google/protobuf/test_messages_proto3.pb.swift index 367b0dc91..87afba6bf 100644 --- a/Reference/upstream/google/protobuf/test_messages_proto3.pb.swift +++ b/Reference/upstream/google/protobuf/test_messages_proto3.pb.swift @@ -1743,6 +1743,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, case 102: try { try decoder.decodeRepeatedEnumField(value: &_storage._unpackedNestedEnum) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1764,6 +1765,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1772,6 +1774,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1780,6 +1783,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 115: try { var v: Bool? + if case .oneofBool(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1788,6 +1792,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 116: try { var v: UInt64? + if case .oneofUint64(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt64Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1796,6 +1801,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 117: try { var v: Float? + if case .oneofFloat(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularFloatField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1804,6 +1810,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 118: try { var v: Double? + if case .oneofDouble(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1812,6 +1819,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 119: try { var v: ProtobufTestMessages_Proto3_TestAllTypesProto3.NestedEnum? + if case .oneofEnum(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1820,6 +1828,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 120: try { var v: SwiftProtobuf.Google_Protobuf_NullValue? + if case .oneofNullValue(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/google/protobuf/unittest.pb.swift b/Reference/upstream/google/protobuf/unittest.pb.swift index 319508562..5a91efc4d 100644 --- a/Reference/upstream/google/protobuf/unittest.pb.swift +++ b/Reference/upstream/google/protobuf/unittest.pb.swift @@ -10500,6 +10500,7 @@ extension ProtobufUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._M case 85: try { try decoder.decodeSingularStringField(value: &_storage._defaultCord) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -10521,6 +10522,7 @@ extension ProtobufUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._M }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -10529,6 +10531,7 @@ extension ProtobufUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._M }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -11138,6 +11141,7 @@ extension ProtobufUnittest_TestDeprecatedFields: SwiftProtobuf.Message, SwiftPro case 1: try { try decoder.decodeSingularInt32Field(value: &_storage._deprecatedInt32) }() case 2: try { var v: Int32? + if case .deprecatedInt32InOneof(let _v) = _storage._oneofFields {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if _storage._oneofFields != nil {try decoder.handleConflictingOneOf()} @@ -14915,6 +14919,7 @@ extension ProtobufUnittest_TestOneof: SwiftProtobuf.Message, SwiftProtobuf._Mess switch fieldNumber { case 1: try { var v: Int32? + if case .fooInt(let _v) = self.foo {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -14923,6 +14928,7 @@ extension ProtobufUnittest_TestOneof: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 2: try { var v: String? + if case .fooString(let _v) = self.foo {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -15167,6 +15173,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes switch fieldNumber { case 1: try { var v: Int32? + if case .fooInt(let _v) = self.foo {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -15175,6 +15182,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 2: try { var v: String? + if case .fooString(let _v) = self.foo {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -15183,6 +15191,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 3: try { var v: String? + if case .fooCord(let _v) = self.foo {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -15191,6 +15200,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 4: try { var v: String? + if case .fooStringPiece(let _v) = self.foo {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -15199,6 +15209,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 5: try { var v: Data? + if case .fooBytes(let _v) = self.foo {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -15207,6 +15218,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 6: try { var v: ProtobufUnittest_TestOneof2.NestedEnum? + if case .fooEnum(let _v) = self.foo {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -15254,6 +15266,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 12: try { var v: Int32? + if case .barInt(let _v) = self.bar {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.bar != nil {try decoder.handleConflictingOneOf()} @@ -15262,6 +15275,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 13: try { var v: String? + if case .barString(let _v) = self.bar {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.bar != nil {try decoder.handleConflictingOneOf()} @@ -15270,6 +15284,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 14: try { var v: String? + if case .barCord(let _v) = self.bar {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.bar != nil {try decoder.handleConflictingOneOf()} @@ -15278,6 +15293,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 15: try { var v: String? + if case .barStringPiece(let _v) = self.bar {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.bar != nil {try decoder.handleConflictingOneOf()} @@ -15286,6 +15302,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 16: try { var v: Data? + if case .barBytes(let _v) = self.bar {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.bar != nil {try decoder.handleConflictingOneOf()} @@ -15294,6 +15311,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 17: try { var v: ProtobufUnittest_TestOneof2.NestedEnum? + if case .barEnum(let _v) = self.bar {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.bar != nil {try decoder.handleConflictingOneOf()} @@ -15304,6 +15322,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes case 19: try { try decoder.decodeSingularStringField(value: &self._bazString) }() case 20: try { var v: String? + if case .barStringWithEmptyDefault(let _v) = self.bar {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.bar != nil {try decoder.handleConflictingOneOf()} @@ -15312,6 +15331,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 21: try { var v: String? + if case .barCordWithEmptyDefault(let _v) = self.bar {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.bar != nil {try decoder.handleConflictingOneOf()} @@ -15320,6 +15340,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 22: try { var v: String? + if case .barStringPieceWithEmptyDefault(let _v) = self.bar {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.bar != nil {try decoder.handleConflictingOneOf()} @@ -15328,6 +15349,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 23: try { var v: Data? + if case .barBytesWithEmptyDefault(let _v) = self.bar {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.bar != nil {try decoder.handleConflictingOneOf()} @@ -15336,6 +15358,7 @@ extension ProtobufUnittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 30: try { var v: Data? + if case .fooBytesCord(let _v) = self.foo {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -15573,6 +15596,7 @@ extension ProtobufUnittest_TestRequiredOneof: SwiftProtobuf.Message, SwiftProtob switch fieldNumber { case 1: try { var v: Int32? + if case .fooInt(let _v) = self.foo {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -15581,6 +15605,7 @@ extension ProtobufUnittest_TestRequiredOneof: SwiftProtobuf.Message, SwiftProtob }() case 2: try { var v: String? + if case .fooString(let _v) = self.foo {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -16852,6 +16877,7 @@ extension ProtobufUnittest_TestHugeFieldNumbers: SwiftProtobuf.Message, SwiftPro case 536870010: try { try decoder.decodeMapField(fieldType: SwiftProtobuf._ProtobufMap.self, value: &self.stringStringMap) }() case 536870011: try { var v: UInt32? + if case .oneofUint32(let _v) = self.oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -16873,6 +16899,7 @@ extension ProtobufUnittest_TestHugeFieldNumbers: SwiftProtobuf.Message, SwiftPro }() case 536870013: try { var v: String? + if case .oneofString(let _v) = self.oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -16881,6 +16908,7 @@ extension ProtobufUnittest_TestHugeFieldNumbers: SwiftProtobuf.Message, SwiftPro }() case 536870014: try { var v: Data? + if case .oneofBytes(let _v) = self.oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/google/protobuf/unittest_custom_options.pb.swift b/Reference/upstream/google/protobuf/unittest_custom_options.pb.swift index d175ae0ec..f64b2d149 100644 --- a/Reference/upstream/google/protobuf/unittest_custom_options.pb.swift +++ b/Reference/upstream/google/protobuf/unittest_custom_options.pb.swift @@ -1863,6 +1863,7 @@ extension ProtobufUnittest_TestMessageWithCustomOptions: SwiftProtobuf.Message, case 1: try { try decoder.decodeSingularStringField(value: &self._field1) }() case 2: try { var v: Int32? + if case .oneofField(let _v) = self.anOneof {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.anOneof != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/google/protobuf/unittest_lite.pb.swift b/Reference/upstream/google/protobuf/unittest_lite.pb.swift index 092996ba7..ec9acf778 100644 --- a/Reference/upstream/google/protobuf/unittest_lite.pb.swift +++ b/Reference/upstream/google/protobuf/unittest_lite.pb.swift @@ -3727,6 +3727,7 @@ extension ProtobufUnittest_TestAllTypesLite: SwiftProtobuf.Message, SwiftProtobu case 85: try { try decoder.decodeSingularStringField(value: &_storage._defaultCord) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -3748,6 +3749,7 @@ extension ProtobufUnittest_TestAllTypesLite: SwiftProtobuf.Message, SwiftProtobu }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -3756,6 +3758,7 @@ extension ProtobufUnittest_TestAllTypesLite: SwiftProtobuf.Message, SwiftProtobu }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -5204,6 +5207,7 @@ extension ProtobufUnittest_TestHugeFieldNumbersLite: SwiftProtobuf.Message, Swif case 536870010: try { try decoder.decodeMapField(fieldType: SwiftProtobuf._ProtobufMap.self, value: &self.stringStringMap) }() case 536870011: try { var v: UInt32? + if case .oneofUint32(let _v) = self.oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -5225,6 +5229,7 @@ extension ProtobufUnittest_TestHugeFieldNumbersLite: SwiftProtobuf.Message, Swif }() case 536870013: try { var v: String? + if case .oneofString(let _v) = self.oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -5233,6 +5238,7 @@ extension ProtobufUnittest_TestHugeFieldNumbersLite: SwiftProtobuf.Message, Swif }() case 536870014: try { var v: Data? + if case .oneofBytes(let _v) = self.oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -5380,6 +5386,7 @@ extension ProtobufUnittest_TestOneofParsingLite: SwiftProtobuf.Message, SwiftPro switch fieldNumber { case 1: try { var v: Int32? + if case .oneofInt32(let _v) = self.oneofField {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -5401,6 +5408,7 @@ extension ProtobufUnittest_TestOneofParsingLite: SwiftProtobuf.Message, SwiftPro }() case 3: try { var v: String? + if case .oneofString(let _v) = self.oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -5409,6 +5417,7 @@ extension ProtobufUnittest_TestOneofParsingLite: SwiftProtobuf.Message, SwiftPro }() case 4: try { var v: Data? + if case .oneofBytes(let _v) = self.oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -5417,6 +5426,7 @@ extension ProtobufUnittest_TestOneofParsingLite: SwiftProtobuf.Message, SwiftPro }() case 5: try { var v: String? + if case .oneofStringCord(let _v) = self.oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -5425,6 +5435,7 @@ extension ProtobufUnittest_TestOneofParsingLite: SwiftProtobuf.Message, SwiftPro }() case 6: try { var v: Data? + if case .oneofBytesCord(let _v) = self.oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -5433,6 +5444,7 @@ extension ProtobufUnittest_TestOneofParsingLite: SwiftProtobuf.Message, SwiftPro }() case 7: try { var v: String? + if case .oneofStringStringPiece(let _v) = self.oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -5441,6 +5453,7 @@ extension ProtobufUnittest_TestOneofParsingLite: SwiftProtobuf.Message, SwiftPro }() case 8: try { var v: Data? + if case .oneofBytesStringPiece(let _v) = self.oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -5449,6 +5462,7 @@ extension ProtobufUnittest_TestOneofParsingLite: SwiftProtobuf.Message, SwiftPro }() case 9: try { var v: ProtobufUnittest_V2EnumLite? + if case .oneofEnum(let _v) = self.oneofField {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/google/protobuf/unittest_no_field_presence.pb.swift b/Reference/upstream/google/protobuf/unittest_no_field_presence.pb.swift index 5ebf33814..fbea87849 100644 --- a/Reference/upstream/google/protobuf/unittest_no_field_presence.pb.swift +++ b/Reference/upstream/google/protobuf/unittest_no_field_presence.pb.swift @@ -722,6 +722,7 @@ extension Proto2NofieldpresenceUnittest_TestAllTypes: SwiftProtobuf.Message, Swi case 57: try { try decoder.decodeRepeatedMessageField(value: &_storage._repeatedLazyMessage) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -743,6 +744,7 @@ extension Proto2NofieldpresenceUnittest_TestAllTypes: SwiftProtobuf.Message, Swi }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -751,6 +753,7 @@ extension Proto2NofieldpresenceUnittest_TestAllTypes: SwiftProtobuf.Message, Swi }() case 114: try { var v: Proto2NofieldpresenceUnittest_TestAllTypes.NestedEnum? + if case .oneofEnum(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/google/protobuf/unittest_optimize_for.pb.swift b/Reference/upstream/google/protobuf/unittest_optimize_for.pb.swift index c0620b0e5..752279735 100644 --- a/Reference/upstream/google/protobuf/unittest_optimize_for.pb.swift +++ b/Reference/upstream/google/protobuf/unittest_optimize_for.pb.swift @@ -253,6 +253,7 @@ extension ProtobufUnittest_TestOptimizedForSize: SwiftProtobuf.Message, SwiftPro case 1: try { try decoder.decodeSingularInt32Field(value: &self._i) }() case 2: try { var v: Int32? + if case .integerField(let _v) = self.foo {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -261,6 +262,7 @@ extension ProtobufUnittest_TestOptimizedForSize: SwiftProtobuf.Message, SwiftPro }() case 3: try { var v: String? + if case .stringField(let _v) = self.foo {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/google/protobuf/unittest_preserve_unknown_enum.pb.swift b/Reference/upstream/google/protobuf/unittest_preserve_unknown_enum.pb.swift index 58ba6c1c6..74fb0aee8 100644 --- a/Reference/upstream/google/protobuf/unittest_preserve_unknown_enum.pb.swift +++ b/Reference/upstream/google/protobuf/unittest_preserve_unknown_enum.pb.swift @@ -259,6 +259,7 @@ extension Proto3PreserveUnknownEnumUnittest_MyMessage: SwiftProtobuf.Message, Sw case 4: try { try decoder.decodeRepeatedEnumField(value: &self.repeatedPackedUnexpectedE) }() case 5: try { var v: Proto3PreserveUnknownEnumUnittest_MyEnum? + if case .oneofE1(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -267,6 +268,7 @@ extension Proto3PreserveUnknownEnumUnittest_MyMessage: SwiftProtobuf.Message, Sw }() case 6: try { var v: Proto3PreserveUnknownEnumUnittest_MyEnum? + if case .oneofE2(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -343,6 +345,7 @@ extension Proto3PreserveUnknownEnumUnittest_MyMessagePlusExtra: SwiftProtobuf.Me case 4: try { try decoder.decodeRepeatedEnumField(value: &self.repeatedPackedUnexpectedE) }() case 5: try { var v: Proto3PreserveUnknownEnumUnittest_MyEnumPlusExtra? + if case .oneofE1(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -351,6 +354,7 @@ extension Proto3PreserveUnknownEnumUnittest_MyMessagePlusExtra: SwiftProtobuf.Me }() case 6: try { var v: Proto3PreserveUnknownEnumUnittest_MyEnumPlusExtra? + if case .oneofE2(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/google/protobuf/unittest_preserve_unknown_enum2.pb.swift b/Reference/upstream/google/protobuf/unittest_preserve_unknown_enum2.pb.swift index 7422ab11d..d98e616b2 100644 --- a/Reference/upstream/google/protobuf/unittest_preserve_unknown_enum2.pb.swift +++ b/Reference/upstream/google/protobuf/unittest_preserve_unknown_enum2.pb.swift @@ -166,6 +166,7 @@ extension Proto2PreserveUnknownEnumUnittest_MyMessage: SwiftProtobuf.Message, Sw case 4: try { try decoder.decodeRepeatedEnumField(value: &self.repeatedPackedUnexpectedE) }() case 5: try { var v: Proto2PreserveUnknownEnumUnittest_MyEnum? + if case .oneofE1(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -174,6 +175,7 @@ extension Proto2PreserveUnknownEnumUnittest_MyMessage: SwiftProtobuf.Message, Sw }() case 6: try { var v: Proto2PreserveUnknownEnumUnittest_MyEnum? + if case .oneofE2(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/google/protobuf/unittest_proto3.pb.swift b/Reference/upstream/google/protobuf/unittest_proto3.pb.swift index 5a5215119..7c8b27054 100644 --- a/Reference/upstream/google/protobuf/unittest_proto3.pb.swift +++ b/Reference/upstream/google/protobuf/unittest_proto3.pb.swift @@ -953,6 +953,7 @@ extension Proto3Unittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._Mes case 57: try { try decoder.decodeRepeatedMessageField(value: &_storage._repeatedLazyMessage) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -974,6 +975,7 @@ extension Proto3Unittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -982,6 +984,7 @@ extension Proto3Unittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1670,6 +1673,7 @@ extension Proto3Unittest_TestOneof2: SwiftProtobuf.Message, SwiftProtobuf._Messa switch fieldNumber { case 6: try { var v: Proto3Unittest_TestOneof2.NestedEnum? + if case .fooEnum(let _v) = self.foo {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/google/protobuf/unittest_proto3_arena.pb.swift b/Reference/upstream/google/protobuf/unittest_proto3_arena.pb.swift index c74e3d4f0..48e7749b3 100644 --- a/Reference/upstream/google/protobuf/unittest_proto3_arena.pb.swift +++ b/Reference/upstream/google/protobuf/unittest_proto3_arena.pb.swift @@ -1099,6 +1099,7 @@ extension Proto3ArenaUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf case 57: try { try decoder.decodeRepeatedMessageField(value: &_storage._repeatedLazyMessage) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1120,6 +1121,7 @@ extension Proto3ArenaUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1128,6 +1130,7 @@ extension Proto3ArenaUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/google/protobuf/unittest_proto3_arena_lite.pb.swift b/Reference/upstream/google/protobuf/unittest_proto3_arena_lite.pb.swift index 7c46b2cf0..a4a2dcd51 100644 --- a/Reference/upstream/google/protobuf/unittest_proto3_arena_lite.pb.swift +++ b/Reference/upstream/google/protobuf/unittest_proto3_arena_lite.pb.swift @@ -821,6 +821,7 @@ extension Proto3ArenaLiteUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProt case 57: try { try decoder.decodeRepeatedMessageField(value: &_storage._repeatedLazyMessage) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -842,6 +843,7 @@ extension Proto3ArenaLiteUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProt }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -850,6 +852,7 @@ extension Proto3ArenaLiteUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProt }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/google/protobuf/unittest_proto3_lite.pb.swift b/Reference/upstream/google/protobuf/unittest_proto3_lite.pb.swift index 68bc0aa0a..e61804021 100644 --- a/Reference/upstream/google/protobuf/unittest_proto3_lite.pb.swift +++ b/Reference/upstream/google/protobuf/unittest_proto3_lite.pb.swift @@ -821,6 +821,7 @@ extension Proto3LiteUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf. case 57: try { try decoder.decodeRepeatedMessageField(value: &_storage._repeatedLazyMessage) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -842,6 +843,7 @@ extension Proto3LiteUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf. }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -850,6 +852,7 @@ extension Proto3LiteUnittest_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf. }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Reference/upstream/google/protobuf/unittest_retention.pb.swift b/Reference/upstream/google/protobuf/unittest_retention.pb.swift index 005f37f9e..80c6a76bb 100644 --- a/Reference/upstream/google/protobuf/unittest_retention.pb.swift +++ b/Reference/upstream/google/protobuf/unittest_retention.pb.swift @@ -667,6 +667,7 @@ extension ProtobufUnittest_TopLevelMessage: SwiftProtobuf.Message, SwiftProtobuf case 1: try { try decoder.decodeSingularFloatField(value: &self._f) }() case 2: try { var v: Int64? + if case .i(let _v) = self.o {v = _v} try decoder.decodeSingularInt64Field(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} diff --git a/Sources/Conformance/conformance.pb.swift b/Sources/Conformance/conformance.pb.swift index ef099db7b..cea6cf759 100644 --- a/Sources/Conformance/conformance.pb.swift +++ b/Sources/Conformance/conformance.pb.swift @@ -491,6 +491,7 @@ extension Conformance_ConformanceRequest: SwiftProtobuf.Message, SwiftProtobuf._ switch fieldNumber { case 1: try { var v: Data? + if case .protobufPayload(let _v) = self.payload {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.payload != nil {try decoder.handleConflictingOneOf()} @@ -499,6 +500,7 @@ extension Conformance_ConformanceRequest: SwiftProtobuf.Message, SwiftProtobuf._ }() case 2: try { var v: String? + if case .jsonPayload(let _v) = self.payload {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.payload != nil {try decoder.handleConflictingOneOf()} @@ -511,6 +513,7 @@ extension Conformance_ConformanceRequest: SwiftProtobuf.Message, SwiftProtobuf._ case 6: try { try decoder.decodeSingularMessageField(value: &self._jspbEncodingOptions) }() case 7: try { var v: String? + if case .jspbPayload(let _v) = self.payload {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.payload != nil {try decoder.handleConflictingOneOf()} @@ -519,6 +522,7 @@ extension Conformance_ConformanceRequest: SwiftProtobuf.Message, SwiftProtobuf._ }() case 8: try { var v: String? + if case .textPayload(let _v) = self.payload {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.payload != nil {try decoder.handleConflictingOneOf()} @@ -610,6 +614,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. switch fieldNumber { case 1: try { var v: String? + if case .parseError(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -618,6 +623,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 2: try { var v: String? + if case .runtimeError(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -626,6 +632,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 3: try { var v: Data? + if case .protobufPayload(let _v) = self.result {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -634,6 +641,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 4: try { var v: String? + if case .jsonPayload(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -642,6 +650,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 5: try { var v: String? + if case .skipped(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -650,6 +659,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 6: try { var v: String? + if case .serializeError(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -658,6 +668,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 7: try { var v: String? + if case .jspbPayload(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -666,6 +677,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 8: try { var v: String? + if case .textPayload(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} @@ -674,6 +686,7 @@ extension Conformance_ConformanceResponse: SwiftProtobuf.Message, SwiftProtobuf. }() case 9: try { var v: String? + if case .timeoutError(let _v) = self.result {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.result != nil {try decoder.handleConflictingOneOf()} diff --git a/Sources/Conformance/test_messages_proto2.pb.swift b/Sources/Conformance/test_messages_proto2.pb.swift index 08e6faeb1..5ae2c7845 100644 --- a/Sources/Conformance/test_messages_proto2.pb.swift +++ b/Sources/Conformance/test_messages_proto2.pb.swift @@ -2616,6 +2616,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, case 102: try { try decoder.decodeRepeatedEnumField(value: &_storage._unpackedNestedEnum) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2637,6 +2638,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2645,6 +2647,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2653,6 +2656,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 115: try { var v: Bool? + if case .oneofBool(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2661,6 +2665,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 116: try { var v: UInt64? + if case .oneofUint64(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt64Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2669,6 +2674,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 117: try { var v: Float? + if case .oneofFloat(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularFloatField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2677,6 +2683,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 118: try { var v: Double? + if case .oneofDouble(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -2685,6 +2692,7 @@ extension ProtobufTestMessages_Proto2_TestAllTypesProto2: SwiftProtobuf.Message, }() case 119: try { var v: ProtobufTestMessages_Proto2_TestAllTypesProto2.NestedEnum? + if case .oneofEnum(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Sources/Conformance/test_messages_proto3.pb.swift b/Sources/Conformance/test_messages_proto3.pb.swift index 367b0dc91..87afba6bf 100644 --- a/Sources/Conformance/test_messages_proto3.pb.swift +++ b/Sources/Conformance/test_messages_proto3.pb.swift @@ -1743,6 +1743,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, case 102: try { try decoder.decodeRepeatedEnumField(value: &_storage._unpackedNestedEnum) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1764,6 +1765,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1772,6 +1774,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1780,6 +1783,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 115: try { var v: Bool? + if case .oneofBool(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1788,6 +1792,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 116: try { var v: UInt64? + if case .oneofUint64(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt64Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1796,6 +1801,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 117: try { var v: Float? + if case .oneofFloat(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularFloatField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1804,6 +1810,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 118: try { var v: Double? + if case .oneofDouble(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1812,6 +1819,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 119: try { var v: ProtobufTestMessages_Proto3_TestAllTypesProto3.NestedEnum? + if case .oneofEnum(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1820,6 +1828,7 @@ extension ProtobufTestMessages_Proto3_TestAllTypesProto3: SwiftProtobuf.Message, }() case 120: try { var v: SwiftProtobuf.Google_Protobuf_NullValue? + if case .oneofNullValue(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Sources/SwiftProtobuf/struct.pb.swift b/Sources/SwiftProtobuf/struct.pb.swift index ca15b48b3..9c43f716e 100644 --- a/Sources/SwiftProtobuf/struct.pb.swift +++ b/Sources/SwiftProtobuf/struct.pb.swift @@ -273,6 +273,7 @@ extension Google_Protobuf_Value: Message, _MessageImplementationBase, _ProtoName switch fieldNumber { case 1: try { var v: Google_Protobuf_NullValue? + if case .nullValue(let _v) = self.kind {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.kind != nil {try decoder.handleConflictingOneOf()} @@ -281,6 +282,7 @@ extension Google_Protobuf_Value: Message, _MessageImplementationBase, _ProtoName }() case 2: try { var v: Double? + if case .numberValue(let _v) = self.kind {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if self.kind != nil {try decoder.handleConflictingOneOf()} @@ -289,6 +291,7 @@ extension Google_Protobuf_Value: Message, _MessageImplementationBase, _ProtoName }() case 3: try { var v: String? + if case .stringValue(let _v) = self.kind {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.kind != nil {try decoder.handleConflictingOneOf()} @@ -297,6 +300,7 @@ extension Google_Protobuf_Value: Message, _MessageImplementationBase, _ProtoName }() case 4: try { var v: Bool? + if case .boolValue(let _v) = self.kind {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if self.kind != nil {try decoder.handleConflictingOneOf()} diff --git a/Sources/protoc-gen-swift/OneofGenerator.swift b/Sources/protoc-gen-swift/OneofGenerator.swift index da9db37aa..a1c07eba0 100644 --- a/Sources/protoc-gen-swift/OneofGenerator.swift +++ b/Sources/protoc-gen-swift/OneofGenerator.swift @@ -345,6 +345,7 @@ class OneofGenerator { hadValueTest = "hadOneofValue" } else { p.print("var v: \(field.swiftType)?") + p.print("if case \(field.dottedSwiftName)(let _v) = \(storedProperty) {v = _v}") hadValueTest = "\(storedProperty) != nil" } diff --git a/Tests/SwiftProtobufTests/fuzz_testing.pb.swift b/Tests/SwiftProtobufTests/fuzz_testing.pb.swift index c4989d82f..6cca011c4 100644 --- a/Tests/SwiftProtobufTests/fuzz_testing.pb.swift +++ b/Tests/SwiftProtobufTests/fuzz_testing.pb.swift @@ -3471,6 +3471,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ case 49: try { try decoder.decodeRepeatedMessageField(value: &_storage._repeatedMessage) }() case 61: try { var v: Int32? + if case .oneofInt32(let _v) = _storage._o {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3479,6 +3480,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 62: try { var v: Int64? + if case .oneofInt64(let _v) = _storage._o {v = _v} try decoder.decodeSingularInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3487,6 +3489,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 63: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._o {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3495,6 +3498,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 64: try { var v: UInt64? + if case .oneofUint64(let _v) = _storage._o {v = _v} try decoder.decodeSingularUInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3503,6 +3507,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 65: try { var v: Int32? + if case .oneofSint32(let _v) = _storage._o {v = _v} try decoder.decodeSingularSInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3511,6 +3516,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 66: try { var v: Int64? + if case .oneofSint64(let _v) = _storage._o {v = _v} try decoder.decodeSingularSInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3519,6 +3525,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 67: try { var v: UInt32? + if case .oneofFixed32(let _v) = _storage._o {v = _v} try decoder.decodeSingularFixed32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3527,6 +3534,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 68: try { var v: UInt64? + if case .oneofFixed64(let _v) = _storage._o {v = _v} try decoder.decodeSingularFixed64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3535,6 +3543,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 69: try { var v: Int32? + if case .oneofSfixed32(let _v) = _storage._o {v = _v} try decoder.decodeSingularSFixed32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3543,6 +3552,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 70: try { var v: Int64? + if case .oneofSfixed64(let _v) = _storage._o {v = _v} try decoder.decodeSingularSFixed64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3551,6 +3561,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 71: try { var v: Float? + if case .oneofFloat(let _v) = _storage._o {v = _v} try decoder.decodeSingularFloatField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3559,6 +3570,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 72: try { var v: Double? + if case .oneofDouble(let _v) = _storage._o {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3567,6 +3579,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 73: try { var v: Bool? + if case .oneofBool(let _v) = _storage._o {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3575,6 +3588,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 74: try { var v: String? + if case .oneofString(let _v) = _storage._o {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3583,6 +3597,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 75: try { var v: Data? + if case .oneofBytes(let _v) = _storage._o {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -3591,6 +3606,7 @@ extension SwiftProtoTesting_Fuzz_Message: SwiftProtobuf.Message, SwiftProtobuf._ }() case 76: try { var v: SwiftProtoTesting_Fuzz_AnEnum? + if case .oneofEnum(let _v) = _storage._o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} diff --git a/Tests/SwiftProtobufTests/test_messages_proto3.pb.swift b/Tests/SwiftProtobufTests/test_messages_proto3.pb.swift index 23f15c768..224739838 100644 --- a/Tests/SwiftProtobufTests/test_messages_proto3.pb.swift +++ b/Tests/SwiftProtobufTests/test_messages_proto3.pb.swift @@ -1215,6 +1215,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi case 73: try { try decoder.decodeMapField(fieldType: SwiftProtobuf._ProtobufEnumMap.self, value: &_storage._mapStringNestedEnum) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1236,6 +1237,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1244,6 +1246,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1252,6 +1255,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 115: try { var v: Bool? + if case .oneofBool(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1260,6 +1264,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 116: try { var v: UInt64? + if case .oneofUint64(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt64Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1268,6 +1273,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 117: try { var v: Float? + if case .oneofFloat(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularFloatField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1276,6 +1282,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 118: try { var v: Double? + if case .oneofDouble(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1284,6 +1291,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 119: try { var v: SwiftProtoTesting_Test3_TestAllTypesProto3.NestedEnum? + if case .oneofEnum(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1292,6 +1300,7 @@ extension SwiftProtoTesting_Test3_TestAllTypesProto3: SwiftProtobuf.Message, Swi }() case 120: try { var v: SwiftProtobuf.Google_Protobuf_NullValue? + if case .oneofNullValue(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Tests/SwiftProtobufTests/unittest.pb.swift b/Tests/SwiftProtobufTests/unittest.pb.swift index 28c5d01de..aa1abfaf3 100644 --- a/Tests/SwiftProtobufTests/unittest.pb.swift +++ b/Tests/SwiftProtobufTests/unittest.pb.swift @@ -4298,6 +4298,7 @@ extension SwiftProtoTesting_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._ case 85: try { try decoder.decodeSingularStringField(value: &_storage._defaultCord) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -4319,6 +4320,7 @@ extension SwiftProtoTesting_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._ }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -4327,6 +4329,7 @@ extension SwiftProtoTesting_TestAllTypes: SwiftProtobuf.Message, SwiftProtobuf._ }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -6043,6 +6046,7 @@ extension SwiftProtoTesting_TestOneof: SwiftProtobuf.Message, SwiftProtobuf._Mes switch fieldNumber { case 1: try { var v: Int32? + if case .fooInt(let _v) = self.foo {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -6051,6 +6055,7 @@ extension SwiftProtoTesting_TestOneof: SwiftProtobuf.Message, SwiftProtobuf._Mes }() case 2: try { var v: String? + if case .fooString(let _v) = self.foo {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -6186,6 +6191,7 @@ extension SwiftProtoTesting_TestRequiredOneof: SwiftProtobuf.Message, SwiftProto switch fieldNumber { case 1: try { var v: Int32? + if case .fooInt(let _v) = self.foo {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} @@ -6194,6 +6200,7 @@ extension SwiftProtoTesting_TestRequiredOneof: SwiftProtobuf.Message, SwiftProto }() case 2: try { var v: String? + if case .fooString(let _v) = self.foo {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.foo != nil {try decoder.handleConflictingOneOf()} diff --git a/Tests/SwiftProtobufTests/unittest_preserve_unknown_enum.pb.swift b/Tests/SwiftProtobufTests/unittest_preserve_unknown_enum.pb.swift index aac6b31bf..8f2610962 100644 --- a/Tests/SwiftProtobufTests/unittest_preserve_unknown_enum.pb.swift +++ b/Tests/SwiftProtobufTests/unittest_preserve_unknown_enum.pb.swift @@ -259,6 +259,7 @@ extension SwiftProtoTesting_UnknownEnum_Proto3_MyMessage: SwiftProtobuf.Message, case 4: try { try decoder.decodeRepeatedEnumField(value: &self.repeatedPackedUnexpectedE) }() case 5: try { var v: SwiftProtoTesting_UnknownEnum_Proto3_MyEnum? + if case .oneofE1(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -267,6 +268,7 @@ extension SwiftProtoTesting_UnknownEnum_Proto3_MyMessage: SwiftProtobuf.Message, }() case 6: try { var v: SwiftProtoTesting_UnknownEnum_Proto3_MyEnum? + if case .oneofE2(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -343,6 +345,7 @@ extension SwiftProtoTesting_UnknownEnum_Proto3_MyMessagePlusExtra: SwiftProtobuf case 4: try { try decoder.decodeRepeatedEnumField(value: &self.repeatedPackedUnexpectedE) }() case 5: try { var v: SwiftProtoTesting_UnknownEnum_Proto3_MyEnumPlusExtra? + if case .oneofE1(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -351,6 +354,7 @@ extension SwiftProtoTesting_UnknownEnum_Proto3_MyMessagePlusExtra: SwiftProtobuf }() case 6: try { var v: SwiftProtoTesting_UnknownEnum_Proto3_MyEnumPlusExtra? + if case .oneofE2(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} diff --git a/Tests/SwiftProtobufTests/unittest_preserve_unknown_enum2.pb.swift b/Tests/SwiftProtobufTests/unittest_preserve_unknown_enum2.pb.swift index 406ca934d..5aed56231 100644 --- a/Tests/SwiftProtobufTests/unittest_preserve_unknown_enum2.pb.swift +++ b/Tests/SwiftProtobufTests/unittest_preserve_unknown_enum2.pb.swift @@ -166,6 +166,7 @@ extension SwiftProtoTesting_UnknownEnum_Proto2_MyMessage: SwiftProtobuf.Message, case 4: try { try decoder.decodeRepeatedEnumField(value: &self.repeatedPackedUnexpectedE) }() case 5: try { var v: SwiftProtoTesting_UnknownEnum_Proto2_MyEnum? + if case .oneofE1(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} @@ -174,6 +175,7 @@ extension SwiftProtoTesting_UnknownEnum_Proto2_MyMessage: SwiftProtobuf.Message, }() case 6: try { var v: SwiftProtoTesting_UnknownEnum_Proto2_MyEnum? + if case .oneofE2(let _v) = self.o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if self.o != nil {try decoder.handleConflictingOneOf()} diff --git a/Tests/SwiftProtobufTests/unittest_proto3.pb.swift b/Tests/SwiftProtobufTests/unittest_proto3.pb.swift index 87f861d19..9ce663000 100644 --- a/Tests/SwiftProtobufTests/unittest_proto3.pb.swift +++ b/Tests/SwiftProtobufTests/unittest_proto3.pb.swift @@ -891,6 +891,7 @@ extension SwiftProtoTesting_Proto3_TestAllTypes: SwiftProtobuf.Message, SwiftPro case 57: try { try decoder.decodeRepeatedMessageField(value: &_storage._repeatedLazyMessage) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -912,6 +913,7 @@ extension SwiftProtoTesting_Proto3_TestAllTypes: SwiftProtobuf.Message, SwiftPro }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -920,6 +922,7 @@ extension SwiftProtoTesting_Proto3_TestAllTypes: SwiftProtobuf.Message, SwiftPro }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Tests/SwiftProtobufTests/unittest_swift_all_required_types.pb.swift b/Tests/SwiftProtobufTests/unittest_swift_all_required_types.pb.swift index 6638e4d40..cf992c22c 100644 --- a/Tests/SwiftProtobufTests/unittest_swift_all_required_types.pb.swift +++ b/Tests/SwiftProtobufTests/unittest_swift_all_required_types.pb.swift @@ -989,6 +989,7 @@ extension SwiftProtoTesting_TestAllRequiredTypes: SwiftProtobuf.Message, SwiftPr case 85: try { try decoder.decodeSingularStringField(value: &_storage._defaultCord) }() case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1010,6 +1011,7 @@ extension SwiftProtoTesting_TestAllRequiredTypes: SwiftProtobuf.Message, SwiftPr }() case 113: try { var v: String? + if case .oneofString(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} @@ -1018,6 +1020,7 @@ extension SwiftProtoTesting_TestAllRequiredTypes: SwiftProtobuf.Message, SwiftPr }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = _storage._oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Tests/SwiftProtobufTests/unittest_swift_fieldorder.pb.swift b/Tests/SwiftProtobufTests/unittest_swift_fieldorder.pb.swift index ab4754d5f..acfa9cbcd 100644 --- a/Tests/SwiftProtobufTests/unittest_swift_fieldorder.pb.swift +++ b/Tests/SwiftProtobufTests/unittest_swift_fieldorder.pb.swift @@ -389,6 +389,7 @@ extension SwiftProtoTesting_Order_TestFieldOrderings: SwiftProtobuf.Message, Swi case 1: try { try decoder.decodeSingularInt64Field(value: &self._myInt) }() case 9: try { var v: Bool? + if case .oneofBool(let _v) = self.options {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if self.options != nil {try decoder.handleConflictingOneOf()} @@ -397,6 +398,7 @@ extension SwiftProtoTesting_Order_TestFieldOrderings: SwiftProtobuf.Message, Swi }() case 10: try { var v: Int32? + if case .oneofInt32(let _v) = self.options {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.options != nil {try decoder.handleConflictingOneOf()} @@ -406,6 +408,7 @@ extension SwiftProtoTesting_Order_TestFieldOrderings: SwiftProtobuf.Message, Swi case 11: try { try decoder.decodeSingularStringField(value: &self._myString) }() case 60: try { var v: Int64? + if case .oneofInt64(let _v) = self.options {v = _v} try decoder.decodeSingularInt64Field(value: &v) if let v = v { if self.options != nil {try decoder.handleConflictingOneOf()} @@ -415,6 +418,7 @@ extension SwiftProtoTesting_Order_TestFieldOrderings: SwiftProtobuf.Message, Swi case 101: try { try decoder.decodeSingularFloatField(value: &self._myFloat) }() case 150: try { var v: String? + if case .oneofString(let _v) = self.options {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.options != nil {try decoder.handleConflictingOneOf()} @@ -549,6 +553,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag switch fieldNumber { case 1: try { var v: Int32? + if case .a(let _v) = self.oGood {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oGood != nil {try decoder.handleConflictingOneOf()} @@ -557,6 +562,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag }() case 26: try { var v: Int32? + if case .b(let _v) = self.oGood {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oGood != nil {try decoder.handleConflictingOneOf()} @@ -565,6 +571,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag }() case 101: try { var v: Int32? + if case .a2(let _v) = self.oConflictField {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oConflictField != nil {try decoder.handleConflictingOneOf()} @@ -574,6 +581,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag case 113: try { try decoder.decodeSingularInt32Field(value: &self._m) }() case 126: try { var v: Int32? + if case .b2(let _v) = self.oConflictField {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oConflictField != nil {try decoder.handleConflictingOneOf()} @@ -582,6 +590,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag }() case 201: try { var v: Int32? + if case .a3(let _v) = self.oConflictExtensionsStart {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oConflictExtensionsStart != nil {try decoder.handleConflictingOneOf()} @@ -590,6 +599,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag }() case 226: try { var v: Int32? + if case .b3(let _v) = self.oConflictExtensionsStart {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oConflictExtensionsStart != nil {try decoder.handleConflictingOneOf()} @@ -598,6 +608,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag }() case 301: try { var v: Int32? + if case .a4(let _v) = self.oConflictExtensionsEnd {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oConflictExtensionsEnd != nil {try decoder.handleConflictingOneOf()} @@ -606,6 +617,7 @@ extension SwiftProtoTesting_Order_OneofTraversalGeneration: SwiftProtobuf.Messag }() case 326: try { var v: Int32? + if case .b4(let _v) = self.oConflictExtensionsEnd {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.oConflictExtensionsEnd != nil {try decoder.handleConflictingOneOf()} diff --git a/Tests/SwiftProtobufTests/unittest_swift_naming.pb.swift b/Tests/SwiftProtobufTests/unittest_swift_naming.pb.swift index 64895f7ab..5f2348383 100644 --- a/Tests/SwiftProtobufTests/unittest_swift_naming.pb.swift +++ b/Tests/SwiftProtobufTests/unittest_swift_naming.pb.swift @@ -26901,6 +26901,7 @@ extension SwiftProtoTesting_Names_ValidIdentifiers: SwiftProtobuf.Message, Swift case 3: try { try decoder.decodeSingularInt32Field(value: &self.__3Field3) }() case 4: try { var v: Int32? + if case ._4(let _v) = self._2Of {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self._2Of != nil {try decoder.handleConflictingOneOf()} @@ -26909,6 +26910,7 @@ extension SwiftProtoTesting_Names_ValidIdentifiers: SwiftProtobuf.Message, Swift }() case 5: try { var v: Int32? + if case ._5Field(let _v) = self._2Of {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self._2Of != nil {try decoder.handleConflictingOneOf()} @@ -26986,6 +26988,7 @@ extension SwiftProtoTesting_Names_SpecialNames1: SwiftProtobuf.Message, SwiftPro switch fieldNumber { case 1: try { var v: String? + if case .str(let _v) = self.newValue {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.newValue != nil {try decoder.handleConflictingOneOf()} @@ -27089,6 +27092,7 @@ extension SwiftProtoTesting_Names_SpecialNames3: SwiftProtobuf.Message, SwiftPro switch fieldNumber { case 1: try { var v: String? + if case .str(let _v) = _storage._newValue {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._newValue != nil {try decoder.handleConflictingOneOf()} diff --git a/Tests/SwiftProtobufTests/unittest_swift_oneof_all_required.pb.swift b/Tests/SwiftProtobufTests/unittest_swift_oneof_all_required.pb.swift index e0359e8c1..4f88a0b61 100644 --- a/Tests/SwiftProtobufTests/unittest_swift_oneof_all_required.pb.swift +++ b/Tests/SwiftProtobufTests/unittest_swift_oneof_all_required.pb.swift @@ -343,6 +343,7 @@ extension SwiftProtoTesting_OneOfContainer: SwiftProtobuf.Message, SwiftProtobuf }() case 6: try { var v: Int32? + if case .option4(let _v) = self.option {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if self.option != nil {try decoder.handleConflictingOneOf()} diff --git a/Tests/SwiftProtobufTests/unittest_swift_oneof_merging.pb.swift b/Tests/SwiftProtobufTests/unittest_swift_oneof_merging.pb.swift index 77599c68e..1a6473353 100644 --- a/Tests/SwiftProtobufTests/unittest_swift_oneof_merging.pb.swift +++ b/Tests/SwiftProtobufTests/unittest_swift_oneof_merging.pb.swift @@ -189,6 +189,7 @@ extension SwiftProtoTesting_Merging_TestMessage: SwiftProtobuf.Message, SwiftPro switch fieldNumber { case 111: try { var v: UInt32? + if case .oneofUint32(let _v) = self.oneofField {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -210,6 +211,7 @@ extension SwiftProtoTesting_Merging_TestMessage: SwiftProtobuf.Message, SwiftPro }() case 113: try { var v: String? + if case .oneofString(let _v) = self.oneofField {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} @@ -218,6 +220,7 @@ extension SwiftProtoTesting_Merging_TestMessage: SwiftProtobuf.Message, SwiftPro }() case 114: try { var v: Data? + if case .oneofBytes(let _v) = self.oneofField {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.oneofField != nil {try decoder.handleConflictingOneOf()} diff --git a/Tests/SwiftProtobufTests/unittest_swift_runtime_proto2.pb.swift b/Tests/SwiftProtobufTests/unittest_swift_runtime_proto2.pb.swift index f6a7786ae..440266aee 100644 --- a/Tests/SwiftProtobufTests/unittest_swift_runtime_proto2.pb.swift +++ b/Tests/SwiftProtobufTests/unittest_swift_runtime_proto2.pb.swift @@ -1059,6 +1059,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess case 49: try { try decoder.decodeRepeatedEnumField(value: &_storage._repeatedEnum) }() case 51: try { var v: Int32? + if case .oneofInt32(let _v) = _storage._o {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1067,6 +1068,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 52: try { var v: Int64? + if case .oneofInt64(let _v) = _storage._o {v = _v} try decoder.decodeSingularInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1075,6 +1077,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 53: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._o {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1083,6 +1086,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 54: try { var v: UInt64? + if case .oneofUint64(let _v) = _storage._o {v = _v} try decoder.decodeSingularUInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1091,6 +1095,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 55: try { var v: Int32? + if case .oneofSint32(let _v) = _storage._o {v = _v} try decoder.decodeSingularSInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1099,6 +1104,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 56: try { var v: Int64? + if case .oneofSint64(let _v) = _storage._o {v = _v} try decoder.decodeSingularSInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1107,6 +1113,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 57: try { var v: UInt32? + if case .oneofFixed32(let _v) = _storage._o {v = _v} try decoder.decodeSingularFixed32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1115,6 +1122,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 58: try { var v: UInt64? + if case .oneofFixed64(let _v) = _storage._o {v = _v} try decoder.decodeSingularFixed64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1123,6 +1131,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 59: try { var v: Int32? + if case .oneofSfixed32(let _v) = _storage._o {v = _v} try decoder.decodeSingularSFixed32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1131,6 +1140,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 60: try { var v: Int64? + if case .oneofSfixed64(let _v) = _storage._o {v = _v} try decoder.decodeSingularSFixed64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1139,6 +1149,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 61: try { var v: Float? + if case .oneofFloat(let _v) = _storage._o {v = _v} try decoder.decodeSingularFloatField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1147,6 +1158,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 62: try { var v: Double? + if case .oneofDouble(let _v) = _storage._o {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1155,6 +1167,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 63: try { var v: Bool? + if case .oneofBool(let _v) = _storage._o {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1163,6 +1176,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 64: try { var v: String? + if case .oneofString(let _v) = _storage._o {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1171,6 +1185,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 65: try { var v: Data? + if case .oneofBytes(let _v) = _storage._o {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -1205,6 +1220,7 @@ extension SwiftProtoTesting_Message2: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 69: try { var v: SwiftProtoTesting_Message2.Enum? + if case .oneofEnum(let _v) = _storage._o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} diff --git a/Tests/SwiftProtobufTests/unittest_swift_runtime_proto3.pb.swift b/Tests/SwiftProtobufTests/unittest_swift_runtime_proto3.pb.swift index 55e622b16..262bc6637 100644 --- a/Tests/SwiftProtobufTests/unittest_swift_runtime_proto3.pb.swift +++ b/Tests/SwiftProtobufTests/unittest_swift_runtime_proto3.pb.swift @@ -863,6 +863,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess case 49: try { try decoder.decodeRepeatedEnumField(value: &_storage._repeatedEnum) }() case 51: try { var v: Int32? + if case .oneofInt32(let _v) = _storage._o {v = _v} try decoder.decodeSingularInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -871,6 +872,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 52: try { var v: Int64? + if case .oneofInt64(let _v) = _storage._o {v = _v} try decoder.decodeSingularInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -879,6 +881,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 53: try { var v: UInt32? + if case .oneofUint32(let _v) = _storage._o {v = _v} try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -887,6 +890,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 54: try { var v: UInt64? + if case .oneofUint64(let _v) = _storage._o {v = _v} try decoder.decodeSingularUInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -895,6 +899,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 55: try { var v: Int32? + if case .oneofSint32(let _v) = _storage._o {v = _v} try decoder.decodeSingularSInt32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -903,6 +908,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 56: try { var v: Int64? + if case .oneofSint64(let _v) = _storage._o {v = _v} try decoder.decodeSingularSInt64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -911,6 +917,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 57: try { var v: UInt32? + if case .oneofFixed32(let _v) = _storage._o {v = _v} try decoder.decodeSingularFixed32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -919,6 +926,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 58: try { var v: UInt64? + if case .oneofFixed64(let _v) = _storage._o {v = _v} try decoder.decodeSingularFixed64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -927,6 +935,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 59: try { var v: Int32? + if case .oneofSfixed32(let _v) = _storage._o {v = _v} try decoder.decodeSingularSFixed32Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -935,6 +944,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 60: try { var v: Int64? + if case .oneofSfixed64(let _v) = _storage._o {v = _v} try decoder.decodeSingularSFixed64Field(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -943,6 +953,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 61: try { var v: Float? + if case .oneofFloat(let _v) = _storage._o {v = _v} try decoder.decodeSingularFloatField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -951,6 +962,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 62: try { var v: Double? + if case .oneofDouble(let _v) = _storage._o {v = _v} try decoder.decodeSingularDoubleField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -959,6 +971,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 63: try { var v: Bool? + if case .oneofBool(let _v) = _storage._o {v = _v} try decoder.decodeSingularBoolField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -967,6 +980,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 64: try { var v: String? + if case .oneofString(let _v) = _storage._o {v = _v} try decoder.decodeSingularStringField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -975,6 +989,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 65: try { var v: Data? + if case .oneofBytes(let _v) = _storage._o {v = _v} try decoder.decodeSingularBytesField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} @@ -996,6 +1011,7 @@ extension SwiftProtoTesting_Message3: SwiftProtobuf.Message, SwiftProtobuf._Mess }() case 69: try { var v: SwiftProtoTesting_Message3.Enum? + if case .oneofEnum(let _v) = _storage._o {v = _v} try decoder.decodeSingularEnumField(value: &v) if let v = v { if _storage._o != nil {try decoder.handleConflictingOneOf()} From 1eb44d228e311ea40934da03b80add752ed3fcda Mon Sep 17 00:00:00 2001 From: Pouya Yarandi Date: Thu, 18 Apr 2024 23:57:04 +0330 Subject: [PATCH 3/4] Improve test code --- .../Test_OneodFields_Decoding.swift | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/Tests/SwiftProtobufTests/Test_OneodFields_Decoding.swift b/Tests/SwiftProtobufTests/Test_OneodFields_Decoding.swift index 2b500b42c..b592e974b 100644 --- a/Tests/SwiftProtobufTests/Test_OneodFields_Decoding.swift +++ b/Tests/SwiftProtobufTests/Test_OneodFields_Decoding.swift @@ -18,55 +18,55 @@ import SwiftProtobuf final class Test_OneofFields_Decoding: XCTestCase { func testDecodeOneofCaptureField() throws { - var message = SwiftProtoTesting_Fuzz_Message() + var m = SwiftProtoTesting_Fuzz_Message() - message.oneofInt32 = 1 + m.oneofInt32 = 1 var d1 = PBTestDecoder(fieldNumber: 61) - try message.decodeMessage(decoder: &d1) + try m.decodeMessage(decoder: &d1) XCTAssertEqual(d1.value as? Int32, Int32(1)) - message.oneofInt64 = 1 + m.oneofInt64 = 1 var d2 = PBTestDecoder(fieldNumber: 62) - try message.decodeMessage(decoder: &d2) + try m.decodeMessage(decoder: &d2) XCTAssertEqual(d2.value as? Int64, Int64(1)) - message.oneofString = "message" + m.oneofString = "message" var d3 = PBTestDecoder(fieldNumber: 74) - try message.decodeMessage(decoder: &d3) + try m.decodeMessage(decoder: &d3) XCTAssertEqual(d3.value as? String, "message") - message.oneofBytes = "message".data(using: .utf8)! + m.oneofBytes = "message".data(using: .utf8)! var d4 = PBTestDecoder(fieldNumber: 75) - try message.decodeMessage(decoder: &d4) + try m.decodeMessage(decoder: &d4) XCTAssertEqual(d4.value as? Data, "message".data(using: .utf8)!) - message.oneofEnum = .two + m.oneofEnum = .two var d5 = PBTestDecoder(fieldNumber: 76) - try message.decodeMessage(decoder: &d5) + try m.decodeMessage(decoder: &d5) XCTAssertEqual(d5.value as? SwiftProtoTesting_Fuzz_AnEnum, .two) } func testDecodeOneofModifyField() throws { - var message = SwiftProtoTesting_Fuzz_Message() + var m = SwiftProtoTesting_Fuzz_Message() - var d1 = PBTestDecoder(fieldNumber: 61, decodingMode: .set(Int32(2))) - try message.decodeMessage(decoder: &d1) - XCTAssertEqual(message.oneofInt32, Int32(2)) + var d1 = PBTestDecoder(fieldNumber: 61, decodingMode: .set(Int32(1))) + try m.decodeMessage(decoder: &d1) + XCTAssertEqual(m.oneofInt32, Int32(1)) - var d2 = PBTestDecoder(fieldNumber: 62, decodingMode: .set(Int64(2))) - try message.decodeMessage(decoder: &d2) - XCTAssertEqual(message.oneofInt64, Int64(2)) + var d2 = PBTestDecoder(fieldNumber: 62, decodingMode: .set(Int64(1))) + try m.decodeMessage(decoder: &d2) + XCTAssertEqual(m.oneofInt64, Int64(1)) var d3 = PBTestDecoder(fieldNumber: 74, decodingMode: .set("message")) - try message.decodeMessage(decoder: &d3) - XCTAssertEqual(message.oneofString, "message") + try m.decodeMessage(decoder: &d3) + XCTAssertEqual(m.oneofString, "message") var d4 = PBTestDecoder(fieldNumber: 75, decodingMode: .set("message".data(using: .utf8)!)) - try message.decodeMessage(decoder: &d4) - XCTAssertEqual(message.oneofBytes, "message".data(using: .utf8)!) + try m.decodeMessage(decoder: &d4) + XCTAssertEqual(m.oneofBytes, "message".data(using: .utf8)!) var d5 = PBTestDecoder(fieldNumber: 76, decodingMode: .set(SwiftProtoTesting_Fuzz_AnEnum.two)) - try message.decodeMessage(decoder: &d5) - XCTAssertEqual(message.oneofEnum, .two) + try m.decodeMessage(decoder: &d5) + XCTAssertEqual(m.oneofEnum, .two) } } From 924c2ea678ce569dce90dfb885711f9ec2f8760f Mon Sep 17 00:00:00 2001 From: Pouya Yarandi Date: Fri, 19 Apr 2024 00:11:25 +0330 Subject: [PATCH 4/4] Fix test filename --- ...OneodFields_Decoding.swift => Test_OneofFields_Decoding.swift} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Tests/SwiftProtobufTests/{Test_OneodFields_Decoding.swift => Test_OneofFields_Decoding.swift} (100%) diff --git a/Tests/SwiftProtobufTests/Test_OneodFields_Decoding.swift b/Tests/SwiftProtobufTests/Test_OneofFields_Decoding.swift similarity index 100% rename from Tests/SwiftProtobufTests/Test_OneodFields_Decoding.swift rename to Tests/SwiftProtobufTests/Test_OneofFields_Decoding.swift