mutating func decodeMessage()

in TensorBoard/Protobufs/summary.pb.swift [690:753]


  mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
    _ = _uniqueStorage()
    try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
      while let fieldNumber = try decoder.nextFieldNumber() {
        // The use of inline closures is to circumvent an issue where the compiler
        // allocates stack space for every case branch when no optimizations are
        // enabled. https://github.com/apple/swift-protobuf/issues/1034
        switch fieldNumber {
        case 1: try { try decoder.decodeSingularStringField(value: &_storage._tag) }()
        case 2: try {
          if _storage._value != nil {try decoder.handleConflictingOneOf()}
          var v: Float?
          try decoder.decodeSingularFloatField(value: &v)
          if let v = v {_storage._value = .simpleValue(v)}
        }()
        case 3: try {
          if _storage._value != nil {try decoder.handleConflictingOneOf()}
          var v: Data?
          try decoder.decodeSingularBytesField(value: &v)
          if let v = v {_storage._value = .obsoleteOldStyleHistogram(v)}
        }()
        case 4: try {
          var v: TensorboardX_Summary.Image?
          if let current = _storage._value {
            try decoder.handleConflictingOneOf()
            if case .image(let m) = current {v = m}
          }
          try decoder.decodeSingularMessageField(value: &v)
          if let v = v {_storage._value = .image(v)}
        }()
        case 5: try {
          var v: TensorboardX_HistogramProto?
          if let current = _storage._value {
            try decoder.handleConflictingOneOf()
            if case .histo(let m) = current {v = m}
          }
          try decoder.decodeSingularMessageField(value: &v)
          if let v = v {_storage._value = .histo(v)}
        }()
        case 6: try {
          var v: TensorboardX_Summary.Audio?
          if let current = _storage._value {
            try decoder.handleConflictingOneOf()
            if case .audio(let m) = current {v = m}
          }
          try decoder.decodeSingularMessageField(value: &v)
          if let v = v {_storage._value = .audio(v)}
        }()
        case 7: try { try decoder.decodeSingularStringField(value: &_storage._nodeName) }()
        case 8: try {
          var v: TensorboardX_TensorProto?
          if let current = _storage._value {
            try decoder.handleConflictingOneOf()
            if case .tensor(let m) = current {v = m}
          }
          try decoder.decodeSingularMessageField(value: &v)
          if let v = v {_storage._value = .tensor(v)}
        }()
        case 9: try { try decoder.decodeSingularMessageField(value: &_storage._metadata) }()
        default: break
        }
      }
    }
  }