reflect/protoreflect: add Enum.Type and Message.Type
CL/174938 removed these methods in favor of a method that returned
only the descriptors. This CL adds back in the Type methods alongside
the Descriptor methods.
In a vast majority of protobuf usages, only the descriptor information
is needed. However, there is a small percentage that legitimately needs
the Go type information. We should provide both, but document that the
descriptor-only information is preferred.
Change-Id: Ia0a098997fb1bd009994940ae8ea5257ccd87cae
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/184578
Reviewed-by: Damien Neil <dneil@google.com>
diff --git a/internal/impl/codec_message.go b/internal/impl/codec_message.go
index e0ebc7e..2b8b047 100644
--- a/internal/impl/codec_message.go
+++ b/internal/impl/codec_message.go
@@ -42,8 +42,8 @@
mi.extensionOffset = si.extensionOffset
mi.coderFields = make(map[wire.Number]*coderFieldInfo)
- for i := 0; i < mi.PBType.Descriptor().Fields().Len(); i++ {
- fd := mi.PBType.Descriptor().Fields().Get(i)
+ for i := 0; i < mi.PBType.Fields().Len(); i++ {
+ fd := mi.PBType.Fields().Get(i)
fs := si.fieldsByNumber[fd.Number()]
if fd.ContainingOneof() != nil {