unittest_swift_enum_optional_default.pb.swift 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. // DO NOT EDIT.
  2. // swift-format-ignore-file
  3. // swiftlint:disable all
  4. //
  5. // Generated by the Swift generator plugin for the protocol buffer compiler.
  6. // Source: unittest_swift_enum_optional_default.proto
  7. //
  8. // For information on using the generated types, please see the documentation:
  9. // https://github.com/apple/swift-protobuf/
  10. // Protos/unittest_swift_enum_optional_default.proto - test proto
  11. //
  12. // This source file is part of the Swift.org open source project
  13. //
  14. // Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors
  15. // Licensed under Apache License v2.0 with Runtime Library Exception
  16. //
  17. // See http://swift.org/LICENSE.txt for license information
  18. // See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
  19. //
  20. // -----------------------------------------------------------------------------
  21. ///
  22. /// Test handling of enum fields with specified defaults
  23. ///
  24. // -----------------------------------------------------------------------------
  25. import SwiftProtobuf
  26. // If the compiler emits an error on this type, it is because this file
  27. // was generated by a version of the `protoc` Swift plug-in that is
  28. // incompatible with the version of SwiftProtobuf to which you are linking.
  29. // Please ensure that you are building against the same version of the API
  30. // that was used to generate this file.
  31. fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck {
  32. struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {}
  33. typealias Version = _2
  34. }
  35. struct SwiftProtoTesting_Extend_EnumOptionalDefault: Sendable {
  36. // SwiftProtobuf.Message conformance is added in an extension below. See the
  37. // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  38. // methods supported on all messages.
  39. var unknownFields = SwiftProtobuf.UnknownStorage()
  40. struct NestedMessage: @unchecked Sendable {
  41. // SwiftProtobuf.Message conformance is added in an extension below. See the
  42. // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  43. // methods supported on all messages.
  44. /// The circular reference here forces the generator to
  45. /// implement heap-backed storage.
  46. var message: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage {
  47. get {return _storage._message ?? SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage()}
  48. set {_uniqueStorage()._message = newValue}
  49. }
  50. /// Returns true if `message` has been explicitly set.
  51. var hasMessage: Bool {return _storage._message != nil}
  52. /// Clears the value of `message`. Subsequent reads from it will return its default value.
  53. mutating func clearMessage() {_uniqueStorage()._message = nil}
  54. var optionalEnum: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage.Enum {
  55. get {return _storage._optionalEnum ?? .foo}
  56. set {_uniqueStorage()._optionalEnum = newValue}
  57. }
  58. /// Returns true if `optionalEnum` has been explicitly set.
  59. var hasOptionalEnum: Bool {return _storage._optionalEnum != nil}
  60. /// Clears the value of `optionalEnum`. Subsequent reads from it will return its default value.
  61. mutating func clearOptionalEnum() {_uniqueStorage()._optionalEnum = nil}
  62. var unknownFields = SwiftProtobuf.UnknownStorage()
  63. enum Enum: Int, SwiftProtobuf.Enum, Swift.CaseIterable {
  64. case foo = 0
  65. init() {
  66. self = .foo
  67. }
  68. }
  69. init() {}
  70. fileprivate var _storage = _StorageClass.defaultInstance
  71. }
  72. struct NestedMessage2: Sendable {
  73. // SwiftProtobuf.Message conformance is added in an extension below. See the
  74. // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
  75. // methods supported on all messages.
  76. var optionalEnum: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage2.Enum {
  77. get {return _optionalEnum ?? .foo}
  78. set {_optionalEnum = newValue}
  79. }
  80. /// Returns true if `optionalEnum` has been explicitly set.
  81. var hasOptionalEnum: Bool {return self._optionalEnum != nil}
  82. /// Clears the value of `optionalEnum`. Subsequent reads from it will return its default value.
  83. mutating func clearOptionalEnum() {self._optionalEnum = nil}
  84. var unknownFields = SwiftProtobuf.UnknownStorage()
  85. enum Enum: Int, SwiftProtobuf.Enum, Swift.CaseIterable {
  86. case foo = 0
  87. init() {
  88. self = .foo
  89. }
  90. }
  91. init() {}
  92. fileprivate var _optionalEnum: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage2.Enum? = nil
  93. }
  94. init() {}
  95. }
  96. // MARK: - Code below here is support for the SwiftProtobuf runtime.
  97. fileprivate let _protobuf_package = "swift_proto_testing.extend"
  98. extension SwiftProtoTesting_Extend_EnumOptionalDefault: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  99. static let protoMessageName: String = _protobuf_package + ".EnumOptionalDefault"
  100. static let _protobuf_nameMap = SwiftProtobuf._NameMap()
  101. mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
  102. // Load everything into unknown fields
  103. while try decoder.nextFieldNumber() != nil {}
  104. }
  105. func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
  106. try unknownFields.traverse(visitor: &visitor)
  107. }
  108. static func ==(lhs: SwiftProtoTesting_Extend_EnumOptionalDefault, rhs: SwiftProtoTesting_Extend_EnumOptionalDefault) -> Bool {
  109. if lhs.unknownFields != rhs.unknownFields {return false}
  110. return true
  111. }
  112. }
  113. extension SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  114. static let protoMessageName: String = SwiftProtoTesting_Extend_EnumOptionalDefault.protoMessageName + ".NestedMessage"
  115. static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
  116. 1: .same(proto: "message"),
  117. 17: .standard(proto: "optional_enum"),
  118. ]
  119. fileprivate class _StorageClass {
  120. var _message: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage? = nil
  121. var _optionalEnum: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage.Enum? = nil
  122. // This property is used as the initial default value for new instances of the type.
  123. // The type itself is protecting the reference to its storage via CoW semantics.
  124. // This will force a copy to be made of this reference when the first mutation occurs;
  125. // hence, it is safe to mark this as `nonisolated(unsafe)`.
  126. static nonisolated(unsafe) let defaultInstance = _StorageClass()
  127. private init() {}
  128. init(copying source: _StorageClass) {
  129. _message = source._message
  130. _optionalEnum = source._optionalEnum
  131. }
  132. }
  133. fileprivate mutating func _uniqueStorage() -> _StorageClass {
  134. if !isKnownUniquelyReferenced(&_storage) {
  135. _storage = _StorageClass(copying: _storage)
  136. }
  137. return _storage
  138. }
  139. mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
  140. _ = _uniqueStorage()
  141. try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
  142. while let fieldNumber = try decoder.nextFieldNumber() {
  143. // The use of inline closures is to circumvent an issue where the compiler
  144. // allocates stack space for every case branch when no optimizations are
  145. // enabled. https://github.com/apple/swift-protobuf/issues/1034
  146. switch fieldNumber {
  147. case 1: try { try decoder.decodeSingularMessageField(value: &_storage._message) }()
  148. case 17: try { try decoder.decodeSingularEnumField(value: &_storage._optionalEnum) }()
  149. default: break
  150. }
  151. }
  152. }
  153. }
  154. func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
  155. try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
  156. // The use of inline closures is to circumvent an issue where the compiler
  157. // allocates stack space for every if/case branch local when no optimizations
  158. // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
  159. // https://github.com/apple/swift-protobuf/issues/1182
  160. try { if let v = _storage._message {
  161. try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
  162. } }()
  163. try { if let v = _storage._optionalEnum {
  164. try visitor.visitSingularEnumField(value: v, fieldNumber: 17)
  165. } }()
  166. }
  167. try unknownFields.traverse(visitor: &visitor)
  168. }
  169. static func ==(lhs: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage, rhs: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage) -> Bool {
  170. if lhs._storage !== rhs._storage {
  171. let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
  172. let _storage = _args.0
  173. let rhs_storage = _args.1
  174. if _storage._message != rhs_storage._message {return false}
  175. if _storage._optionalEnum != rhs_storage._optionalEnum {return false}
  176. return true
  177. }
  178. if !storagesAreEqual {return false}
  179. }
  180. if lhs.unknownFields != rhs.unknownFields {return false}
  181. return true
  182. }
  183. }
  184. extension SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage.Enum: SwiftProtobuf._ProtoNameProviding {
  185. static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
  186. 0: .same(proto: "FOO"),
  187. ]
  188. }
  189. extension SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage2: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  190. static let protoMessageName: String = SwiftProtoTesting_Extend_EnumOptionalDefault.protoMessageName + ".NestedMessage2"
  191. static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
  192. 17: .standard(proto: "optional_enum"),
  193. ]
  194. mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
  195. while let fieldNumber = try decoder.nextFieldNumber() {
  196. // The use of inline closures is to circumvent an issue where the compiler
  197. // allocates stack space for every case branch when no optimizations are
  198. // enabled. https://github.com/apple/swift-protobuf/issues/1034
  199. switch fieldNumber {
  200. case 17: try { try decoder.decodeSingularEnumField(value: &self._optionalEnum) }()
  201. default: break
  202. }
  203. }
  204. }
  205. func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
  206. // The use of inline closures is to circumvent an issue where the compiler
  207. // allocates stack space for every if/case branch local when no optimizations
  208. // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
  209. // https://github.com/apple/swift-protobuf/issues/1182
  210. try { if let v = self._optionalEnum {
  211. try visitor.visitSingularEnumField(value: v, fieldNumber: 17)
  212. } }()
  213. try unknownFields.traverse(visitor: &visitor)
  214. }
  215. static func ==(lhs: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage2, rhs: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage2) -> Bool {
  216. if lhs._optionalEnum != rhs._optionalEnum {return false}
  217. if lhs.unknownFields != rhs.unknownFields {return false}
  218. return true
  219. }
  220. }
  221. extension SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage2.Enum: SwiftProtobuf._ProtoNameProviding {
  222. static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
  223. 0: .same(proto: "FOO"),
  224. ]
  225. }