MCPcopy
hub / github.com/protocolbuffers/protobuf-go / FileDescriptorProto

Struct FileDescriptorProto

types/descriptorpb/descriptor.pb.go:1452–1492  ·  view source on GitHub ↗

Describes a complete .proto file.

Source from the content-addressed store, hash-verified

1450
1451// Describes a complete .proto file.
1452type FileDescriptorProto struct {
1453 state protoimpl.MessageState `protogen:"open.v1"`
1454 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // file name, relative to root of source tree
1455 Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"` // e.g. "foo", "foo.bar", etc.
1456 // Names of files imported by this file.
1457 Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"`
1458 // Indexes of the public imported files in the dependency list above.
1459 PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"`
1460 // Indexes of the weak imported files in the dependency list.
1461 // For Google-internal migration only. Do not use.
1462 WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"`
1463 // Names of files imported by this file purely for the purpose of providing
1464 // option extensions. These are excluded from the dependency list above.
1465 OptionDependency []string `protobuf:"bytes,15,rep,name=option_dependency,json=optionDependency" json:"option_dependency,omitempty"`
1466 // All top-level definitions in this file.
1467 MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"`
1468 EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
1469 Service []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"`
1470 Extension []*FieldDescriptorProto `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"`
1471 Options *FileOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
1472 // This field contains optional information about the original source code.
1473 // You may safely remove this entire field without harming runtime
1474 // functionality of the descriptors -- the information is needed only by
1475 // development tools.
1476 SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"`
1477 // The syntax of the proto file.
1478 // The supported values are "proto2", "proto3", and "editions".
1479 //
1480 // If `edition` is present, this value must be "editions".
1481 // WARNING: This field should only be used by protobuf plugins or special
1482 // cases like the proto compiler. Other uses are discouraged and
1483 // developers should rely on the protoreflect APIs for their client language.
1484 Syntax *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"`
1485 // The edition of the proto file.
1486 // WARNING: This field should only be used by protobuf plugins or special
1487 // cases like the proto compiler. Other uses are discouraged and
1488 // developers should rely on the protoreflect APIs for their client language.
1489 Edition *Edition `protobuf:"varint,14,opt,name=edition,enum=google.protobuf.Edition" json:"edition,omitempty"`
1490 unknownFields protoimpl.UnknownFields
1491 sizeCache protoimpl.SizeCache
1492}
1493
1494func (x *FileDescriptorProto) Reset() {
1495 *x = FileDescriptorProto{}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected