docker api
This commit is contained in:
parent
b6a86b5401
commit
4f41e275d6
836 changed files with 262259 additions and 4 deletions
43
vendor/google.golang.org/protobuf/proto/reset.go
generated
vendored
Normal file
43
vendor/google.golang.org/protobuf/proto/reset.go
generated
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
// 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 proto
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"google.golang.org/protobuf/reflect/protoreflect"
|
||||
)
|
||||
|
||||
// Reset clears every field in the message.
|
||||
// The resulting message shares no observable memory with its previous state
|
||||
// other than the memory for the message itself.
|
||||
func Reset(m Message) {
|
||||
if mr, ok := m.(interface{ Reset() }); ok && hasProtoMethods {
|
||||
mr.Reset()
|
||||
return
|
||||
}
|
||||
resetMessage(m.ProtoReflect())
|
||||
}
|
||||
|
||||
func resetMessage(m protoreflect.Message) {
|
||||
if !m.IsValid() {
|
||||
panic(fmt.Sprintf("cannot reset invalid %v message", m.Descriptor().FullName()))
|
||||
}
|
||||
|
||||
// Clear all known fields.
|
||||
fds := m.Descriptor().Fields()
|
||||
for i := 0; i < fds.Len(); i++ {
|
||||
m.Clear(fds.Get(i))
|
||||
}
|
||||
|
||||
// Clear extension fields.
|
||||
m.Range(func(fd protoreflect.FieldDescriptor, _ protoreflect.Value) bool {
|
||||
m.Clear(fd)
|
||||
return true
|
||||
})
|
||||
|
||||
// Clear unknown fields.
|
||||
m.SetUnknown(nil)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue