reflect/protoregistry: add (*Types).Register{Message,Enum,Extension}
Add type-safe methods to register message, enum, and extension types.
Deprecate the NewTypes function and the (*Types).Register method.
Add (*File).RegisterFile and deprecate the NewFiles function and
the (*File).Register method.
Updates golang/protobuf#963
Change-Id: Ie89e77526e0874539e9bd929ca0ba8d758e65a6e
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/199898
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
diff --git a/internal/protolegacy/proto.go b/internal/protolegacy/proto.go
index ffca87a..b9f023a 100644
--- a/internal/protolegacy/proto.go
+++ b/internal/protolegacy/proto.go
@@ -61,7 +61,7 @@
func RegisterType(m Message, s string) {
mt := protoimpl.X.LegacyMessageTypeOf(m, protoreflect.FullName(s))
- if err := protoregistry.GlobalTypes.Register(mt); err != nil {
+ if err := protoregistry.GlobalTypes.RegisterMessage(mt); err != nil {
panic(err)
}
}
@@ -75,7 +75,7 @@
}
func RegisterExtension(d *ExtensionDesc) {
- if err := protoregistry.GlobalTypes.Register(d); err != nil {
+ if err := protoregistry.GlobalTypes.RegisterExtension(d); err != nil {
panic(err)
}
}