Remove return value idxs []int from fileDescForType()
This commit is contained in:
@ -83,19 +83,20 @@ type protoMessage interface {
|
|||||||
Descriptor() ([]byte, []int)
|
Descriptor() ([]byte, []int)
|
||||||
}
|
}
|
||||||
|
|
||||||
// fileDescForType gets the file descriptor and indexes for the given type.
|
// fileDescForType gets the file descriptor for the given type.
|
||||||
func (s *serverReflectionServer) fileDescForType(st reflect.Type) (*dpb.FileDescriptorProto, []int, error) {
|
// The given type should be a proto message.
|
||||||
|
func (s *serverReflectionServer) fileDescForType(st reflect.Type) (*dpb.FileDescriptorProto, error) {
|
||||||
m, ok := reflect.Zero(reflect.PtrTo(st)).Interface().(protoMessage)
|
m, ok := reflect.Zero(reflect.PtrTo(st)).Interface().(protoMessage)
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, nil, fmt.Errorf("failed to create message from type: %v", st)
|
return nil, fmt.Errorf("failed to create message from type: %v", st)
|
||||||
}
|
}
|
||||||
enc, idxs := m.Descriptor()
|
enc, _ := m.Descriptor()
|
||||||
|
|
||||||
fd, err := s.decodeFileDesc(enc)
|
fd, err := s.decodeFileDesc(enc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return fd, idxs, nil
|
return fd, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// decodeFileDesc does decompression and unmarshalling on the given
|
// decodeFileDesc does decompression and unmarshalling on the given
|
||||||
@ -158,7 +159,7 @@ func (s *serverReflectionServer) fileDescContainingExtension(st reflect.Type, ex
|
|||||||
|
|
||||||
extT := reflect.TypeOf(extDesc.ExtensionType).Elem()
|
extT := reflect.TypeOf(extDesc.ExtensionType).Elem()
|
||||||
|
|
||||||
fd, _, err := s.fileDescForType(extT)
|
fd, err := s.fileDescForType(extT)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -207,7 +208,7 @@ func (s *serverReflectionServer) fileDescWireFormatContainingSymbol(name string)
|
|||||||
)
|
)
|
||||||
// Check if it's a type name.
|
// Check if it's a type name.
|
||||||
if st, err := s.typeForName(name); err == nil {
|
if st, err := s.typeForName(name); err == nil {
|
||||||
fd, _, err = s.fileDescForType(st)
|
fd, err = s.fileDescForType(st)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -51,16 +51,15 @@ func init() {
|
|||||||
|
|
||||||
func TestFileDescForType(t *testing.T) {
|
func TestFileDescForType(t *testing.T) {
|
||||||
for _, test := range []struct {
|
for _, test := range []struct {
|
||||||
st reflect.Type
|
st reflect.Type
|
||||||
wantFd *dpb.FileDescriptorProto
|
wantFd *dpb.FileDescriptorProto
|
||||||
wantIdx []int
|
|
||||||
}{
|
}{
|
||||||
{reflect.TypeOf(pb.SearchResponse_Result{}), fdTest, []int{0, 0}},
|
{reflect.TypeOf(pb.SearchResponse_Result{}), fdTest},
|
||||||
{reflect.TypeOf(pb.ToBeExtened{}), fdProto2, []int{0}},
|
{reflect.TypeOf(pb.ToBeExtened{}), fdProto2},
|
||||||
} {
|
} {
|
||||||
fd, idx, err := s.fileDescForType(test.st)
|
fd, err := s.fileDescForType(test.st)
|
||||||
if err != nil || !reflect.DeepEqual(fd, test.wantFd) || !reflect.DeepEqual(idx, test.wantIdx) {
|
if err != nil || !reflect.DeepEqual(fd, test.wantFd) {
|
||||||
t.Fatalf("fileDescForType(%q) = %q, %v, %v, want %q, %v, <nil>", test.st, fd, idx, err, test.wantFd, test.wantIdx)
|
t.Fatalf("fileDescForType(%q) = %q, %v, want %q, <nil>", test.st, fd, err, test.wantFd)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user