code: func (c *schemaConverter) description(file *descriptor.FileDescriptorProto, ptr interface{}) string {
  	description := c.sourceCodeInfo[file][ptr].GetLeadingComments()
  
  	// Trim leading whitespace.
  	lines := strings.Split(description, "\n")
  	trimSize := -1
  	for _, l := range lines {
  		if len(strings.TrimSpace(l)) == 0 {
  			// skip empty lines
  			continue
  		}
  		space := 0
  		for _, r := range l {
  			if unicode.IsSpace(r) {
  				space++
  			} else {
  				break
  			}
  		}
  		if trimSize == -1 || space < trimSize {
  			trimSize = space
  		}
  	}
  	if trimSize > 0 {
  		for i := range lines {
  			if len(lines[i]) >= trimSize {
  				lines[i] = lines[i][trimSize:]
  			}
  		}
  		description = strings.Join(lines, "\n")
  	}
  	description = strings.TrimSpace(description)
  
  	// Append valid enum values.
  	if field, ok := ptr.(*descriptor.FieldDescriptorProto); ok && field.GetType() == descriptor.FieldDescriptorProto_TYPE_ENUM {
  		_, obj, _ := descutil.Resolve(c.desc, strings.TrimPrefix(field.GetTypeName(), "."))
  		if enum, ok := obj.(*descriptor.EnumDescriptorProto); ok {
  			names := make([]string, len(enum.Value))
  			for i, v := range enum.Value {
  				names[i] = v.GetName()
  			}
  			if description != "" {
  				description += "\n"
  			}
  			description += fmt.Sprintf("Valid values: %s.", strings.Join(names, ", "))
  		}
  	}
  	return description
  }
docs: // description returns a string description of the descriptor proto that
  // ptr points to.
  // If ptr is a field of an enum type, appends
  // "\nValid values: <comma-separated enum member names>".