package impl
import (
)
type weakFields WeakFields
func ( weakFields) ( protoreflect.FieldNumber) (protoreflect.ProtoMessage, bool) {
, := [int32()]
return ,
}
func ( *weakFields) ( protoreflect.FieldNumber, protoreflect.ProtoMessage) {
if * == nil {
* = make(weakFields)
}
(*)[int32()] =
}
func ( *weakFields) ( protoreflect.FieldNumber) {
delete(*, int32())
}
func (Export) ( WeakFields, protoreflect.FieldNumber) bool {
, := [int32()]
return
}
func (Export) ( *WeakFields, protoreflect.FieldNumber) {
delete(*, int32())
}
func (Export) ( WeakFields, protoreflect.FieldNumber, protoreflect.FullName) protoreflect.ProtoMessage {
if , := [int32()]; {
return
}
, := protoregistry.GlobalTypes.FindMessageByName()
if == nil {
panic(fmt.Sprintf("message %v for weak field is not linked in", ))
}
return .Zero().Interface()
}
func (Export) ( *WeakFields, protoreflect.FieldNumber, protoreflect.FullName, protoreflect.ProtoMessage) {
if != nil {
, := protoregistry.GlobalTypes.FindMessageByName()
if == nil {
panic(fmt.Sprintf("message %v for weak field is not linked in", ))
}
if != .ProtoReflect().Type() {
panic(fmt.Sprintf("invalid message type for weak field: got %T, want %T", , .Zero().Interface()))
}
}
if == nil || !.ProtoReflect().IsValid() {
delete(*, int32())
return
}
if * == nil {
* = make(weakFields)
}
(*)[int32()] =
}