diff --git a/reflection/serverreflection.go b/reflection/serverreflection.go index 34ff4c442..4ff6b24f1 100644 --- a/reflection/serverreflection.go +++ b/reflection/serverreflection.go @@ -118,53 +118,6 @@ func (s *serverReflectionServer) typeForName(name string) (reflect.Type, error) return st, nil } -func (s *serverReflectionServer) nameForType(st reflect.Type) (string, error) { - // Check cache first. - if name, ok := s.typeToNameMap[st]; ok { - return name, nil - } - - var name string - fd, idxs, err := s.fileDescForType(st) - if err != nil { - return "", err - } - mt := fd.MessageType[idxs[0]] - name = mt.GetName() - for i := 1; i < len(idxs); i++ { - mt = mt.NestedType[idxs[i]] - name += "_" + mt.GetName() - } - if fd.Package != nil { - name = *fd.Package + "." + name - } - - // Add to cache. - s.typeToNameMap[st] = name - s.nameToTypeMap[name] = st - - return name, nil -} - -func (s *serverReflectionServer) nameForPointer(i interface{}) (string, error) { - return s.nameForType(reflect.TypeOf(i).Elem()) -} - -func (s *serverReflectionServer) filenameForType(st reflect.Type) (string, error) { - // Check cache first. The value of cache is descriptor, not filename. - if fd, ok := s.typeToFileDescMap[st]; ok { - return fd.GetName(), nil - } - - fd, _, err := s.fileDescForType(st) - if err != nil { - return "", err - } - return fd.GetName(), nil -} - -// TODO filenameForMethod and Service - func (s *serverReflectionServer) fileDescContainingExtension(st reflect.Type, ext int32) (*dpb.FileDescriptorProto, error) { m, ok := reflect.Zero(reflect.PtrTo(st)).Interface().(proto.Message) if !ok { @@ -210,12 +163,6 @@ func (s *serverReflectionServer) allExtensionNumbersForType(st reflect.Type) ([] return out, nil } -// TODO filenameContainingExtension -// fd := fileDescContainingExtension() -// return fd.GetName() - -// fileDescWireFormatByFilename returns the file descriptor of file with the given name. -// TODO exporte and add lock func (s *serverReflectionServer) fileDescWireFormatByFilename(name string) ([]byte, error) { enc := proto.FileDescriptor(name) if enc == nil { diff --git a/reflection/serverreflection_test.go b/reflection/serverreflection_test.go index 579dea427..6c702be66 100644 --- a/reflection/serverreflection_test.go +++ b/reflection/serverreflection_test.go @@ -79,54 +79,6 @@ func TestTypeForNameNotFound(t *testing.T) { } } -func TestNameForType(t *testing.T) { - for _, test := range []struct { - st reflect.Type - want string - }{ - {reflect.TypeOf(pb.SearchResponse{}), "grpc.testing.SearchResponse"}, - {reflect.TypeOf(pb.SearchResponse_Result{}), "grpc.testing.SearchResponse_Result"}, - } { - r, err := s.nameForType(test.st) - t.Logf("nameForType(%q) = %q, %v", test.st, r, err) - if err != nil || r != test.want { - t.Fatalf("nameForType(%q) = %q, %v, want %q, ", test.st, r, err, test.want) - } - } -} - -func TestNameForPointer(t *testing.T) { - for _, test := range []struct { - pt interface{} - want string - }{ - {&pb.SearchResponse{}, "grpc.testing.SearchResponse"}, - {&pb.SearchResponse_Result{}, "grpc.testing.SearchResponse_Result"}, - } { - r, err := s.nameForPointer(test.pt) - t.Logf("nameForPointer(%T) = %q, %v", test.pt, r, err) - if err != nil || r != test.want { - t.Fatalf("nameForPointer(%T) = %q, %v, want %q, ", test.pt, r, err, test.want) - } - } -} - -func TestFilenameForType(t *testing.T) { - for _, test := range []struct { - st reflect.Type - want string - }{ - {reflect.TypeOf(pb.SearchResponse{}), "test.proto"}, - {reflect.TypeOf(pb.SearchResponse_Result{}), "test.proto"}, - } { - r, err := s.filenameForType(test.st) - t.Logf("filenameForType(%q) = %q, %v", test.st, r, err) - if err != nil || r != test.want { - t.Fatalf("filenameForType(%q) = %q, %v, want %q, ", test.st, r, err, test.want) - } - } -} - // TODO TestFileDescContainingExtension // intArray is used to sort []int32