mirror of
https://github.com/protocolbuffers/protobuf-go.git
synced 2025-04-15 23:42:22 +00:00
This is a breaking change in light of new methods added in CL/174918. This removes: Enum.Type: replacement is Descriptor Message.Type: replacement is Descriptor and New Change-Id: Iaa5328795407c8401ef14ed038bd5ace19d8e03b Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/174938 Reviewed-by: Damien Neil <dneil@google.com>
94 lines
2.3 KiB
Go
94 lines
2.3 KiB
Go
// Copyright 2019 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package irregular
|
|
|
|
import (
|
|
pref "google.golang.org/protobuf/reflect/protoreflect"
|
|
)
|
|
|
|
func (m *message) KnownFields() pref.KnownFields { return (*known)(m) }
|
|
func (m *message) UnknownFields() pref.UnknownFields { return (*unknown)(m) }
|
|
|
|
type known IrregularMessage
|
|
|
|
func (m *known) Len() int {
|
|
if m.set {
|
|
return 1
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (m *known) Has(num pref.FieldNumber) bool {
|
|
switch num {
|
|
case fieldS:
|
|
return m.set
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (m *known) Get(num pref.FieldNumber) pref.Value {
|
|
switch num {
|
|
case fieldS:
|
|
return pref.ValueOf(m.value)
|
|
}
|
|
return pref.Value{}
|
|
}
|
|
|
|
func (m *known) Set(num pref.FieldNumber, v pref.Value) {
|
|
switch num {
|
|
case fieldS:
|
|
m.value = v.String()
|
|
default:
|
|
panic("unknown field")
|
|
}
|
|
}
|
|
|
|
func (m *known) Clear(num pref.FieldNumber) {
|
|
switch num {
|
|
case fieldS:
|
|
m.value = ""
|
|
m.set = false
|
|
default:
|
|
panic("unknown field")
|
|
}
|
|
}
|
|
|
|
func (m *known) WhichOneof(name pref.Name) pref.FieldNumber {
|
|
return 0
|
|
}
|
|
|
|
func (m *known) Range(f func(pref.FieldNumber, pref.Value) bool) {
|
|
if m.set {
|
|
f(fieldS, pref.ValueOf(m.value))
|
|
}
|
|
}
|
|
|
|
func (m *known) NewMessage(num pref.FieldNumber) pref.Message {
|
|
panic("not a message field")
|
|
}
|
|
|
|
func (m *known) ExtensionTypes() pref.ExtensionFieldTypes {
|
|
return (*exttypes)(m)
|
|
}
|
|
|
|
const fieldS = pref.FieldNumber(1)
|
|
|
|
type unknown IrregularMessage
|
|
|
|
func (m *unknown) Len() int { return 0 }
|
|
func (m *unknown) Get(pref.FieldNumber) pref.RawFields { return nil }
|
|
func (m *unknown) Set(pref.FieldNumber, pref.RawFields) {}
|
|
func (m *unknown) Range(func(pref.FieldNumber, pref.RawFields) bool) {}
|
|
func (m *unknown) IsSupported() bool { return false }
|
|
|
|
type exttypes IrregularMessage
|
|
|
|
func (m *exttypes) Len() int { return 0 }
|
|
func (m *exttypes) Register(pref.ExtensionType) { panic("not extendable") }
|
|
func (m *exttypes) Remove(pref.ExtensionType) {}
|
|
func (m *exttypes) ByNumber(pref.FieldNumber) pref.ExtensionType { return nil }
|
|
func (m *exttypes) ByName(pref.FullName) pref.ExtensionType { return nil }
|
|
func (m *exttypes) Range(func(pref.ExtensionType) bool) {}
|