proto: inline the implementation of protoimpl.X.ExtensionDescFromType (#1056)
diff --git a/proto/extensions.go b/proto/extensions.go
index d78d258..65e1295 100644
--- a/proto/extensions.go
+++ b/proto/extensions.go
@@ -286,8 +286,10 @@
extDescs := make(map[protoreflect.FieldNumber]*ExtensionDesc)
mr.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool {
if fd.IsExtension() {
- xts := fd.(protoreflect.ExtensionTypeDescriptor)
- extDescs[fd.Number()] = protoimpl.X.ExtensionDescFromType(xts.Type())
+ xt := fd.(protoreflect.ExtensionTypeDescriptor)
+ if xd, ok := xt.Type().(*ExtensionDesc); ok {
+ extDescs[fd.Number()] = xd
+ }
}
return true
})