MCPcopy
hub / github.com/golang/protobuf / clearUnknown

Function clearUnknown

proto/extensions.go:336–350  ·  proto/extensions.go::clearUnknown

clearUnknown removes unknown fields from m where remover.Has reports true.

(m protoreflect.Message, remover interface {
	Has(protoreflect.FieldNumber) bool
})

Source from the content-addressed store, hash-verified

334
335// clearUnknown removes unknown fields from m where remover.Has reports true.
336func clearUnknown(m protoreflect.Message, remover interface {
337 Has(protoreflect.FieldNumber) bool
338}) {
339 var bo protoreflect.RawFields
340 for bi := m.GetUnknown(); len(bi) > 0; {
341 num, _, n := protowire.ConsumeField(bi)
342 if !remover.Has(num) {
343 bo = append(bo, bi[:n]...)
344 }
345 bi = bi[n:]
346 }
347 if bi := m.GetUnknown(); len(bi) != len(bo) {
348 m.SetUnknown(bo)
349 }
350}
351
352type fieldNum protoreflect.FieldNumber
353

Callers 4

ClearExtensionFunction · 0.85
ClearAllExtensionsFunction · 0.85
GetExtensionFunction · 0.85
SetExtensionFunction · 0.85

Calls 1

HasMethod · 0.80

Tested by

no test coverage detected