package filedesc
Import Path
google.golang.org/protobuf/internal/filedesc (on go.dev)
Dependency Relation
imports 19 packages, and imported by 5 packages
Involved Source Files
Package filedesc provides functionality for constructing descriptors.
The types in this package implement interfaces in the protoreflect package
related to protobuf descripriptors.
desc.go
desc_init.go
desc_lazy.go
desc_list.go
desc_list_gen.go
placeholder.go
Package-Level Type Names (total 53, in which 46 are exported)
L0 BaseL0
(*T) FullName() pref.FullName
(*T) Index() int
(*T) IsPlaceholder() bool
(*T) Name() pref.Name
(*T) Parent() pref.Descriptor
(*T) ParentFile() pref.FileDescriptor
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) Syntax() pref.Syntax
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
// must be populated
Index int
Parent pref.Descriptor
// must be populated
Builder construct a protoreflect.FileDescriptor from the raw descriptor.
FileRegistry is use to lookup file, enum, and message dependencies.
Once constructed, the file descriptor is registered here.
If nil, it uses protoregistry.GlobalFiles.
GoPackagePath is the Go package path that is invoking this builder.
NumEnums is the total number of enums declared in the file.
NumExtensions is the total number of extensions declared in the file.
NumMessages is the total number of messages declared in the file.
It includes the implicit message declarations for map entries.
NumServices is the total number of services declared in the file.
RawDescriptor is the wire-encoded bytes of FileDescriptorProto
and must be populated.
TypeResolver resolves extension field types for descriptor options.
If nil, it uses protoregistry.GlobalTypes.
Build constructs a FileDescriptor given the parameters set in Builder.
It assumes that the inputs are well-formed and panics if any inconsistencies
are encountered.
If NumEnums+NumMessages+NumExtensions+NumServices is zero,
then Build automatically derives them from the raw descriptor.
optionsUnmarshaler constructs a lazy unmarshal function for an options message.
The type of message to unmarshal to is passed as a pointer since the
vars in descopts may not yet be populated at the time this function is called.
unmarshalCounts counts the number of enum, message, extension, and service
declarations in the raw message, which is either a FileDescriptorProto
or a MessageDescriptorProto depending on whether isFile is set.
func newRawFile(db Builder) *File
Base Base
Base.L0 BaseL0
L1 EnumL1
// protected by fileDesc.once
(*T) Format(s fmt.State, r rune)
(*T) FullName() pref.FullName
(*T) Index() int
(*T) IsPlaceholder() bool
(*T) Name() pref.Name
(*T) Options() pref.ProtoMessage
(*T) Parent() pref.Descriptor
(*T) ParentFile() pref.FileDescriptor
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) ProtoType(pref.EnumDescriptor)
(*T) ReservedNames() pref.Names
(*T) ReservedRanges() pref.EnumRanges
(*T) Syntax() pref.Syntax
(*T) Values() pref.EnumValueDescriptors
(*T) lazyInit() *EnumL2
(*T) unmarshalFull(b []byte, sb *strs.Builder)
(*T) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*T : google.golang.org/protobuf/reflect/protoreflect.EnumDescriptor
*T : fmt.Formatter
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.isEnumDescriptor
func (*File).allocEnums(n int) []Enum
func google.golang.org/protobuf/reflect/protodesc.validateEnumDeclarations(es []Enum, eds []*descriptorpb.EnumDescriptorProto) error
// controls whether EnumL2.Values is already populated
Options func() pref.ProtoMessage
ReservedNames Names
ReservedRanges EnumRanges
Values EnumValues
func (*Enum).lazyInit() *EnumL2
// start inclusive; end inclusive
once sync.Once
// protected by once
CheckValid reports any errors with the set of names with an error message
that completes the sentence: "ranges is invalid because it has ..."
(*T) Format(s fmt.State, r rune)
(*T) Get(i int) [2]pref.EnumNumber
(*T) Has(n pref.EnumNumber) bool
(*T) Len() int
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) lazyInit() *EnumRanges
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.EnumRanges
*T : fmt.Formatter
*T : google.golang.org/protobuf/internal/descfmt.list
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
func (*EnumRanges).lazyInit() *EnumRanges
var emptyEnumRanges *EnumRanges
List []Enum
// protected by once
once sync.Once
(*T) ByName(s protoreflect.Name) protoreflect.EnumDescriptor
(*T) Format(s fmt.State, r rune)
(*T) Get(i int) protoreflect.EnumDescriptor
(*T) Len() int
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) lazyInit() *Enums
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.EnumDescriptors
*T : fmt.Formatter
*T : google.golang.org/protobuf/internal/descfmt.list
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
func (*Enums).lazyInit() *Enums
var emptyEnums *Enums
Base Base
Base.L0 BaseL0
L1 EnumValueL1
(*T) Format(s fmt.State, r rune)
(*T) FullName() pref.FullName
(*T) Index() int
(*T) IsPlaceholder() bool
(*T) Name() pref.Name
(*T) Number() pref.EnumNumber
(*T) Options() pref.ProtoMessage
(*T) Parent() pref.Descriptor
(*T) ParentFile() pref.FileDescriptor
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) ProtoType(pref.EnumValueDescriptor)
(*T) Syntax() pref.Syntax
(*T) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*T : google.golang.org/protobuf/reflect/protoreflect.EnumValueDescriptor
*T : fmt.Formatter
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.isEnumValueDescriptor
Number pref.EnumNumber
Options func() pref.ProtoMessage
List []EnumValue
// protected by once
// protected by once
once sync.Once
(*T) ByName(s protoreflect.Name) protoreflect.EnumValueDescriptor
(*T) ByNumber(n protoreflect.EnumNumber) protoreflect.EnumValueDescriptor
(*T) Format(s fmt.State, r rune)
(*T) Get(i int) protoreflect.EnumValueDescriptor
(*T) Len() int
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) lazyInit() *EnumValues
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.EnumValueDescriptors
*T : fmt.Formatter
*T : google.golang.org/protobuf/internal/descfmt.list
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
func (*EnumValues).lazyInit() *EnumValues
var emptyEnumValues *EnumValues
Base Base
Base.L0 BaseL0
L1 ExtensionL1
// protected by fileDesc.once
(*T) Cardinality() pref.Cardinality
(*T) ContainingMessage() pref.MessageDescriptor
(*T) ContainingOneof() pref.OneofDescriptor
(*T) Default() pref.Value
(*T) DefaultEnumValue() pref.EnumValueDescriptor
(*T) Enum() pref.EnumDescriptor
(*T) Format(s fmt.State, r rune)
(*T) FullName() pref.FullName
(*T) HasDefault() bool
(*T) HasJSONName() bool
(*T) HasOptionalKeyword() bool
(*T) HasPresence() bool
(*T) Index() int
(*T) IsExtension() bool
(*T) IsList() bool
(*T) IsMap() bool
(*T) IsPacked() bool
(*T) IsPlaceholder() bool
(*T) IsWeak() bool
(*T) JSONName() string
(*T) Kind() pref.Kind
(*T) MapKey() pref.FieldDescriptor
(*T) MapValue() pref.FieldDescriptor
(*T) Message() pref.MessageDescriptor
(*T) Name() pref.Name
(*T) Number() pref.FieldNumber
(*T) Options() pref.ProtoMessage
(*T) Parent() pref.Descriptor
(*T) ParentFile() pref.FileDescriptor
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) ProtoType(pref.FieldDescriptor)
(*T) Syntax() pref.Syntax
(*T) TextName() string
(*T) lazyInit() *ExtensionL2
(*T) unmarshalFull(b []byte, sb *strs.Builder)
(*T) unmarshalOptions(b []byte)
(*T) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*T : google.golang.org/protobuf/reflect/protoreflect.FieldDescriptor
*T : fmt.Formatter
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.isFieldDescriptor
func (*File).allocExtensions(n int) []Extension
func google.golang.org/protobuf/reflect/protodesc.validateExtensionDeclarations(xs []Extension, xds []*descriptorpb.FieldDescriptorProto) error
Default defaultValue
Enum pref.EnumDescriptor
// promoted from google.protobuf.FieldOptions
// promoted from google.protobuf.FieldDescriptorProto
Message pref.MessageDescriptor
Options func() pref.ProtoMessage
StringName stringName
func (*Extension).lazyInit() *ExtensionL2
List []Extension
// protected by once
once sync.Once
(*T) ByName(s protoreflect.Name) protoreflect.ExtensionDescriptor
(*T) Format(s fmt.State, r rune)
(*T) Get(i int) protoreflect.ExtensionDescriptor
(*T) Len() int
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) lazyInit() *Extensions
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.ExtensionDescriptors
*T : fmt.Formatter
*T : google.golang.org/protobuf/internal/descfmt.list
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
func (*Extensions).lazyInit() *Extensions
var emptyExtensions *Extensions
Base Base
Base.L0 BaseL0
L1 FieldL1
(*T) Cardinality() pref.Cardinality
(*T) ContainingMessage() pref.MessageDescriptor
(*T) ContainingOneof() pref.OneofDescriptor
(*T) Default() pref.Value
(*T) DefaultEnumValue() pref.EnumValueDescriptor
EnforceUTF8 is a pseudo-internal API to determine whether to enforce UTF-8
validation for the string field. This exists for Google-internal use only
since proto3 did not enforce UTF-8 validity prior to the open-source release.
If this method does not exist, the default is to enforce valid UTF-8.
WARNING: This method is exempt from the compatibility promise and may be
removed in the future without warning.
(*T) Enum() pref.EnumDescriptor
(*T) Format(s fmt.State, r rune)
(*T) FullName() pref.FullName
(*T) HasDefault() bool
(*T) HasJSONName() bool
(*T) HasOptionalKeyword() bool
(*T) HasPresence() bool
(*T) Index() int
(*T) IsExtension() bool
(*T) IsList() bool
(*T) IsMap() bool
(*T) IsPacked() bool
(*T) IsPlaceholder() bool
(*T) IsWeak() bool
(*T) JSONName() string
(*T) Kind() pref.Kind
(*T) MapKey() pref.FieldDescriptor
(*T) MapValue() pref.FieldDescriptor
(*T) Message() pref.MessageDescriptor
(*T) Name() pref.Name
(*T) Number() pref.FieldNumber
(*T) Options() pref.ProtoMessage
(*T) Parent() pref.Descriptor
(*T) ParentFile() pref.FileDescriptor
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) ProtoType(pref.FieldDescriptor)
(*T) Syntax() pref.Syntax
(*T) TextName() string
(*T) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
(*T) unmarshalOptions(b []byte)
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*T : google.golang.org/protobuf/reflect/protoreflect.FieldDescriptor
*T : fmt.Formatter
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.isFieldDescriptor
// must be consistent with Message.RequiredNumbers
// must be consistent with Message.Oneofs.Fields
Default defaultValue
// promoted from google.protobuf.FieldOptions
Enum pref.EnumDescriptor
// promoted from google.protobuf.FieldOptions
// promoted from google.protobuf.FieldOptions
// promoted from google.protobuf.FieldOptions
// promoted from google.protobuf.FieldDescriptorProto
// promoted from google.protobuf.FieldOptions
Kind pref.Kind
Message pref.MessageDescriptor
Number pref.FieldNumber
Options func() pref.ProtoMessage
StringName stringName
List []pref.FieldNumber
// protected by once
once sync.Once
(*T) Format(s fmt.State, r rune)
(*T) Get(i int) pref.FieldNumber
(*T) Has(n pref.FieldNumber) bool
(*T) Len() int
(*T) ProtoInternal(pragma.DoNotImplement)
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.FieldNumbers
*T : fmt.Formatter
*T : google.golang.org/protobuf/internal/descfmt.list
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
var emptyFieldNumbers *FieldNumbers
// start inclusive; end exclusive
once sync.Once
// protected by once
CheckOverlap reports an error if p and q overlap.
CheckValid reports any errors with the set of ranges with an error message
that completes the sentence: "ranges is invalid because it has ..."
(*T) Format(s fmt.State, r rune)
(*T) Get(i int) [2]pref.FieldNumber
(*T) Has(n pref.FieldNumber) bool
(*T) Len() int
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) lazyInit() *FieldRanges
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.FieldRanges
*T : fmt.Formatter
*T : google.golang.org/protobuf/internal/descfmt.list
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
func (*FieldRanges).lazyInit() *FieldRanges
func (*FieldRanges).CheckOverlap(q *FieldRanges) error
var emptyFieldRanges *FieldRanges
List []Field
// protected by once
// protected by once
// protected by once
// protected by once
once sync.Once
(*T) ByJSONName(s string) protoreflect.FieldDescriptor
(*T) ByName(s protoreflect.Name) protoreflect.FieldDescriptor
(*T) ByNumber(n protoreflect.FieldNumber) protoreflect.FieldDescriptor
(*T) ByTextName(s string) protoreflect.FieldDescriptor
(*T) Format(s fmt.State, r rune)
(*T) Get(i int) protoreflect.FieldDescriptor
(*T) Len() int
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) lazyInit() *Fields
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.ExtensionDescriptors
*T : google.golang.org/protobuf/reflect/protoreflect.FieldDescriptors
*T : fmt.Formatter
*T : google.golang.org/protobuf/internal/descfmt.list
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
func (*Fields).lazyInit() *Fields
var emptyFields *Fields
L1 FileL1
L2 *FileL2
fileRaw fileRaw
fileRaw.allEnums []Enum
fileRaw.allExtensions []Extension
fileRaw.allMessages []Message
fileRaw.allServices []Service
fileRaw.builder Builder
// protects L2
// atomically set if L2 is valid
(*T) Enums() pref.EnumDescriptors
(*T) Extensions() pref.ExtensionDescriptors
(*T) Format(s fmt.State, r rune)
(*T) FullName() pref.FullName
GoPackagePath is a pseudo-internal API for determining the Go package path
that this file descriptor is declared in.
WARNING: This method is exempt from the compatibility promise and may be
removed in the future without warning.
(*T) Imports() pref.FileImports
(*T) Index() int
(*T) IsPlaceholder() bool
(*T) Messages() pref.MessageDescriptors
(*T) Name() pref.Name
(*T) Options() pref.ProtoMessage
(*T) Package() pref.FullName
(*T) Parent() pref.Descriptor
(*T) ParentFile() pref.FileDescriptor
(*T) Path() string
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) ProtoType(pref.FileDescriptor)
(*T) Services() pref.ServiceDescriptors
(*T) SourceLocations() pref.SourceLocations
(*T) Syntax() pref.Syntax
(*T) allocEnums(n int) []Enum
(*T) allocExtensions(n int) []Extension
(*T) allocMessages(n int) []Message
(*T) allocServices(n int) []Service
checkDecls performs a sanity check that the expected number of expected
declarations matches the number that were found in the descriptor proto.
initDecls pre-allocates slices for the exact number of enums, messages
(including map entries), extensions, and services declared in the proto file.
This is done to avoid regrowing the slice, which would change the address
for any previously seen declaration.
The alloc methods "allocates" slices by pulling from the capacity.
(*T) lazyInit() *FileL2
(*T) lazyInitOnce()
(*T) lazyRawInit()
(*T) resolveEnumDependency(ed pref.EnumDescriptor, i, j int32) pref.EnumDescriptor
(*T) resolveExtensions()
(*T) resolveMessageDependency(md pref.MessageDescriptor, i, j int32) pref.MessageDescriptor
(*T) resolveMessages()
(*T) resolveServices()
(*T) unmarshalFull(b []byte)
(*T) unmarshalSeed(b []byte)
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*T : google.golang.org/protobuf/reflect/protoreflect.FileDescriptor
*T : fmt.Formatter
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.isFileDescriptor
func newRawFile(db Builder) *File
func unmarshalDefault(b []byte, k pref.Kind, pf *File, ed pref.EnumDescriptor) defaultValue
func (*Enum).unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
func (*EnumValue).unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
func (*Extension).unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
func (*Field).unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
func (*Message).unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
func (*Method).unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
func (*Oneof).unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
func (*Service).unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
var SurrogateProto2 *File
var SurrogateProto3 *File
(*T) Format(s fmt.State, r rune)
(*T) Get(i int) pref.FileImport
(*T) Len() int
(*T) ProtoInternal(pragma.DoNotImplement)
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.FileImports
*T : fmt.Formatter
*T : google.golang.org/protobuf/internal/descfmt.list
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
var emptyFiles *FileImports
Enums Enums
Extensions Extensions
Messages Messages
Package pref.FullName
Path string
Services Services
Syntax pref.Syntax
Imports FileImports
Locations SourceLocations
Options func() pref.ProtoMessage
func (*File).lazyInit() *FileL2
Base Base
Base.L0 BaseL0
L1 MessageL1
// protected by fileDesc.once
(*T) Enums() pref.EnumDescriptors
(*T) ExtensionRangeOptions(i int) pref.ProtoMessage
(*T) ExtensionRanges() pref.FieldRanges
(*T) Extensions() pref.ExtensionDescriptors
(*T) Fields() pref.FieldDescriptors
(*T) Format(s fmt.State, r rune)
(*T) FullName() pref.FullName
(*T) Index() int
(*T) IsMapEntry() bool
IsMessageSet is a pseudo-internal API for checking whether a message
should serialize in the proto1 message format.
WARNING: This method is exempt from the compatibility promise and may be
removed in the future without warning.
(*T) IsPlaceholder() bool
(*T) Messages() pref.MessageDescriptors
(*T) Name() pref.Name
(*T) Oneofs() pref.OneofDescriptors
(*T) Options() pref.ProtoMessage
(*T) Parent() pref.Descriptor
(*T) ParentFile() pref.FileDescriptor
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) ProtoType(pref.MessageDescriptor)
(*T) RequiredNumbers() pref.FieldNumbers
(*T) ReservedNames() pref.Names
(*T) ReservedRanges() pref.FieldRanges
(*T) Syntax() pref.Syntax
(*T) lazyInit() *MessageL2
(*T) unmarshalFull(b []byte, sb *strs.Builder)
(*T) unmarshalOptions(b []byte)
(*T) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
(*T) unmarshalSeedOptions(b []byte)
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*T : google.golang.org/protobuf/reflect/protoreflect.MessageDescriptor
*T : fmt.Formatter
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.isMessageDescriptor
func (*File).allocMessages(n int) []Message
func google.golang.org/protobuf/internal/impl.aberrantAppendField(md *Message, goType reflect.Type, tag, tagKey, tagVal string)
func google.golang.org/protobuf/reflect/protodesc.validateMessageDeclarations(ms []Message, mds []*descriptorpb.DescriptorProto) error
Enums Enums
Extensions Extensions
// promoted from google.protobuf.MessageOptions
// promoted from google.protobuf.MessageOptions
Messages Messages
// must be same length as ExtensionRanges
ExtensionRanges FieldRanges
Fields Fields
Oneofs Oneofs
Options func() pref.ProtoMessage
// must be consistent with Fields.Cardinality
ReservedNames Names
ReservedRanges FieldRanges
func (*Message).lazyInit() *MessageL2
List []Message
// protected by once
once sync.Once
(*T) ByName(s protoreflect.Name) protoreflect.MessageDescriptor
(*T) Format(s fmt.State, r rune)
(*T) Get(i int) protoreflect.MessageDescriptor
(*T) Len() int
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) lazyInit() *Messages
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.MessageDescriptors
*T : fmt.Formatter
*T : google.golang.org/protobuf/internal/descfmt.list
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
func (*Messages).lazyInit() *Messages
var emptyMessages *Messages
Base Base
Base.L0 BaseL0
L1 MethodL1
(*T) Format(s fmt.State, r rune)
(*T) FullName() pref.FullName
(*T) Index() int
(*T) Input() pref.MessageDescriptor
(*T) IsPlaceholder() bool
(*T) IsStreamingClient() bool
(*T) IsStreamingServer() bool
(*T) Name() pref.Name
(*T) Options() pref.ProtoMessage
(*T) Output() pref.MessageDescriptor
(*T) Parent() pref.Descriptor
(*T) ParentFile() pref.FileDescriptor
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) ProtoType(pref.MethodDescriptor)
(*T) Syntax() pref.Syntax
(*T) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*T : google.golang.org/protobuf/reflect/protoreflect.MethodDescriptor
*T : fmt.Formatter
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.isMethodDescriptor
Input pref.MessageDescriptor
IsStreamingClient bool
IsStreamingServer bool
Options func() pref.ProtoMessage
Output pref.MessageDescriptor
List []Method
// protected by once
once sync.Once
(*T) ByName(s protoreflect.Name) protoreflect.MethodDescriptor
(*T) Format(s fmt.State, r rune)
(*T) Get(i int) protoreflect.MethodDescriptor
(*T) Len() int
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) lazyInit() *Methods
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.MethodDescriptors
*T : fmt.Formatter
*T : google.golang.org/protobuf/internal/descfmt.list
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
func (*Methods).lazyInit() *Methods
List []pref.Name
// protected by once
once sync.Once
CheckValid reports any errors with the set of names with an error message
that completes the sentence: "ranges is invalid because it has ..."
(*T) Format(s fmt.State, r rune)
(*T) Get(i int) pref.Name
(*T) Has(s pref.Name) bool
(*T) Len() int
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) lazyInit() *Names
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.Names
*T : fmt.Formatter
*T : google.golang.org/protobuf/internal/descfmt.list
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
func (*Names).lazyInit() *Names
var emptyNames *Names
Base Base
Base.L0 BaseL0
L1 OneofL1
(*T) Fields() pref.FieldDescriptors
(*T) Format(s fmt.State, r rune)
(*T) FullName() pref.FullName
(*T) Index() int
(*T) IsPlaceholder() bool
(*T) IsSynthetic() bool
(*T) Name() pref.Name
(*T) Options() pref.ProtoMessage
(*T) Parent() pref.Descriptor
(*T) ParentFile() pref.FileDescriptor
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) ProtoType(pref.OneofDescriptor)
(*T) Syntax() pref.Syntax
(*T) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*T : google.golang.org/protobuf/reflect/protoreflect.OneofDescriptor
*T : fmt.Formatter
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.isOneofDescriptor
List []pref.FieldDescriptor
// protected by once
// protected by once
// protected by once
// protected by once
once sync.Once
(*T) ByJSONName(s string) pref.FieldDescriptor
(*T) ByName(s pref.Name) pref.FieldDescriptor
(*T) ByNumber(n pref.FieldNumber) pref.FieldDescriptor
(*T) ByTextName(s string) pref.FieldDescriptor
(*T) Format(s fmt.State, r rune)
(*T) Get(i int) pref.FieldDescriptor
(*T) Len() int
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) lazyInit() *OneofFields
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.ExtensionDescriptors
*T : google.golang.org/protobuf/reflect/protoreflect.FieldDescriptors
*T : fmt.Formatter
*T : google.golang.org/protobuf/internal/descfmt.list
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
func (*OneofFields).lazyInit() *OneofFields
// must be consistent with Message.Fields.ContainingOneof
Options func() pref.ProtoMessage
List []Oneof
// protected by once
once sync.Once
(*T) ByName(s protoreflect.Name) protoreflect.OneofDescriptor
(*T) Format(s fmt.State, r rune)
(*T) Get(i int) protoreflect.OneofDescriptor
(*T) Len() int
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) lazyInit() *Oneofs
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.OneofDescriptors
*T : fmt.Formatter
*T : google.golang.org/protobuf/internal/descfmt.list
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
func (*Oneofs).lazyInit() *Oneofs
var emptyOneofs *Oneofs
Out is the output of the Builder.
Enums is all enum descriptors in "flattened ordering".
Extensions is all extension descriptors in "flattened ordering".
File pref.FileDescriptor
Messages is all message descriptors in "flattened ordering".
It includes the implicit message declarations for map entries.
Service is all service descriptors in "flattened ordering".
func Builder.Build() (out Out)
PlaceholderEnum is a placeholder, representing only the full name.
( T) FullName() pref.FullName
( T) Index() int
( T) IsPlaceholder() bool
( T) Name() pref.Name
( T) Options() pref.ProtoMessage
( T) Parent() pref.Descriptor
( T) ParentFile() pref.FileDescriptor
( T) ProtoInternal(pragma.DoNotImplement)
( T) ProtoType(pref.EnumDescriptor)
( T) ReservedNames() pref.Names
( T) ReservedRanges() pref.EnumRanges
( T) Syntax() pref.Syntax
( T) Values() pref.EnumValueDescriptors
T : google.golang.org/protobuf/internal/pragma.DoNotImplement
T : google.golang.org/protobuf/reflect/protoreflect.Descriptor
T : google.golang.org/protobuf/reflect/protoreflect.EnumDescriptor
T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
T : google.golang.org/protobuf/reflect/protoreflect.isEnumDescriptor
PlaceholderEnumValue is a placeholder, representing only the full name.
( T) FullName() pref.FullName
( T) Index() int
( T) IsPlaceholder() bool
( T) Name() pref.Name
( T) Number() pref.EnumNumber
( T) Options() pref.ProtoMessage
( T) Parent() pref.Descriptor
( T) ParentFile() pref.FileDescriptor
( T) ProtoInternal(pragma.DoNotImplement)
( T) ProtoType(pref.EnumValueDescriptor)
( T) Syntax() pref.Syntax
T : google.golang.org/protobuf/internal/pragma.DoNotImplement
T : google.golang.org/protobuf/reflect/protoreflect.Descriptor
T : google.golang.org/protobuf/reflect/protoreflect.EnumValueDescriptor
T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
T : google.golang.org/protobuf/reflect/protoreflect.isEnumValueDescriptor
PlaceholderFile is a placeholder, representing only the file path.
( T) Enums() pref.EnumDescriptors
( T) Extensions() pref.ExtensionDescriptors
( T) FullName() pref.FullName
( T) Imports() pref.FileImports
( T) Index() int
( T) IsPlaceholder() bool
( T) Messages() pref.MessageDescriptors
( T) Name() pref.Name
( T) Options() pref.ProtoMessage
( T) Package() pref.FullName
( T) Parent() pref.Descriptor
( T) ParentFile() pref.FileDescriptor
( T) Path() string
( T) ProtoInternal(pragma.DoNotImplement)
( T) ProtoType(pref.FileDescriptor)
( T) Services() pref.ServiceDescriptors
( T) SourceLocations() pref.SourceLocations
( T) Syntax() pref.Syntax
T : google.golang.org/protobuf/internal/pragma.DoNotImplement
T : google.golang.org/protobuf/reflect/protoreflect.Descriptor
T : google.golang.org/protobuf/reflect/protoreflect.FileDescriptor
T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
T : google.golang.org/protobuf/reflect/protoreflect.isFileDescriptor
PlaceholderMessage is a placeholder, representing only the full name.
( T) Enums() pref.EnumDescriptors
( T) ExtensionRangeOptions(int) pref.ProtoMessage
( T) ExtensionRanges() pref.FieldRanges
( T) Extensions() pref.ExtensionDescriptors
( T) Fields() pref.FieldDescriptors
( T) FullName() pref.FullName
( T) Index() int
( T) IsMapEntry() bool
( T) IsPlaceholder() bool
( T) Messages() pref.MessageDescriptors
( T) Name() pref.Name
( T) Oneofs() pref.OneofDescriptors
( T) Options() pref.ProtoMessage
( T) Parent() pref.Descriptor
( T) ParentFile() pref.FileDescriptor
( T) ProtoInternal(pragma.DoNotImplement)
( T) ProtoType(pref.MessageDescriptor)
( T) RequiredNumbers() pref.FieldNumbers
( T) ReservedNames() pref.Names
( T) ReservedRanges() pref.FieldRanges
( T) Syntax() pref.Syntax
T : google.golang.org/protobuf/internal/pragma.DoNotImplement
T : google.golang.org/protobuf/reflect/protoreflect.Descriptor
T : google.golang.org/protobuf/reflect/protoreflect.MessageDescriptor
T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
T : google.golang.org/protobuf/reflect/protoreflect.isMessageDescriptor
Base Base
Base.L0 BaseL0
L1 ServiceL1
// protected by fileDesc.once
(*T) Format(s fmt.State, r rune)
(*T) FullName() pref.FullName
(*T) Index() int
(*T) IsPlaceholder() bool
(*T) Methods() pref.MethodDescriptors
(*T) Name() pref.Name
(*T) Options() pref.ProtoMessage
(*T) Parent() pref.Descriptor
(*T) ParentFile() pref.FileDescriptor
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) ProtoType(pref.ServiceDescriptor)
(*T) Syntax() pref.Syntax
(*T) lazyInit() *ServiceL2
(*T) unmarshalFull(b []byte, sb *strs.Builder)
(*T) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd pref.Descriptor, i int)
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*T : google.golang.org/protobuf/reflect/protoreflect.ServiceDescriptor
*T : fmt.Formatter
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.isServiceDescriptor
func (*File).allocServices(n int) []Service
type ServiceL1 (struct)
List []Service
// protected by once
once sync.Once
(*T) ByName(s protoreflect.Name) protoreflect.ServiceDescriptor
(*T) Format(s fmt.State, r rune)
(*T) Get(i int) protoreflect.ServiceDescriptor
(*T) Len() int
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) lazyInit() *Services
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.ServiceDescriptors
*T : fmt.Formatter
*T : google.golang.org/protobuf/internal/descfmt.list
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
func (*Services).lazyInit() *Services
var emptyServices *Services
File is the parent file descriptor that these locations are relative to.
If non-nil, ByDescriptor verifies that the provided descriptor
is a child of this file descriptor.
List is a list of SourceLocations.
The SourceLocation.Next field does not need to be populated
as it will be lazily populated upon first need.
byPath map[pathKey]int
once sync.Once
(*T) ByDescriptor(desc pref.Descriptor) pref.SourceLocation
(*T) ByPath(path pref.SourcePath) pref.SourceLocation
(*T) Get(i int) pref.SourceLocation
(*T) Len() int
(*T) ProtoInternal(pragma.DoNotImplement)
(*T) byKey(k pathKey) pref.SourceLocation
(*T) lazyInit() *SourceLocations
*T : google.golang.org/protobuf/internal/pragma.DoNotImplement
*T : google.golang.org/protobuf/reflect/protoreflect.SourceLocations
*T : google.golang.org/protobuf/internal/descfmt.list
*T : google.golang.org/protobuf/reflect/protoreflect.doNotImplement
func (*SourceLocations).lazyInit() *SourceLocations
var emptySourceLocations *SourceLocations
Package-Level Functions (total 13, in which 1 are exported)
func DefaultValue(v pref.Value, ev pref.EnumValueDescriptor) defaultValue
Package-Level Variables (total 16, in which 2 are exported)
Surrogate files are can be used to create standalone descriptors
where the syntax is only information derived from the parent file.
Surrogate files are can be used to create standalone descriptors
where the syntax is only information derived from the parent file.
Package-Level Constants (total 5, none are exported)
The pages are generated with Golds v0.3.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |