package filedesc
Import Path
google.golang.org/protobuf/internal/filedesc (on go.dev)
Dependency Relation
imports 21 packages, and imported by 6 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
editions.go
placeholder.go
presence.go
Package-Level Type Names (total 48)
L0 BaseL0
(*Base) FullName() protoreflect.FullName
(*Base) Index() int
(*Base) IsPlaceholder() bool
(*Base) Name() protoreflect.Name
(*Base) Parent() protoreflect.Descriptor
(*Base) ParentFile() protoreflect.FileDescriptor
(*Base) ProtoInternal(pragma.DoNotImplement)
(*Base) Syntax() protoreflect.Syntax
*Base : google.golang.org/protobuf/internal/pragma.DoNotImplement
// must be populated
Index int
Parent protoreflect.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.
Edition is an Enum for proto2.Edition
const Edition2023
const Edition2024
const EditionProto2
const EditionProto3
const EditionUnknown
const EditionUnsupported
EditionFeatures is a frequently-instantiated struct, so please take care
to minimize padding when adding new fields to this struct (add them in
the right place/order).
APILevel controls which API (Open, Hybrid or Opaque) should be used
for generated code (.pb.go files).
GenerateLegacyUnmarshalJSON determines if the plugin generates the
UnmarshalJSON([]byte) error method for enums.
IsDelimitedEncoded is true if message_encoding is DELIMITED
https://protobuf.dev/editions/features/#message_encoding
IsFieldPresence is true if field_presence is EXPLICIT
https://protobuf.dev/editions/features/#field_presence
IsJSONCompliant is true if json_format is ALLOW
https://protobuf.dev/editions/features/#json_format
IsFieldPresence is true if field_presence is LEGACY_REQUIRED
https://protobuf.dev/editions/features/#field_presence
IsOpenEnum is true if enum_type is OPEN
https://protobuf.dev/editions/features/#enum_type
IsPacked is true if repeated_field_encoding is PACKED
https://protobuf.dev/editions/features/#repeated_field_encoding
IsUTF8Validated is true if utf_validation is VERIFY
https://protobuf.dev/editions/features/#utf8_validation
StripEnumPrefix determines if the plugin generates enum value
constants as-is, with their prefix stripped, or both variants.
Base Base
Base.L0 BaseL0
L1 EnumL1
// protected by fileDesc.once
(*Enum) Format(s fmt.State, r rune)
(*Enum) FullName() protoreflect.FullName
(*Enum) Index() int
(*Enum) IsClosed() bool
(*Enum) IsPlaceholder() bool
(*Enum) Name() protoreflect.Name
(*Enum) Options() protoreflect.ProtoMessage
(*Enum) Parent() protoreflect.Descriptor
(*Enum) ParentFile() protoreflect.FileDescriptor
(*Enum) ProtoInternal(pragma.DoNotImplement)
(*Enum) ProtoType(protoreflect.EnumDescriptor)
(*Enum) ReservedNames() protoreflect.Names
(*Enum) ReservedRanges() protoreflect.EnumRanges
(*Enum) Syntax() protoreflect.Syntax
(*Enum) Values() protoreflect.EnumValueDescriptors
*Enum : google.golang.org/protobuf/internal/pragma.DoNotImplement
*Enum : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*Enum : google.golang.org/protobuf/reflect/protoreflect.EnumDescriptor
*Enum : fmt.Formatter
Options func() protoreflect.ProtoMessage
ReservedNames Names
ReservedRanges EnumRanges
Values EnumValues
// start inclusive; end inclusive
CheckValid reports any errors with the set of names with an error message
that completes the sentence: "ranges is invalid because it has ..."
(*EnumRanges) Format(s fmt.State, r rune)
(*EnumRanges) Get(i int) [2]protoreflect.EnumNumber
(*EnumRanges) Has(n protoreflect.EnumNumber) bool
(*EnumRanges) Len() int
(*EnumRanges) ProtoInternal(pragma.DoNotImplement)
*EnumRanges : google.golang.org/protobuf/internal/pragma.DoNotImplement
*EnumRanges : google.golang.org/protobuf/reflect/protoreflect.EnumRanges
*EnumRanges : fmt.Formatter
List []Enum
(*Enums) ByName(s protoreflect.Name) protoreflect.EnumDescriptor
(*Enums) Format(s fmt.State, r rune)
(*Enums) Get(i int) protoreflect.EnumDescriptor
(*Enums) Len() int
(*Enums) ProtoInternal(pragma.DoNotImplement)
*Enums : google.golang.org/protobuf/internal/pragma.DoNotImplement
*Enums : google.golang.org/protobuf/reflect/protoreflect.EnumDescriptors
*Enums : fmt.Formatter
Base Base
Base.L0 BaseL0
L1 EnumValueL1
(*EnumValue) Format(s fmt.State, r rune)
(*EnumValue) FullName() protoreflect.FullName
(*EnumValue) Index() int
(*EnumValue) IsPlaceholder() bool
(*EnumValue) Name() protoreflect.Name
(*EnumValue) Number() protoreflect.EnumNumber
(*EnumValue) Options() protoreflect.ProtoMessage
(*EnumValue) Parent() protoreflect.Descriptor
(*EnumValue) ParentFile() protoreflect.FileDescriptor
(*EnumValue) ProtoInternal(pragma.DoNotImplement)
(*EnumValue) ProtoType(protoreflect.EnumValueDescriptor)
(*EnumValue) Syntax() protoreflect.Syntax
*EnumValue : google.golang.org/protobuf/internal/pragma.DoNotImplement
*EnumValue : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*EnumValue : google.golang.org/protobuf/reflect/protoreflect.EnumValueDescriptor
*EnumValue : fmt.Formatter
List []EnumValue
(*EnumValues) ByName(s protoreflect.Name) protoreflect.EnumValueDescriptor
(*EnumValues) ByNumber(n protoreflect.EnumNumber) protoreflect.EnumValueDescriptor
(*EnumValues) Format(s fmt.State, r rune)
(*EnumValues) Get(i int) protoreflect.EnumValueDescriptor
(*EnumValues) Len() int
(*EnumValues) ProtoInternal(pragma.DoNotImplement)
*EnumValues : google.golang.org/protobuf/internal/pragma.DoNotImplement
*EnumValues : google.golang.org/protobuf/reflect/protoreflect.EnumValueDescriptors
*EnumValues : fmt.Formatter
Base Base
Base.L0 BaseL0
L1 ExtensionL1
// protected by fileDesc.once
(*Extension) Cardinality() protoreflect.Cardinality
(*Extension) ContainingMessage() protoreflect.MessageDescriptor
(*Extension) ContainingOneof() protoreflect.OneofDescriptor
(*Extension) Default() protoreflect.Value
(*Extension) DefaultEnumValue() protoreflect.EnumValueDescriptor
(*Extension) Enum() protoreflect.EnumDescriptor
(*Extension) Format(s fmt.State, r rune)
(*Extension) FullName() protoreflect.FullName
(*Extension) HasDefault() bool
(*Extension) HasJSONName() bool
(*Extension) HasOptionalKeyword() bool
(*Extension) HasPresence() bool
(*Extension) Index() int
(*Extension) IsExtension() bool
(*Extension) IsLazy() bool
(*Extension) IsList() bool
(*Extension) IsMap() bool
(*Extension) IsPacked() bool
(*Extension) IsPlaceholder() bool
(*Extension) IsWeak() bool
(*Extension) JSONName() string
(*Extension) Kind() protoreflect.Kind
(*Extension) MapKey() protoreflect.FieldDescriptor
(*Extension) MapValue() protoreflect.FieldDescriptor
(*Extension) Message() protoreflect.MessageDescriptor
(*Extension) Name() protoreflect.Name
(*Extension) Number() protoreflect.FieldNumber
(*Extension) Options() protoreflect.ProtoMessage
(*Extension) Parent() protoreflect.Descriptor
(*Extension) ParentFile() protoreflect.FileDescriptor
(*Extension) ProtoInternal(pragma.DoNotImplement)
(*Extension) ProtoType(protoreflect.FieldDescriptor)
(*Extension) Syntax() protoreflect.Syntax
(*Extension) TextName() string
*Extension : google.golang.org/protobuf/internal/pragma.DoNotImplement
*Extension : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*Extension : google.golang.org/protobuf/reflect/protoreflect.FieldDescriptor
*Extension : fmt.Formatter
Cardinality protoreflect.Cardinality
EditionFeatures EditionFeatures
Extendee protoreflect.MessageDescriptor
IsLazy bool
Kind protoreflect.Kind
Number protoreflect.FieldNumber
Default defaultValue
Enum protoreflect.EnumDescriptor
// promoted from google.protobuf.FieldDescriptorProto
Message protoreflect.MessageDescriptor
Options func() protoreflect.ProtoMessage
StringName stringName
List []Extension
(*Extensions) ByName(s protoreflect.Name) protoreflect.ExtensionDescriptor
(*Extensions) Format(s fmt.State, r rune)
(*Extensions) Get(i int) protoreflect.ExtensionDescriptor
(*Extensions) Len() int
(*Extensions) ProtoInternal(pragma.DoNotImplement)
*Extensions : google.golang.org/protobuf/internal/pragma.DoNotImplement
*Extensions : google.golang.org/protobuf/reflect/protoreflect.ExtensionDescriptors
*Extensions : fmt.Formatter
Base Base
Base.L0 BaseL0
L1 FieldL1
(*Field) Cardinality() protoreflect.Cardinality
(*Field) ContainingMessage() protoreflect.MessageDescriptor
(*Field) ContainingOneof() protoreflect.OneofDescriptor
(*Field) Default() protoreflect.Value
(*Field) DefaultEnumValue() protoreflect.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.
(*Field) Enum() protoreflect.EnumDescriptor
(*Field) Format(s fmt.State, r rune)
(*Field) FullName() protoreflect.FullName
(*Field) HasDefault() bool
(*Field) HasJSONName() bool
(*Field) HasOptionalKeyword() bool
(*Field) HasPresence() bool
(*Field) Index() int
(*Field) IsExtension() bool
(*Field) IsLazy() bool
(*Field) IsList() bool
(*Field) IsMap() bool
(*Field) IsMapEntry() bool
(*Field) IsPacked() bool
(*Field) IsPlaceholder() bool
(*Field) IsWeak() bool
(*Field) JSONName() string
(*Field) Kind() protoreflect.Kind
(*Field) MapKey() protoreflect.FieldDescriptor
(*Field) MapValue() protoreflect.FieldDescriptor
(*Field) Message() protoreflect.MessageDescriptor
(*Field) Name() protoreflect.Name
(*Field) Number() protoreflect.FieldNumber
(*Field) Options() protoreflect.ProtoMessage
(*Field) Parent() protoreflect.Descriptor
(*Field) ParentFile() protoreflect.FileDescriptor
(*Field) ProtoInternal(pragma.DoNotImplement)
(*Field) ProtoType(protoreflect.FieldDescriptor)
(*Field) Syntax() protoreflect.Syntax
(*Field) TextName() string
*Field : google.golang.org/protobuf/internal/pragma.DoNotImplement
*Field : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*Field : google.golang.org/protobuf/reflect/protoreflect.FieldDescriptor
*Field : fmt.Formatter
// must be consistent with Message.RequiredNumbers
// must be consistent with Message.Oneofs.Fields
Default defaultValue
EditionFeatures EditionFeatures
Enum protoreflect.EnumDescriptor
// promoted from google.protobuf.FieldOptions
// promoted from google.protobuf.FieldDescriptorProto
Kind protoreflect.Kind
Message protoreflect.MessageDescriptor
Number protoreflect.FieldNumber
Options func() protoreflect.ProtoMessage
StringName stringName
List []protoreflect.FieldNumber
(*FieldNumbers) Format(s fmt.State, r rune)
(*FieldNumbers) Get(i int) protoreflect.FieldNumber
(*FieldNumbers) Has(n protoreflect.FieldNumber) bool
(*FieldNumbers) Len() int
(*FieldNumbers) ProtoInternal(pragma.DoNotImplement)
*FieldNumbers : google.golang.org/protobuf/internal/pragma.DoNotImplement
*FieldNumbers : google.golang.org/protobuf/reflect/protoreflect.FieldNumbers
*FieldNumbers : fmt.Formatter
// start inclusive; end exclusive
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 ..."
(*FieldRanges) Format(s fmt.State, r rune)
(*FieldRanges) Get(i int) [2]protoreflect.FieldNumber
(*FieldRanges) Has(n protoreflect.FieldNumber) bool
(*FieldRanges) Len() int
(*FieldRanges) ProtoInternal(pragma.DoNotImplement)
*FieldRanges : google.golang.org/protobuf/internal/pragma.DoNotImplement
*FieldRanges : google.golang.org/protobuf/reflect/protoreflect.FieldRanges
*FieldRanges : fmt.Formatter
func (*FieldRanges).CheckOverlap(q *FieldRanges) error
List []Field
(*Fields) ByJSONName(s string) protoreflect.FieldDescriptor
(*Fields) ByName(s protoreflect.Name) protoreflect.FieldDescriptor
(*Fields) ByNumber(n protoreflect.FieldNumber) protoreflect.FieldDescriptor
(*Fields) ByTextName(s string) protoreflect.FieldDescriptor
(*Fields) Format(s fmt.State, r rune)
(*Fields) Get(i int) protoreflect.FieldDescriptor
(*Fields) Len() int
(*Fields) ProtoInternal(pragma.DoNotImplement)
*Fields : google.golang.org/protobuf/internal/pragma.DoNotImplement
*Fields : google.golang.org/protobuf/reflect/protoreflect.ExtensionDescriptors
*Fields : google.golang.org/protobuf/reflect/protoreflect.FieldDescriptors
*Fields : fmt.Formatter
L1 FileL1
L2 *FileL2
Not exported and just used to reconstruct the original FileDescriptor proto
(*File) Enums() protoreflect.EnumDescriptors
(*File) Extensions() protoreflect.ExtensionDescriptors
(*File) Format(s fmt.State, r rune)
(*File) FullName() protoreflect.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.
(*File) Imports() protoreflect.FileImports
(*File) Index() int
(*File) IsPlaceholder() bool
(*File) Messages() protoreflect.MessageDescriptors
(*File) Name() protoreflect.Name
(*File) Options() protoreflect.ProtoMessage
(*File) Package() protoreflect.FullName
(*File) Parent() protoreflect.Descriptor
(*File) ParentFile() protoreflect.FileDescriptor
(*File) Path() string
(*File) ProtoInternal(pragma.DoNotImplement)
(*File) ProtoType(protoreflect.FileDescriptor)
(*File) Services() protoreflect.ServiceDescriptors
(*File) SourceLocations() protoreflect.SourceLocations
(*File) Syntax() protoreflect.Syntax
*File : google.golang.org/protobuf/internal/pragma.DoNotImplement
*File : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*File : google.golang.org/protobuf/reflect/protoreflect.FileDescriptor
*File : fmt.Formatter
var SurrogateEdition2023 *File
var SurrogateProto2 *File
var SurrogateProto3 *File
(*FileImports) Format(s fmt.State, r rune)
(*FileImports) Get(i int) protoreflect.FileImport
(*FileImports) Len() int
(*FileImports) ProtoInternal(pragma.DoNotImplement)
*FileImports : google.golang.org/protobuf/internal/pragma.DoNotImplement
*FileImports : google.golang.org/protobuf/reflect/protoreflect.FileImports
*FileImports : fmt.Formatter
// Only used if Syntax == Editions
EditionFeatures EditionFeatures
Enums Enums
Extensions Extensions
Messages Messages
Package protoreflect.FullName
Path string
Services Services
Syntax protoreflect.Syntax
Base Base
Base.L0 BaseL0
L1 MessageL1
// protected by fileDesc.once
(*Message) Enums() protoreflect.EnumDescriptors
(*Message) ExtensionRangeOptions(i int) protoreflect.ProtoMessage
(*Message) ExtensionRanges() protoreflect.FieldRanges
(*Message) Extensions() protoreflect.ExtensionDescriptors
(*Message) Fields() protoreflect.FieldDescriptors
(*Message) Format(s fmt.State, r rune)
(*Message) FullName() protoreflect.FullName
(*Message) Index() int
(*Message) 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.
(*Message) IsPlaceholder() bool
(*Message) Messages() protoreflect.MessageDescriptors
(*Message) Name() protoreflect.Name
(*Message) Oneofs() protoreflect.OneofDescriptors
(*Message) Options() protoreflect.ProtoMessage
(*Message) Parent() protoreflect.Descriptor
(*Message) ParentFile() protoreflect.FileDescriptor
(*Message) ProtoInternal(pragma.DoNotImplement)
(*Message) ProtoType(protoreflect.MessageDescriptor)
(*Message) RequiredNumbers() protoreflect.FieldNumbers
(*Message) ReservedNames() protoreflect.Names
(*Message) ReservedRanges() protoreflect.FieldRanges
(*Message) Syntax() protoreflect.Syntax
*Message : google.golang.org/protobuf/internal/pragma.DoNotImplement
*Message : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*Message : google.golang.org/protobuf/reflect/protoreflect.MessageDescriptor
*Message : fmt.Formatter
EditionFeatures EditionFeatures
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() protoreflect.ProtoMessage
// must be consistent with Fields.Cardinality
ReservedNames Names
ReservedRanges FieldRanges
List []Message
(*Messages) ByName(s protoreflect.Name) protoreflect.MessageDescriptor
(*Messages) Format(s fmt.State, r rune)
(*Messages) Get(i int) protoreflect.MessageDescriptor
(*Messages) Len() int
(*Messages) ProtoInternal(pragma.DoNotImplement)
*Messages : google.golang.org/protobuf/internal/pragma.DoNotImplement
*Messages : google.golang.org/protobuf/reflect/protoreflect.MessageDescriptors
*Messages : fmt.Formatter
Base Base
Base.L0 BaseL0
L1 MethodL1
(*Method) Format(s fmt.State, r rune)
(*Method) FullName() protoreflect.FullName
(*Method) Index() int
(*Method) Input() protoreflect.MessageDescriptor
(*Method) IsPlaceholder() bool
(*Method) IsStreamingClient() bool
(*Method) IsStreamingServer() bool
(*Method) Name() protoreflect.Name
(*Method) Options() protoreflect.ProtoMessage
(*Method) Output() protoreflect.MessageDescriptor
(*Method) Parent() protoreflect.Descriptor
(*Method) ParentFile() protoreflect.FileDescriptor
(*Method) ProtoInternal(pragma.DoNotImplement)
(*Method) ProtoType(protoreflect.MethodDescriptor)
(*Method) Syntax() protoreflect.Syntax
*Method : google.golang.org/protobuf/internal/pragma.DoNotImplement
*Method : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*Method : google.golang.org/protobuf/reflect/protoreflect.MethodDescriptor
*Method : fmt.Formatter
Input protoreflect.MessageDescriptor
IsStreamingClient bool
IsStreamingServer bool
Options func() protoreflect.ProtoMessage
Output protoreflect.MessageDescriptor
List []Method
(*Methods) ByName(s protoreflect.Name) protoreflect.MethodDescriptor
(*Methods) Format(s fmt.State, r rune)
(*Methods) Get(i int) protoreflect.MethodDescriptor
(*Methods) Len() int
(*Methods) ProtoInternal(pragma.DoNotImplement)
*Methods : google.golang.org/protobuf/internal/pragma.DoNotImplement
*Methods : google.golang.org/protobuf/reflect/protoreflect.MethodDescriptors
*Methods : fmt.Formatter
List []protoreflect.Name
CheckValid reports any errors with the set of names with an error message
that completes the sentence: "ranges is invalid because it has ..."
(*Names) Format(s fmt.State, r rune)
(*Names) Get(i int) protoreflect.Name
(*Names) Has(s protoreflect.Name) bool
(*Names) Len() int
(*Names) ProtoInternal(pragma.DoNotImplement)
*Names : google.golang.org/protobuf/internal/pragma.DoNotImplement
*Names : google.golang.org/protobuf/reflect/protoreflect.Names
*Names : fmt.Formatter
Base Base
Base.L0 BaseL0
L1 OneofL1
(*Oneof) Fields() protoreflect.FieldDescriptors
(*Oneof) Format(s fmt.State, r rune)
(*Oneof) FullName() protoreflect.FullName
(*Oneof) Index() int
(*Oneof) IsPlaceholder() bool
(*Oneof) IsSynthetic() bool
(*Oneof) Name() protoreflect.Name
(*Oneof) Options() protoreflect.ProtoMessage
(*Oneof) Parent() protoreflect.Descriptor
(*Oneof) ParentFile() protoreflect.FileDescriptor
(*Oneof) ProtoInternal(pragma.DoNotImplement)
(*Oneof) ProtoType(protoreflect.OneofDescriptor)
(*Oneof) Syntax() protoreflect.Syntax
*Oneof : google.golang.org/protobuf/internal/pragma.DoNotImplement
*Oneof : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*Oneof : google.golang.org/protobuf/reflect/protoreflect.OneofDescriptor
*Oneof : fmt.Formatter
List []protoreflect.FieldDescriptor
(*OneofFields) ByJSONName(s string) protoreflect.FieldDescriptor
(*OneofFields) ByName(s protoreflect.Name) protoreflect.FieldDescriptor
(*OneofFields) ByNumber(n protoreflect.FieldNumber) protoreflect.FieldDescriptor
(*OneofFields) ByTextName(s string) protoreflect.FieldDescriptor
(*OneofFields) Format(s fmt.State, r rune)
(*OneofFields) Get(i int) protoreflect.FieldDescriptor
(*OneofFields) Len() int
(*OneofFields) ProtoInternal(pragma.DoNotImplement)
*OneofFields : google.golang.org/protobuf/internal/pragma.DoNotImplement
*OneofFields : google.golang.org/protobuf/reflect/protoreflect.ExtensionDescriptors
*OneofFields : google.golang.org/protobuf/reflect/protoreflect.FieldDescriptors
*OneofFields : fmt.Formatter
EditionFeatures EditionFeatures
// must be consistent with Message.Fields.ContainingOneof
Options func() protoreflect.ProtoMessage
List []Oneof
(*Oneofs) ByName(s protoreflect.Name) protoreflect.OneofDescriptor
(*Oneofs) Format(s fmt.State, r rune)
(*Oneofs) Get(i int) protoreflect.OneofDescriptor
(*Oneofs) Len() int
(*Oneofs) ProtoInternal(pragma.DoNotImplement)
*Oneofs : google.golang.org/protobuf/internal/pragma.DoNotImplement
*Oneofs : google.golang.org/protobuf/reflect/protoreflect.OneofDescriptors
*Oneofs : fmt.Formatter
Out is the output of the Builder.
Enums is all enum descriptors in "flattened ordering".
Extensions is all extension descriptors in "flattened ordering".
File protoreflect.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.
( PlaceholderEnum) FullName() protoreflect.FullName
( PlaceholderEnum) Index() int
( PlaceholderEnum) IsClosed() bool
( PlaceholderEnum) IsPlaceholder() bool
( PlaceholderEnum) Name() protoreflect.Name
( PlaceholderEnum) Options() protoreflect.ProtoMessage
( PlaceholderEnum) Parent() protoreflect.Descriptor
( PlaceholderEnum) ParentFile() protoreflect.FileDescriptor
( PlaceholderEnum) ProtoInternal(pragma.DoNotImplement)
( PlaceholderEnum) ProtoType(protoreflect.EnumDescriptor)
( PlaceholderEnum) ReservedNames() protoreflect.Names
( PlaceholderEnum) ReservedRanges() protoreflect.EnumRanges
( PlaceholderEnum) Syntax() protoreflect.Syntax
( PlaceholderEnum) Values() protoreflect.EnumValueDescriptors
PlaceholderEnum : google.golang.org/protobuf/internal/pragma.DoNotImplement
PlaceholderEnum : google.golang.org/protobuf/reflect/protoreflect.Descriptor
PlaceholderEnum : google.golang.org/protobuf/reflect/protoreflect.EnumDescriptor
PlaceholderEnumValue is a placeholder, representing only the full name.
( PlaceholderEnumValue) FullName() protoreflect.FullName
( PlaceholderEnumValue) Index() int
( PlaceholderEnumValue) IsPlaceholder() bool
( PlaceholderEnumValue) Name() protoreflect.Name
( PlaceholderEnumValue) Number() protoreflect.EnumNumber
( PlaceholderEnumValue) Options() protoreflect.ProtoMessage
( PlaceholderEnumValue) Parent() protoreflect.Descriptor
( PlaceholderEnumValue) ParentFile() protoreflect.FileDescriptor
( PlaceholderEnumValue) ProtoInternal(pragma.DoNotImplement)
( PlaceholderEnumValue) ProtoType(protoreflect.EnumValueDescriptor)
( PlaceholderEnumValue) Syntax() protoreflect.Syntax
PlaceholderEnumValue : google.golang.org/protobuf/internal/pragma.DoNotImplement
PlaceholderEnumValue : google.golang.org/protobuf/reflect/protoreflect.Descriptor
PlaceholderEnumValue : google.golang.org/protobuf/reflect/protoreflect.EnumValueDescriptor
PlaceholderFile is a placeholder, representing only the file path.
( PlaceholderFile) Enums() protoreflect.EnumDescriptors
( PlaceholderFile) Extensions() protoreflect.ExtensionDescriptors
( PlaceholderFile) FullName() protoreflect.FullName
( PlaceholderFile) Imports() protoreflect.FileImports
( PlaceholderFile) Index() int
( PlaceholderFile) IsPlaceholder() bool
( PlaceholderFile) Messages() protoreflect.MessageDescriptors
( PlaceholderFile) Name() protoreflect.Name
( PlaceholderFile) Options() protoreflect.ProtoMessage
( PlaceholderFile) Package() protoreflect.FullName
( PlaceholderFile) Parent() protoreflect.Descriptor
( PlaceholderFile) ParentFile() protoreflect.FileDescriptor
( PlaceholderFile) Path() string
( PlaceholderFile) ProtoInternal(pragma.DoNotImplement)
( PlaceholderFile) ProtoType(protoreflect.FileDescriptor)
( PlaceholderFile) Services() protoreflect.ServiceDescriptors
( PlaceholderFile) SourceLocations() protoreflect.SourceLocations
( PlaceholderFile) Syntax() protoreflect.Syntax
PlaceholderFile : google.golang.org/protobuf/internal/pragma.DoNotImplement
PlaceholderFile : google.golang.org/protobuf/reflect/protoreflect.Descriptor
PlaceholderFile : google.golang.org/protobuf/reflect/protoreflect.FileDescriptor
PlaceholderMessage is a placeholder, representing only the full name.
( PlaceholderMessage) Enums() protoreflect.EnumDescriptors
( PlaceholderMessage) ExtensionRangeOptions(int) protoreflect.ProtoMessage
( PlaceholderMessage) ExtensionRanges() protoreflect.FieldRanges
( PlaceholderMessage) Extensions() protoreflect.ExtensionDescriptors
( PlaceholderMessage) Fields() protoreflect.FieldDescriptors
( PlaceholderMessage) FullName() protoreflect.FullName
( PlaceholderMessage) Index() int
( PlaceholderMessage) IsMapEntry() bool
( PlaceholderMessage) IsPlaceholder() bool
( PlaceholderMessage) Messages() protoreflect.MessageDescriptors
( PlaceholderMessage) Name() protoreflect.Name
( PlaceholderMessage) Oneofs() protoreflect.OneofDescriptors
( PlaceholderMessage) Options() protoreflect.ProtoMessage
( PlaceholderMessage) Parent() protoreflect.Descriptor
( PlaceholderMessage) ParentFile() protoreflect.FileDescriptor
( PlaceholderMessage) ProtoInternal(pragma.DoNotImplement)
( PlaceholderMessage) ProtoType(protoreflect.MessageDescriptor)
( PlaceholderMessage) RequiredNumbers() protoreflect.FieldNumbers
( PlaceholderMessage) ReservedNames() protoreflect.Names
( PlaceholderMessage) ReservedRanges() protoreflect.FieldRanges
( PlaceholderMessage) Syntax() protoreflect.Syntax
PlaceholderMessage : google.golang.org/protobuf/internal/pragma.DoNotImplement
PlaceholderMessage : google.golang.org/protobuf/reflect/protoreflect.Descriptor
PlaceholderMessage : google.golang.org/protobuf/reflect/protoreflect.MessageDescriptor
Base Base
Base.L0 BaseL0
L1 ServiceL1
// protected by fileDesc.once
(*Service) Format(s fmt.State, r rune)
(*Service) FullName() protoreflect.FullName
(*Service) Index() int
(*Service) IsPlaceholder() bool
(*Service) Methods() protoreflect.MethodDescriptors
(*Service) Name() protoreflect.Name
(*Service) Options() protoreflect.ProtoMessage
(*Service) Parent() protoreflect.Descriptor
(*Service) ParentFile() protoreflect.FileDescriptor
(*Service) ProtoInternal(pragma.DoNotImplement)
(*Service) ProtoType(protoreflect.ServiceDescriptor)
(*Service) Syntax() protoreflect.Syntax
*Service : google.golang.org/protobuf/internal/pragma.DoNotImplement
*Service : google.golang.org/protobuf/reflect/protoreflect.Descriptor
*Service : google.golang.org/protobuf/reflect/protoreflect.ServiceDescriptor
*Service : fmt.Formatter
type ServiceL1 (struct)
List []Service
(*Services) ByName(s protoreflect.Name) protoreflect.ServiceDescriptor
(*Services) Format(s fmt.State, r rune)
(*Services) Get(i int) protoreflect.ServiceDescriptor
(*Services) Len() int
(*Services) ProtoInternal(pragma.DoNotImplement)
*Services : google.golang.org/protobuf/internal/pragma.DoNotImplement
*Services : google.golang.org/protobuf/reflect/protoreflect.ServiceDescriptors
*Services : fmt.Formatter
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.
(*SourceLocations) ByDescriptor(desc protoreflect.Descriptor) protoreflect.SourceLocation
(*SourceLocations) ByPath(path protoreflect.SourcePath) protoreflect.SourceLocation
(*SourceLocations) Get(i int) protoreflect.SourceLocation
(*SourceLocations) Len() int
(*SourceLocations) ProtoInternal(pragma.DoNotImplement)
*SourceLocations : google.golang.org/protobuf/internal/pragma.DoNotImplement
*SourceLocations : google.golang.org/protobuf/reflect/protoreflect.SourceLocations
Package-Level Functions (total 2)
UsePresenceForField reports whether the presence bitmap should be used for
the specified field.
Package-Level Variables (total 3)
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.
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 6)
These values align with the value of Enum in descriptor.proto which allows
direct conversion between the proto enum and this enum.
These values align with the value of Enum in descriptor.proto which allows
direct conversion between the proto enum and this enum.
These values align with the value of Enum in descriptor.proto which allows
direct conversion between the proto enum and this enum.
These values align with the value of Enum in descriptor.proto which allows
direct conversion between the proto enum and this enum.
These values align with the value of Enum in descriptor.proto which allows
direct conversion between the proto enum and this enum.
These values align with the value of Enum in descriptor.proto which allows
direct conversion between the proto enum and this enum.
![]() |
The pages are generated with Golds v0.8.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 @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |