in Reference/google/protobuf/unittest_lite.pb.swift [4257:4507]
func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
// The use of inline closures is to circumvent an issue where the compiler
// allocates stack space for every if/case branch local when no optimizations
// are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
// https://github.com/apple/swift-protobuf/issues/1182
try { if let v = _storage._optionalInt32 {
try visitor.visitSingularInt32Field(value: v, fieldNumber: 1)
} }()
try { if let v = _storage._optionalInt64 {
try visitor.visitSingularInt64Field(value: v, fieldNumber: 2)
} }()
try { if let v = _storage._optionalUint32 {
try visitor.visitSingularUInt32Field(value: v, fieldNumber: 3)
} }()
try { if let v = _storage._optionalUint64 {
try visitor.visitSingularUInt64Field(value: v, fieldNumber: 4)
} }()
try { if let v = _storage._optionalSint32 {
try visitor.visitSingularSInt32Field(value: v, fieldNumber: 5)
} }()
try { if let v = _storage._optionalSint64 {
try visitor.visitSingularSInt64Field(value: v, fieldNumber: 6)
} }()
try { if let v = _storage._optionalFixed32 {
try visitor.visitSingularFixed32Field(value: v, fieldNumber: 7)
} }()
try { if let v = _storage._optionalFixed64 {
try visitor.visitSingularFixed64Field(value: v, fieldNumber: 8)
} }()
try { if let v = _storage._optionalSfixed32 {
try visitor.visitSingularSFixed32Field(value: v, fieldNumber: 9)
} }()
try { if let v = _storage._optionalSfixed64 {
try visitor.visitSingularSFixed64Field(value: v, fieldNumber: 10)
} }()
try { if let v = _storage._optionalFloat {
try visitor.visitSingularFloatField(value: v, fieldNumber: 11)
} }()
try { if let v = _storage._optionalDouble {
try visitor.visitSingularDoubleField(value: v, fieldNumber: 12)
} }()
try { if let v = _storage._optionalBool {
try visitor.visitSingularBoolField(value: v, fieldNumber: 13)
} }()
try { if let v = _storage._optionalString {
try visitor.visitSingularStringField(value: v, fieldNumber: 14)
} }()
try { if let v = _storage._optionalBytes {
try visitor.visitSingularBytesField(value: v, fieldNumber: 15)
} }()
try { if let v = _storage._optionalGroup {
try visitor.visitSingularGroupField(value: v, fieldNumber: 16)
} }()
try { if let v = _storage._optionalNestedMessage {
try visitor.visitSingularMessageField(value: v, fieldNumber: 18)
} }()
try { if let v = _storage._optionalForeignMessage {
try visitor.visitSingularMessageField(value: v, fieldNumber: 19)
} }()
try { if let v = _storage._optionalImportMessage {
try visitor.visitSingularMessageField(value: v, fieldNumber: 20)
} }()
try { if let v = _storage._optionalNestedEnum {
try visitor.visitSingularEnumField(value: v, fieldNumber: 21)
} }()
try { if let v = _storage._optionalForeignEnum {
try visitor.visitSingularEnumField(value: v, fieldNumber: 22)
} }()
try { if let v = _storage._optionalImportEnum {
try visitor.visitSingularEnumField(value: v, fieldNumber: 23)
} }()
try { if let v = _storage._optionalStringPiece {
try visitor.visitSingularStringField(value: v, fieldNumber: 24)
} }()
try { if let v = _storage._optionalCord {
try visitor.visitSingularStringField(value: v, fieldNumber: 25)
} }()
try { if let v = _storage._optionalPublicImportMessage {
try visitor.visitSingularMessageField(value: v, fieldNumber: 26)
} }()
try { if let v = _storage._optionalLazyMessage {
try visitor.visitSingularMessageField(value: v, fieldNumber: 27)
} }()
if !_storage._repeatedInt32.isEmpty {
try visitor.visitRepeatedInt32Field(value: _storage._repeatedInt32, fieldNumber: 31)
}
if !_storage._repeatedInt64.isEmpty {
try visitor.visitRepeatedInt64Field(value: _storage._repeatedInt64, fieldNumber: 32)
}
if !_storage._repeatedUint32.isEmpty {
try visitor.visitRepeatedUInt32Field(value: _storage._repeatedUint32, fieldNumber: 33)
}
if !_storage._repeatedUint64.isEmpty {
try visitor.visitRepeatedUInt64Field(value: _storage._repeatedUint64, fieldNumber: 34)
}
if !_storage._repeatedSint32.isEmpty {
try visitor.visitRepeatedSInt32Field(value: _storage._repeatedSint32, fieldNumber: 35)
}
if !_storage._repeatedSint64.isEmpty {
try visitor.visitRepeatedSInt64Field(value: _storage._repeatedSint64, fieldNumber: 36)
}
if !_storage._repeatedFixed32.isEmpty {
try visitor.visitRepeatedFixed32Field(value: _storage._repeatedFixed32, fieldNumber: 37)
}
if !_storage._repeatedFixed64.isEmpty {
try visitor.visitRepeatedFixed64Field(value: _storage._repeatedFixed64, fieldNumber: 38)
}
if !_storage._repeatedSfixed32.isEmpty {
try visitor.visitRepeatedSFixed32Field(value: _storage._repeatedSfixed32, fieldNumber: 39)
}
if !_storage._repeatedSfixed64.isEmpty {
try visitor.visitRepeatedSFixed64Field(value: _storage._repeatedSfixed64, fieldNumber: 40)
}
if !_storage._repeatedFloat.isEmpty {
try visitor.visitRepeatedFloatField(value: _storage._repeatedFloat, fieldNumber: 41)
}
if !_storage._repeatedDouble.isEmpty {
try visitor.visitRepeatedDoubleField(value: _storage._repeatedDouble, fieldNumber: 42)
}
if !_storage._repeatedBool.isEmpty {
try visitor.visitRepeatedBoolField(value: _storage._repeatedBool, fieldNumber: 43)
}
if !_storage._repeatedString.isEmpty {
try visitor.visitRepeatedStringField(value: _storage._repeatedString, fieldNumber: 44)
}
if !_storage._repeatedBytes.isEmpty {
try visitor.visitRepeatedBytesField(value: _storage._repeatedBytes, fieldNumber: 45)
}
if !_storage._repeatedGroup.isEmpty {
try visitor.visitRepeatedGroupField(value: _storage._repeatedGroup, fieldNumber: 46)
}
if !_storage._repeatedNestedMessage.isEmpty {
try visitor.visitRepeatedMessageField(value: _storage._repeatedNestedMessage, fieldNumber: 48)
}
if !_storage._repeatedForeignMessage.isEmpty {
try visitor.visitRepeatedMessageField(value: _storage._repeatedForeignMessage, fieldNumber: 49)
}
if !_storage._repeatedImportMessage.isEmpty {
try visitor.visitRepeatedMessageField(value: _storage._repeatedImportMessage, fieldNumber: 50)
}
if !_storage._repeatedNestedEnum.isEmpty {
try visitor.visitRepeatedEnumField(value: _storage._repeatedNestedEnum, fieldNumber: 51)
}
if !_storage._repeatedForeignEnum.isEmpty {
try visitor.visitRepeatedEnumField(value: _storage._repeatedForeignEnum, fieldNumber: 52)
}
if !_storage._repeatedImportEnum.isEmpty {
try visitor.visitRepeatedEnumField(value: _storage._repeatedImportEnum, fieldNumber: 53)
}
if !_storage._repeatedStringPiece.isEmpty {
try visitor.visitRepeatedStringField(value: _storage._repeatedStringPiece, fieldNumber: 54)
}
if !_storage._repeatedCord.isEmpty {
try visitor.visitRepeatedStringField(value: _storage._repeatedCord, fieldNumber: 55)
}
if !_storage._repeatedLazyMessage.isEmpty {
try visitor.visitRepeatedMessageField(value: _storage._repeatedLazyMessage, fieldNumber: 57)
}
try { if let v = _storage._defaultInt32 {
try visitor.visitSingularInt32Field(value: v, fieldNumber: 61)
} }()
try { if let v = _storage._defaultInt64 {
try visitor.visitSingularInt64Field(value: v, fieldNumber: 62)
} }()
try { if let v = _storage._defaultUint32 {
try visitor.visitSingularUInt32Field(value: v, fieldNumber: 63)
} }()
try { if let v = _storage._defaultUint64 {
try visitor.visitSingularUInt64Field(value: v, fieldNumber: 64)
} }()
try { if let v = _storage._defaultSint32 {
try visitor.visitSingularSInt32Field(value: v, fieldNumber: 65)
} }()
try { if let v = _storage._defaultSint64 {
try visitor.visitSingularSInt64Field(value: v, fieldNumber: 66)
} }()
try { if let v = _storage._defaultFixed32 {
try visitor.visitSingularFixed32Field(value: v, fieldNumber: 67)
} }()
try { if let v = _storage._defaultFixed64 {
try visitor.visitSingularFixed64Field(value: v, fieldNumber: 68)
} }()
try { if let v = _storage._defaultSfixed32 {
try visitor.visitSingularSFixed32Field(value: v, fieldNumber: 69)
} }()
try { if let v = _storage._defaultSfixed64 {
try visitor.visitSingularSFixed64Field(value: v, fieldNumber: 70)
} }()
try { if let v = _storage._defaultFloat {
try visitor.visitSingularFloatField(value: v, fieldNumber: 71)
} }()
try { if let v = _storage._defaultDouble {
try visitor.visitSingularDoubleField(value: v, fieldNumber: 72)
} }()
try { if let v = _storage._defaultBool {
try visitor.visitSingularBoolField(value: v, fieldNumber: 73)
} }()
try { if let v = _storage._defaultString {
try visitor.visitSingularStringField(value: v, fieldNumber: 74)
} }()
try { if let v = _storage._defaultBytes {
try visitor.visitSingularBytesField(value: v, fieldNumber: 75)
} }()
try { if let v = _storage._defaultNestedEnum {
try visitor.visitSingularEnumField(value: v, fieldNumber: 81)
} }()
try { if let v = _storage._defaultForeignEnum {
try visitor.visitSingularEnumField(value: v, fieldNumber: 82)
} }()
try { if let v = _storage._defaultImportEnum {
try visitor.visitSingularEnumField(value: v, fieldNumber: 83)
} }()
try { if let v = _storage._defaultStringPiece {
try visitor.visitSingularStringField(value: v, fieldNumber: 84)
} }()
try { if let v = _storage._defaultCord {
try visitor.visitSingularStringField(value: v, fieldNumber: 85)
} }()
switch _storage._oneofField {
case .oneofUint32?: try {
guard case .oneofUint32(let v)? = _storage._oneofField else { preconditionFailure() }
try visitor.visitSingularUInt32Field(value: v, fieldNumber: 111)
}()
case .oneofNestedMessage?: try {
guard case .oneofNestedMessage(let v)? = _storage._oneofField else { preconditionFailure() }
try visitor.visitSingularMessageField(value: v, fieldNumber: 112)
}()
case .oneofString?: try {
guard case .oneofString(let v)? = _storage._oneofField else { preconditionFailure() }
try visitor.visitSingularStringField(value: v, fieldNumber: 113)
}()
case .oneofBytes?: try {
guard case .oneofBytes(let v)? = _storage._oneofField else { preconditionFailure() }
try visitor.visitSingularBytesField(value: v, fieldNumber: 114)
}()
case .oneofLazyNestedMessage?: try {
guard case .oneofLazyNestedMessage(let v)? = _storage._oneofField else { preconditionFailure() }
try visitor.visitSingularMessageField(value: v, fieldNumber: 115)
}()
default: break
}
try { if let v = _storage._deceptivelyNamedList {
try visitor.visitSingularInt32Field(value: v, fieldNumber: 116)
} }()
try { if case .oneofNestedMessage2(let v)? = _storage._oneofField {
try visitor.visitSingularMessageField(value: v, fieldNumber: 117)
} }()
}
try unknownFields.traverse(visitor: &visitor)
}