Namespace Google.Protobuf.Reflection (3.27.1)

Classes

CustomOptions

Container for a set of custom options specified within a message, field etc.

DescriptorBase

Base class for nearly all descriptors, providing common functionality.

DescriptorDeclaration

Provides additional information about the declaration of a descriptor, such as source location and comments.

DescriptorProto

Describes a message type.

DescriptorProto.Types

Container for nested types declared in the DescriptorProto message type.

DescriptorProto.Types.ExtensionRange

DescriptorProto.Types.ReservedRange

Range of reserved tag numbers. Reserved tag numbers may not be used by fields or extension ranges in the same message. Reserved ranges may not overlap.

DescriptorReflection

Holder for reflection information generated from google/protobuf/descriptor.proto

DescriptorValidationException

Thrown when building descriptors fails because the source DescriptorProtos are not valid.

EnumDescriptor

Descriptor for an enum type in a .proto file.

EnumDescriptorProto

Describes an enum type.

EnumDescriptorProto.Types

Container for nested types declared in the EnumDescriptorProto message type.

EnumDescriptorProto.Types.EnumReservedRange

Range of reserved numeric values. Reserved values may not be used by entries in the same enum. Reserved ranges may not overlap.

Note that this is distinct from DescriptorProto.ReservedRange in that it is inclusive such that it can appropriately represent the entire int32 domain.

EnumOptions

EnumValueDescriptor

Descriptor for a single enum value within an enum in a .proto file.

EnumValueDescriptorProto

Describes a value within an enum.

EnumValueOptions

ExtensionCollection

A collection to simplify retrieving the descriptors of extensions in a descriptor for a message

ExtensionRangeOptions

ExtensionRangeOptions.Types

Container for nested types declared in the ExtensionRangeOptions message type.

ExtensionRangeOptions.Types.Declaration

FeatureSet

TODO Enums in C++ gencode (and potentially other languages) are not well scoped. This means that each of the feature enums below can clash with each other. The short names we've chosen maximize call-site readability, but leave us very open to this scenario. A future feature will be designed and implemented to handle this, hopefully before we ever hit a conflict here.

FeatureSet.Types

Container for nested types declared in the FeatureSet message type.

FeatureSetDefaults

A compiled specification for the defaults of a set of features. These messages are generated from FeatureSet extensions and can be used to seed feature resolution. The resolution with this object becomes a simple search for the closest matching edition, followed by proto merges.

FeatureSetDefaults.Types

Container for nested types declared in the FeatureSetDefaults message type.

FeatureSetDefaults.Types.FeatureSetEditionDefault

A map from every known edition with a unique set of defaults to its defaults. Not all editions may be contained here. For a given edition, the defaults at the closest matching edition ordered at or before it should be used. This field must be in strict ascending order by edition.

FieldDescriptor

Descriptor for a field or extension within a message in a .proto file.

FieldDescriptorProto

Describes a field within a message.

FieldDescriptorProto.Types

Container for nested types declared in the FieldDescriptorProto message type.

FieldOptions

FieldOptions.Types

Container for nested types declared in the FieldOptions message type.

FieldOptions.Types.EditionDefault

FieldOptions.Types.FeatureSupport

Information about the support window of a feature.

FileDescriptor

Describes a .proto file, including everything defined within. IDescriptor is implemented such that the File property returns this descriptor, and the FullName is the same as the Name.

FileDescriptorProto

Describes a complete .proto file.

FileDescriptorSet

The protocol compiler can output a FileDescriptorSet containing the .proto files it parses.

FileOptions

FileOptions.Types

Container for nested types declared in the FileOptions message type.

GeneratedClrTypeInfo

Extra information provided by generated code when initializing a message or file descriptor. These are constructed as required, and are not long-lived. Hand-written code should never need to use this type.

GeneratedCodeInfo

Describes the relationship between generated code and its original source file. A GeneratedCodeInfo message is associated with only one generated source file, but may contain references to different source .proto files.

GeneratedCodeInfo.Types

Container for nested types declared in the GeneratedCodeInfo message type.

GeneratedCodeInfo.Types.Annotation

GeneratedCodeInfo.Types.Annotation.Types

Container for nested types declared in the Annotation message type.

MessageDescriptor

Describes a message type.

MessageDescriptor.FieldCollection

A collection to simplify retrieving the field accessor for a particular field.

MessageOptions

MethodDescriptor

Describes a single method in a service.

MethodDescriptorProto

Describes a method of a service.

MethodOptions

MethodOptions.Types

Container for nested types declared in the MethodOptions message type.

OneofAccessor

Reflection access for a oneof, allowing clear and "get case" actions.

OneofDescriptor

Describes a "oneof" field collection in a message type: a set of fields of which at most one can be set in any particular message.

OneofDescriptorProto

Describes a oneof.

OneofOptions

OriginalNameAttribute

Specifies the original name (in the .proto file) of a named element, such as an enum value.

ServiceDescriptor

Describes a service type.

ServiceDescriptorProto

Describes a service.

ServiceOptions

SourceCodeInfo

Encapsulates information about the original source file from which a FileDescriptorProto was generated.

SourceCodeInfo.Types

Container for nested types declared in the SourceCodeInfo message type.

SourceCodeInfo.Types.Location

TypeRegistry

An immutable registry of types which can be looked up by their full name.

UninterpretedOption

A message representing a option the parser does not recognize. This only appears in options protos created by the compiler::Parser class. DescriptorPool resolves these when building Descriptor objects. Therefore, options protos in descriptor objects (e.g. returned by Descriptor::options(), or produced by Descriptor::CopyTo()) will never have UninterpretedOptions in them.

UninterpretedOption.Types

Container for nested types declared in the UninterpretedOption message type.

UninterpretedOption.Types.NamePart

The name of the uninterpreted option. Each string represents a segment in a dot-separated name. is_extension is true iff a segment represents an extension (denoted with parentheses in options specs in .proto files). E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents "foo.(bar.baz).moo".

Interfaces

IDescriptor

Interface implemented by all descriptor types.

IFieldAccessor

Allows fields to be reflectively accessed.

Enums

Edition

The full set of known editions.

ExtensionRangeOptions.Types.VerificationState

The verification state of the extension range.

FeatureSet.Types.EnumType

FeatureSet.Types.FieldPresence

FeatureSet.Types.JsonFormat

FeatureSet.Types.MessageEncoding

FeatureSet.Types.RepeatedFieldEncoding

FeatureSet.Types.Utf8Validation

FieldDescriptorProto.Types.Label

FieldDescriptorProto.Types.Type

FieldOptions.Types.CType

FieldOptions.Types.JSType

FieldOptions.Types.OptionRetention

If set to RETENTION_SOURCE, the option will be omitted from the binary. Note: as of January 2023, support for this is in progress and does not yet have an effect (b/264593489).

FieldOptions.Types.OptionTargetType

This indicates the types of entities that the field may apply to when used as an option. If it is unset, then the field may be freely used as an option on any kind of entity. Note: as of January 2023, support for this is in progress and does not yet have an effect (b/264593489).

FieldType

Enumeration of all the possible field types.

FileOptions.Types.OptimizeMode

Generated classes can be optimized for speed or code size.

GeneratedCodeInfo.Types.Annotation.Types.Semantic

Represents the identified object's effect on the element in the original .proto file.

MethodOptions.Types.IdempotencyLevel

Is this method side-effect-free (or safe in HTTP parlance), or idempotent, or neither? HTTP based RPC implementation may choose GET verb for safe methods, and PUT verb for idempotent methods instead of the default POST.

Syntax

The syntax of a .proto file