docker api
This commit is contained in:
parent
b6a86b5401
commit
4f41e275d6
836 changed files with 262259 additions and 4 deletions
285
vendor/google.golang.org/protobuf/reflect/protoreflect/value.go
generated
vendored
Normal file
285
vendor/google.golang.org/protobuf/reflect/protoreflect/value.go
generated
vendored
Normal file
|
@ -0,0 +1,285 @@
|
|||
// Copyright 2018 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 protoreflect
|
||||
|
||||
import "google.golang.org/protobuf/encoding/protowire"
|
||||
|
||||
// Enum is a reflection interface for a concrete enum value,
|
||||
// which provides type information and a getter for the enum number.
|
||||
// Enum does not provide a mutable API since enums are commonly backed by
|
||||
// Go constants, which are not addressable.
|
||||
type Enum interface {
|
||||
// Descriptor returns enum descriptor, which contains only the protobuf
|
||||
// type information for the enum.
|
||||
Descriptor() EnumDescriptor
|
||||
|
||||
// Type returns the enum type, which encapsulates both Go and protobuf
|
||||
// type information. If the Go type information is not needed,
|
||||
// it is recommended that the enum descriptor be used instead.
|
||||
Type() EnumType
|
||||
|
||||
// Number returns the enum value as an integer.
|
||||
Number() EnumNumber
|
||||
}
|
||||
|
||||
// Message is a reflective interface for a concrete message value,
|
||||
// encapsulating both type and value information for the message.
|
||||
//
|
||||
// Accessor/mutators for individual fields are keyed by FieldDescriptor.
|
||||
// For non-extension fields, the descriptor must exactly match the
|
||||
// field known by the parent message.
|
||||
// For extension fields, the descriptor must implement ExtensionTypeDescriptor,
|
||||
// extend the parent message (i.e., have the same message FullName), and
|
||||
// be within the parent's extension range.
|
||||
//
|
||||
// Each field Value can be a scalar or a composite type (Message, List, or Map).
|
||||
// See Value for the Go types associated with a FieldDescriptor.
|
||||
// Providing a Value that is invalid or of an incorrect type panics.
|
||||
type Message interface {
|
||||
// Descriptor returns message descriptor, which contains only the protobuf
|
||||
// type information for the message.
|
||||
Descriptor() MessageDescriptor
|
||||
|
||||
// Type returns the message type, which encapsulates both Go and protobuf
|
||||
// type information. If the Go type information is not needed,
|
||||
// it is recommended that the message descriptor be used instead.
|
||||
Type() MessageType
|
||||
|
||||
// New returns a newly allocated and mutable empty message.
|
||||
New() Message
|
||||
|
||||
// Interface unwraps the message reflection interface and
|
||||
// returns the underlying ProtoMessage interface.
|
||||
Interface() ProtoMessage
|
||||
|
||||
// Range iterates over every populated field in an undefined order,
|
||||
// calling f for each field descriptor and value encountered.
|
||||
// Range returns immediately if f returns false.
|
||||
// While iterating, mutating operations may only be performed
|
||||
// on the current field descriptor.
|
||||
Range(f func(FieldDescriptor, Value) bool)
|
||||
|
||||
// Has reports whether a field is populated.
|
||||
//
|
||||
// Some fields have the property of nullability where it is possible to
|
||||
// distinguish between the default value of a field and whether the field
|
||||
// was explicitly populated with the default value. Singular message fields,
|
||||
// member fields of a oneof, and proto2 scalar fields are nullable. Such
|
||||
// fields are populated only if explicitly set.
|
||||
//
|
||||
// In other cases (aside from the nullable cases above),
|
||||
// a proto3 scalar field is populated if it contains a non-zero value, and
|
||||
// a repeated field is populated if it is non-empty.
|
||||
Has(FieldDescriptor) bool
|
||||
|
||||
// Clear clears the field such that a subsequent Has call reports false.
|
||||
//
|
||||
// Clearing an extension field clears both the extension type and value
|
||||
// associated with the given field number.
|
||||
//
|
||||
// Clear is a mutating operation and unsafe for concurrent use.
|
||||
Clear(FieldDescriptor)
|
||||
|
||||
// Get retrieves the value for a field.
|
||||
//
|
||||
// For unpopulated scalars, it returns the default value, where
|
||||
// the default value of a bytes scalar is guaranteed to be a copy.
|
||||
// For unpopulated composite types, it returns an empty, read-only view
|
||||
// of the value; to obtain a mutable reference, use Mutable.
|
||||
Get(FieldDescriptor) Value
|
||||
|
||||
// Set stores the value for a field.
|
||||
//
|
||||
// For a field belonging to a oneof, it implicitly clears any other field
|
||||
// that may be currently set within the same oneof.
|
||||
// For extension fields, it implicitly stores the provided ExtensionType.
|
||||
// When setting a composite type, it is unspecified whether the stored value
|
||||
// aliases the source's memory in any way. If the composite value is an
|
||||
// empty, read-only value, then it panics.
|
||||
//
|
||||
// Set is a mutating operation and unsafe for concurrent use.
|
||||
Set(FieldDescriptor, Value)
|
||||
|
||||
// Mutable returns a mutable reference to a composite type.
|
||||
//
|
||||
// If the field is unpopulated, it may allocate a composite value.
|
||||
// For a field belonging to a oneof, it implicitly clears any other field
|
||||
// that may be currently set within the same oneof.
|
||||
// For extension fields, it implicitly stores the provided ExtensionType
|
||||
// if not already stored.
|
||||
// It panics if the field does not contain a composite type.
|
||||
//
|
||||
// Mutable is a mutating operation and unsafe for concurrent use.
|
||||
Mutable(FieldDescriptor) Value
|
||||
|
||||
// NewField returns a new value that is assignable to the field
|
||||
// for the given descriptor. For scalars, this returns the default value.
|
||||
// For lists, maps, and messages, this returns a new, empty, mutable value.
|
||||
NewField(FieldDescriptor) Value
|
||||
|
||||
// WhichOneof reports which field within the oneof is populated,
|
||||
// returning nil if none are populated.
|
||||
// It panics if the oneof descriptor does not belong to this message.
|
||||
WhichOneof(OneofDescriptor) FieldDescriptor
|
||||
|
||||
// GetUnknown retrieves the entire list of unknown fields.
|
||||
// The caller may only mutate the contents of the RawFields
|
||||
// if the mutated bytes are stored back into the message with SetUnknown.
|
||||
GetUnknown() RawFields
|
||||
|
||||
// SetUnknown stores an entire list of unknown fields.
|
||||
// The raw fields must be syntactically valid according to the wire format.
|
||||
// An implementation may panic if this is not the case.
|
||||
// Once stored, the caller must not mutate the content of the RawFields.
|
||||
// An empty RawFields may be passed to clear the fields.
|
||||
//
|
||||
// SetUnknown is a mutating operation and unsafe for concurrent use.
|
||||
SetUnknown(RawFields)
|
||||
|
||||
// IsValid reports whether the message is valid.
|
||||
//
|
||||
// An invalid message is an empty, read-only value.
|
||||
//
|
||||
// An invalid message often corresponds to a nil pointer of the concrete
|
||||
// message type, but the details are implementation dependent.
|
||||
// Validity is not part of the protobuf data model, and may not
|
||||
// be preserved in marshaling or other operations.
|
||||
IsValid() bool
|
||||
|
||||
// ProtoMethods returns optional fast-path implementions of various operations.
|
||||
// This method may return nil.
|
||||
//
|
||||
// The returned methods type is identical to
|
||||
// "google.golang.org/protobuf/runtime/protoiface".Methods.
|
||||
// Consult the protoiface package documentation for details.
|
||||
ProtoMethods() *methods
|
||||
}
|
||||
|
||||
// RawFields is the raw bytes for an ordered sequence of fields.
|
||||
// Each field contains both the tag (representing field number and wire type),
|
||||
// and also the wire data itself.
|
||||
type RawFields []byte
|
||||
|
||||
// IsValid reports whether b is syntactically correct wire format.
|
||||
func (b RawFields) IsValid() bool {
|
||||
for len(b) > 0 {
|
||||
_, _, n := protowire.ConsumeField(b)
|
||||
if n < 0 {
|
||||
return false
|
||||
}
|
||||
b = b[n:]
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// List is a zero-indexed, ordered list.
|
||||
// The element Value type is determined by FieldDescriptor.Kind.
|
||||
// Providing a Value that is invalid or of an incorrect type panics.
|
||||
type List interface {
|
||||
// Len reports the number of entries in the List.
|
||||
// Get, Set, and Truncate panic with out of bound indexes.
|
||||
Len() int
|
||||
|
||||
// Get retrieves the value at the given index.
|
||||
// It never returns an invalid value.
|
||||
Get(int) Value
|
||||
|
||||
// Set stores a value for the given index.
|
||||
// When setting a composite type, it is unspecified whether the set
|
||||
// value aliases the source's memory in any way.
|
||||
//
|
||||
// Set is a mutating operation and unsafe for concurrent use.
|
||||
Set(int, Value)
|
||||
|
||||
// Append appends the provided value to the end of the list.
|
||||
// When appending a composite type, it is unspecified whether the appended
|
||||
// value aliases the source's memory in any way.
|
||||
//
|
||||
// Append is a mutating operation and unsafe for concurrent use.
|
||||
Append(Value)
|
||||
|
||||
// AppendMutable appends a new, empty, mutable message value to the end
|
||||
// of the list and returns it.
|
||||
// It panics if the list does not contain a message type.
|
||||
AppendMutable() Value
|
||||
|
||||
// Truncate truncates the list to a smaller length.
|
||||
//
|
||||
// Truncate is a mutating operation and unsafe for concurrent use.
|
||||
Truncate(int)
|
||||
|
||||
// NewElement returns a new value for a list element.
|
||||
// For enums, this returns the first enum value.
|
||||
// For other scalars, this returns the zero value.
|
||||
// For messages, this returns a new, empty, mutable value.
|
||||
NewElement() Value
|
||||
|
||||
// IsValid reports whether the list is valid.
|
||||
//
|
||||
// An invalid list is an empty, read-only value.
|
||||
//
|
||||
// Validity is not part of the protobuf data model, and may not
|
||||
// be preserved in marshaling or other operations.
|
||||
IsValid() bool
|
||||
}
|
||||
|
||||
// Map is an unordered, associative map.
|
||||
// The entry MapKey type is determined by FieldDescriptor.MapKey.Kind.
|
||||
// The entry Value type is determined by FieldDescriptor.MapValue.Kind.
|
||||
// Providing a MapKey or Value that is invalid or of an incorrect type panics.
|
||||
type Map interface {
|
||||
// Len reports the number of elements in the map.
|
||||
Len() int
|
||||
|
||||
// Range iterates over every map entry in an undefined order,
|
||||
// calling f for each key and value encountered.
|
||||
// Range calls f Len times unless f returns false, which stops iteration.
|
||||
// While iterating, mutating operations may only be performed
|
||||
// on the current map key.
|
||||
Range(f func(MapKey, Value) bool)
|
||||
|
||||
// Has reports whether an entry with the given key is in the map.
|
||||
Has(MapKey) bool
|
||||
|
||||
// Clear clears the entry associated with they given key.
|
||||
// The operation does nothing if there is no entry associated with the key.
|
||||
//
|
||||
// Clear is a mutating operation and unsafe for concurrent use.
|
||||
Clear(MapKey)
|
||||
|
||||
// Get retrieves the value for an entry with the given key.
|
||||
// It returns an invalid value for non-existent entries.
|
||||
Get(MapKey) Value
|
||||
|
||||
// Set stores the value for an entry with the given key.
|
||||
// It panics when given a key or value that is invalid or the wrong type.
|
||||
// When setting a composite type, it is unspecified whether the set
|
||||
// value aliases the source's memory in any way.
|
||||
//
|
||||
// Set is a mutating operation and unsafe for concurrent use.
|
||||
Set(MapKey, Value)
|
||||
|
||||
// Mutable retrieves a mutable reference to the entry for the given key.
|
||||
// If no entry exists for the key, it creates a new, empty, mutable value
|
||||
// and stores it as the entry for the key.
|
||||
// It panics if the map value is not a message.
|
||||
Mutable(MapKey) Value
|
||||
|
||||
// NewValue returns a new value assignable as a map value.
|
||||
// For enums, this returns the first enum value.
|
||||
// For other scalars, this returns the zero value.
|
||||
// For messages, this returns a new, empty, mutable value.
|
||||
NewValue() Value
|
||||
|
||||
// IsValid reports whether the map is valid.
|
||||
//
|
||||
// An invalid map is an empty, read-only value.
|
||||
//
|
||||
// An invalid message often corresponds to a nil Go map value,
|
||||
// but the details are implementation dependent.
|
||||
// Validity is not part of the protobuf data model, and may not
|
||||
// be preserved in marshaling or other operations.
|
||||
IsValid() bool
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue