Lines Matching refs:descriptor
63 "github.com/golang/protobuf/protoc-gen-go/descriptor"
123 func fileIsProto3(file *descriptor.FileDescriptorProto) bool {
129 // Descriptor represents a protocol buffer message.
130 type Descriptor struct {
132 *descriptor.DescriptorProto
133 parent *Descriptor // The containing message, if any.
134 nested []*Descriptor // Inner messages, if any.
145 func (d *Descriptor) TypeName() []string {
163 // Otherwise it will be the descriptor of the message in which it is defined.
166 *descriptor.EnumDescriptorProto
167 parent *Descriptor // The containing message, if any.
215 // Otherwise it will be the descriptor of the message in which it is defined.
218 *descriptor.FieldDescriptorProto
219 parent *Descriptor // The containing message, if any.
238 // DescName returns the variable name used for the generated descriptor.
257 // FileDescriptor describes an protocol buffer descriptor file (.proto).
261 *descriptor.FileDescriptorProto
262 desc []*Descriptor // All the messages defined in this file.
268 comments map[string]*descriptor.SourceCodeInfo_Location
282 // to the compressed bytes of this descriptor. It is not exported, so
430 annotations []*descriptor.GeneratedCodeInfo_Annotation // annotations to store
784 func (g *Generator) buildNestedDescriptors(descs []*Descriptor) {
799 func (g *Generator) buildNestedEnums(descs []*Descriptor, enums []*EnumDescriptor) {
814 // Construct the Descriptor
815 func newDescriptor(desc *descriptor.DescriptorProto, parent *Descriptor, file *FileDescriptor, index int) *Descriptor {
816 d := &Descriptor{
837 if field.GetType() == descriptor.FieldDescriptorProto_TYPE_GROUP && field.GetTypeName() == exp {
852 func wrapDescriptors(file *FileDescriptor) []*Descriptor {
853 sl := make([]*Descriptor, 0, len(file.MessageType)+10)
860 // Wrap this Descriptor, recursively
861 func wrapThisDescriptor(sl []*Descriptor, desc *descriptor.DescriptorProto, parent *Descriptor, file *FileDescriptor, index int) []*Descriptor {
871 func newEnumDescriptor(desc *descriptor.EnumDescriptorProto, parent *Descriptor, file *FileDescriptor, index int) *EnumDescriptor {
887 func wrapEnumDescriptors(file *FileDescriptor, descs []*Descriptor) []*EnumDescriptor {
932 file.comments = make(map[string]*descriptor.SourceCodeInfo_Location)
970 // returns the descriptor for the message or enum with that name.
1048 g.annotations = append(g.annotations, &descriptor.GeneratedCodeInfo_Annotation{
1109 Content: proto.String(proto.CompactTextString(&descriptor.GeneratedCodeInfo{Annotation: g.annotations})),
1244 // See descriptor.proto for its format.
1465 func (g *Generator) goTag(message *Descriptor, field *descriptor.FieldDescriptorProto, wiretype string) string {
1480 case descriptor.FieldDescriptorProto_TYPE_BOOL:
1486 case descriptor.FieldDescriptorProto_TYPE_STRING,
1487 descriptor.FieldDescriptorProto_TYPE_BYTES:
1489 case descriptor.FieldDescriptorProto_TYPE_ENUM:
1506 case descriptor.FieldDescriptorProto_TYPE_FLOAT:
1512 case descriptor.FieldDescriptorProto_TYPE_DOUBLE:
1522 if *field.Type == descriptor.FieldDescriptorProto_TYPE_ENUM {
1545 if *field.Type == descriptor.FieldDescriptorProto_TYPE_GROUP {
1579 func needsStar(typ descriptor.FieldDescriptorProto_Type) bool {
1581 case descriptor.FieldDescriptorProto_TYPE_GROUP:
1583 case descriptor.FieldDescriptorProto_TYPE_MESSAGE:
1585 case descriptor.FieldDescriptorProto_TYPE_BYTES:
1601 func (g *Generator) GoType(message *Descriptor, field *descriptor.FieldDescriptorProto) (typ string, wire string) {
1604 case descriptor.FieldDescriptorProto_TYPE_DOUBLE:
1606 case descriptor.FieldDescriptorProto_TYPE_FLOAT:
1608 case descriptor.FieldDescriptorProto_TYPE_INT64:
1610 case descriptor.FieldDescriptorProto_TYPE_UINT64:
1612 case descriptor.FieldDescriptorProto_TYPE_INT32:
1614 case descriptor.FieldDescriptorProto_TYPE_UINT32:
1616 case descriptor.FieldDescriptorProto_TYPE_FIXED64:
1618 case descriptor.FieldDescriptorProto_TYPE_FIXED32:
1620 case descriptor.FieldDescriptorProto_TYPE_BOOL:
1622 case descriptor.FieldDescriptorProto_TYPE_STRING:
1624 case descriptor.FieldDescriptorProto_TYPE_GROUP:
1627 case descriptor.FieldDescriptorProto_TYPE_MESSAGE:
1630 case descriptor.FieldDescriptorProto_TYPE_BYTES:
1632 case descriptor.FieldDescriptorProto_TYPE_ENUM:
1635 case descriptor.FieldDescriptorProto_TYPE_SFIXED32:
1637 case descriptor.FieldDescriptorProto_TYPE_SFIXED64:
1639 case descriptor.FieldDescriptorProto_TYPE_SINT32:
1641 case descriptor.FieldDescriptorProto_TYPE_SINT64:
1682 "Descriptor",
1709 func (g *Generator) getterDefault(field *descriptor.FieldDescriptorProto, goMessageType string) string {
1715 if *field.Type != descriptor.FieldDescriptorProto_TYPE_BYTES {
1721 case descriptor.FieldDescriptorProto_TYPE_BOOL:
1723 case descriptor.FieldDescriptorProto_TYPE_STRING:
1725 case descriptor.FieldDescriptorProto_TYPE_GROUP, descriptor.FieldDescriptorProto_TYPE_MESSAGE, descriptor.FieldDescriptorProto_TYPE_BYTES:
1727 case descriptor.FieldDescriptorProto_TYPE_ENUM:
1771 message *Descriptor // The descriptor for the message
1777 protoName string // Name of field in proto language, e.g. "field_name" or "descriptor"
1784 // getProtoName gets the proto name of a field, e.g. "field_name" or "descriptor".
1798 protoType descriptor.FieldDescriptorProto_Type // Actual type enum value, e.g. descriptor.FieldDescriptorProto_TYPE_FIXED64
1858 // getProtoType returns the *field.Type value, e.g. descriptor.FieldDescriptorProto_TYPE_FIXED64.
1859 func (f *simpleField) getProtoType() descriptor.FieldDescriptorProto_Type {
1867 protoType descriptor.FieldDescriptorProto_Type // Actual type enum value, e.g. descriptor.FieldDescriptorProto_TYPE_FIXED64
1891 // getProtoType returns the *field.Type value, e.g. descriptor.FieldDescriptorProto_TYPE_FIXED64.
1892 func (f *oneofSubField) getProtoType() descriptor.FieldDescriptorProto_Type {
1968 getProtoName() string // proto name of a field, e.g. "field_name" or "descriptor"
1971 getProtoType() descriptor.FieldDescriptorProto_Type // *field.Type value, e.g. descriptor.FieldDescriptorProto_TYPE_FIXED64
2016 if df.getProtoType() == descriptor.FieldDescriptorProto_TYPE_FLOAT {
2020 case df.getProtoType() == descriptor.FieldDescriptorProto_TYPE_FLOAT:
2024 case df.getProtoType() == descriptor.FieldDescriptorProto_TYPE_DOUBLE:
2028 case df.getProtoType() == descriptor.FieldDescriptorProto_TYPE_ENUM:
2137 g.P("func (*", mc.goName, ") Descriptor() ([]byte, []int) {")
2194 // Generate the type, methods and default constant definitions for this Descriptor.
2195 func (g *Generator) generateMessage(message *Descriptor) {
2229 mapFieldTypes := make(map[*descriptor.FieldDescriptorProto]string) // keep track of the map fields to be added later
2279 if *field.Type == descriptor.FieldDescriptorProto_TYPE_MESSAGE {
2281 if d, ok := desc.(*Descriptor); ok && d.GetOptions().GetMapEntry() {
2293 case descriptor.FieldDescriptorProto_TYPE_ENUM:
2296 case descriptor.FieldDescriptorProto_TYPE_MESSAGE:
2445 type byTypeName []*descriptor.FieldDescriptorProto
2452 func mapFieldKeys(m map[*descriptor.FieldDescriptorProto]string) []*descriptor.FieldDescriptorProto {
2453 keys := make([]*descriptor.FieldDescriptorProto, 0, len(m))
2526 var extDesc *Descriptor
2530 extDesc = id.o.(*Descriptor)
2532 extDesc = extObj.(*Descriptor)
2596 pb := proto.Clone(file.FileDescriptorProto).(*descriptor.FileDescriptorProto)
2712 func isOptional(field *descriptor.FieldDescriptorProto) bool {
2713 return field.Label != nil && *field.Label == descriptor.FieldDescriptorProto_LABEL_OPTIONAL
2717 func isRequired(field *descriptor.FieldDescriptorProto) bool {
2718 return field.Label != nil && *field.Label == descriptor.FieldDescriptorProto_LABEL_REQUIRED
2722 func isRepeated(field *descriptor.FieldDescriptorProto) bool {
2723 return field.Label != nil && *field.Label == descriptor.FieldDescriptorProto_LABEL_REPEATED
2727 func isScalar(field *descriptor.FieldDescriptorProto) bool {
2732 case descriptor.FieldDescriptorProto_TYPE_DOUBLE,
2733 descriptor.FieldDescriptorProto_TYPE_FLOAT,
2734 descriptor.FieldDescriptorProto_TYPE_INT64,
2735 descriptor.FieldDescriptorProto_TYPE_UINT64,
2736 descriptor.FieldDescriptorProto_TYPE_INT32,
2737 descriptor.FieldDescriptorProto_TYPE_FIXED64,
2738 descriptor.FieldDescriptorProto_TYPE_FIXED32,
2739 descriptor.FieldDescriptorProto_TYPE_BOOL,
2740 descriptor.FieldDescriptorProto_TYPE_UINT32,
2741 descriptor.FieldDescriptorProto_TYPE_ENUM,
2742 descriptor.FieldDescriptorProto_TYPE_SFIXED32,
2743 descriptor.FieldDescriptorProto_TYPE_SFIXED64,
2744 descriptor.FieldDescriptorProto_TYPE_SINT32,
2745 descriptor.FieldDescriptorProto_TYPE_SINT64:
2782 // See descriptor.proto for more information about this.