func newListConverter(t reflect.Type, fd protoreflect.FieldDescriptor) Converter { … } type listConverter … func (c *listConverter) PBValueOf(v reflect.Value) protoreflect.Value { … } func (c *listConverter) GoValueOf(v protoreflect.Value) reflect.Value { … } func (c *listConverter) IsValidPB(v protoreflect.Value) bool { … } func (c *listConverter) IsValidGo(v reflect.Value) bool { … } func (c *listConverter) New() protoreflect.Value { … } func (c *listConverter) Zero() protoreflect.Value { … } type listPtrConverter … func (c *listPtrConverter) PBValueOf(v reflect.Value) protoreflect.Value { … } func (c *listPtrConverter) GoValueOf(v protoreflect.Value) reflect.Value { … } func (c *listPtrConverter) IsValidPB(v protoreflect.Value) bool { … } func (c *listPtrConverter) IsValidGo(v reflect.Value) bool { … } func (c *listPtrConverter) New() protoreflect.Value { … } func (c *listPtrConverter) Zero() protoreflect.Value { … } type listReflect … func (ls *listReflect) Len() int { … } func (ls *listReflect) Get(i int) protoreflect.Value { … } func (ls *listReflect) Set(i int, v protoreflect.Value) { … } func (ls *listReflect) Append(v protoreflect.Value) { … } func (ls *listReflect) AppendMutable() protoreflect.Value { … } func (ls *listReflect) Truncate(i int) { … } func (ls *listReflect) NewElement() protoreflect.Value { … } func (ls *listReflect) IsValid() bool { … } func (ls *listReflect) protoUnwrap() any { … }