unittest_swift_enum_optional_default.pb.swift 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  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 {_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 {_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 {_storage._optionalEnum ?? .foo}
  56. set {_uniqueStorage()._optionalEnum = newValue}
  57. }
  58. /// Returns true if `optionalEnum` has been explicitly set.
  59. var hasOptionalEnum: Bool {_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 {_optionalEnum ?? .foo}
  78. set {_optionalEnum = newValue}
  79. }
  80. /// Returns true if `optionalEnum` has been explicitly set.
  81. var hasOptionalEnum: Bool {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(bytecode: "\0\u{1}message\0\u{4}\u{10}optional_enum\0")
  116. fileprivate class _StorageClass {
  117. var _message: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage? = nil
  118. var _optionalEnum: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage.Enum? = nil
  119. // This property is used as the initial default value for new instances of the type.
  120. // The type itself is protecting the reference to its storage via CoW semantics.
  121. // This will force a copy to be made of this reference when the first mutation occurs;
  122. // hence, it is safe to mark this as `nonisolated(unsafe)`.
  123. static nonisolated(unsafe) let defaultInstance = _StorageClass()
  124. private init() {}
  125. init(copying source: _StorageClass) {
  126. _message = source._message
  127. _optionalEnum = source._optionalEnum
  128. }
  129. }
  130. fileprivate mutating func _uniqueStorage() -> _StorageClass {
  131. if !isKnownUniquelyReferenced(&_storage) {
  132. _storage = _StorageClass(copying: _storage)
  133. }
  134. return _storage
  135. }
  136. mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
  137. _ = _uniqueStorage()
  138. try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
  139. while let fieldNumber = try decoder.nextFieldNumber() {
  140. // The use of inline closures is to circumvent an issue where the compiler
  141. // allocates stack space for every case branch when no optimizations are
  142. // enabled. https://github.com/apple/swift-protobuf/issues/1034
  143. switch fieldNumber {
  144. case 1: try { try decoder.decodeSingularMessageField(value: &_storage._message) }()
  145. case 17: try { try decoder.decodeSingularEnumField(value: &_storage._optionalEnum) }()
  146. default: break
  147. }
  148. }
  149. }
  150. }
  151. func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
  152. try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
  153. // The use of inline closures is to circumvent an issue where the compiler
  154. // allocates stack space for every if/case branch local when no optimizations
  155. // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
  156. // https://github.com/apple/swift-protobuf/issues/1182
  157. try { if let v = _storage._message {
  158. try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
  159. } }()
  160. try { if let v = _storage._optionalEnum {
  161. try visitor.visitSingularEnumField(value: v, fieldNumber: 17)
  162. } }()
  163. }
  164. try unknownFields.traverse(visitor: &visitor)
  165. }
  166. static func ==(lhs: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage, rhs: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage) -> Bool {
  167. if lhs._storage !== rhs._storage {
  168. let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in
  169. let _storage = _args.0
  170. let rhs_storage = _args.1
  171. if _storage._message != rhs_storage._message {return false}
  172. if _storage._optionalEnum != rhs_storage._optionalEnum {return false}
  173. return true
  174. }
  175. if !storagesAreEqual {return false}
  176. }
  177. if lhs.unknownFields != rhs.unknownFields {return false}
  178. return true
  179. }
  180. }
  181. extension SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage.Enum: SwiftProtobuf._ProtoNameProviding {
  182. static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0FOO\0")
  183. }
  184. extension SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage2: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
  185. static let protoMessageName: String = SwiftProtoTesting_Extend_EnumOptionalDefault.protoMessageName + ".NestedMessage2"
  186. static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{4}\u{11}optional_enum\0")
  187. mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
  188. while let fieldNumber = try decoder.nextFieldNumber() {
  189. // The use of inline closures is to circumvent an issue where the compiler
  190. // allocates stack space for every case branch when no optimizations are
  191. // enabled. https://github.com/apple/swift-protobuf/issues/1034
  192. switch fieldNumber {
  193. case 17: try { try decoder.decodeSingularEnumField(value: &self._optionalEnum) }()
  194. default: break
  195. }
  196. }
  197. }
  198. func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
  199. // The use of inline closures is to circumvent an issue where the compiler
  200. // allocates stack space for every if/case branch local when no optimizations
  201. // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
  202. // https://github.com/apple/swift-protobuf/issues/1182
  203. try { if let v = self._optionalEnum {
  204. try visitor.visitSingularEnumField(value: v, fieldNumber: 17)
  205. } }()
  206. try unknownFields.traverse(visitor: &visitor)
  207. }
  208. static func ==(lhs: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage2, rhs: SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage2) -> Bool {
  209. if lhs._optionalEnum != rhs._optionalEnum {return false}
  210. if lhs.unknownFields != rhs.unknownFields {return false}
  211. return true
  212. }
  213. }
  214. extension SwiftProtoTesting_Extend_EnumOptionalDefault.NestedMessage2.Enum: SwiftProtobuf._ProtoNameProviding {
  215. static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0FOO\0")
  216. }