runtime/protoimpl: add ExtensionInfo alias
This is change 1/5 in a series of commits changing protoV1.ExtensionDesc
to directly implement protoreflect.ExtensionType.
1. [v2] Add protoimpl.ExtensionInfo as an alias for
protoiface.ExtensionDescV1.
2. [v1] Update references to protoimpl.ExtensionInfo to use
protoiface.ExtensionInfo.
3. [v2] Create protoimpl.ExtensionInfo (an alias to a new type in
the impl package) and remove protoiface.ExtensionDescV1.
4. [v1] Remove unneeded explicit conversions between ExtensionDesc and
ExtensionType (since the former now directly implements the latter).
5. [v2] Remove stub conversion functions.
Change-Id: If6c7fd5f55364613387a05e6f8e9aa38cbfcc5b5
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/189562
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
diff --git a/runtime/protoimpl/impl.go b/runtime/protoimpl/impl.go
index 10ce301..f58b569 100644
--- a/runtime/protoimpl/impl.go
+++ b/runtime/protoimpl/impl.go
@@ -15,23 +15,31 @@
"google.golang.org/protobuf/internal/filedesc"
"google.golang.org/protobuf/internal/filetype"
"google.golang.org/protobuf/internal/impl"
+ "google.golang.org/protobuf/runtime/protoiface"
)
// UnsafeEnabled specifies whether package unsafe can be used.
const UnsafeEnabled = impl.UnsafeEnabled
type (
- DescBuilder = filedesc.Builder
- TypeBuilder = filetype.Builder
- EnumInfo = filetype.EnumInfo
- Pointer = impl.Pointer
- MessageInfo = impl.MessageInfo
+ // Types used by generated code in init functions.
+ DescBuilder = filedesc.Builder
+ TypeBuilder = filetype.Builder
+
+ // Types used by generated code to implement EnumType, MessageType, and ExtensionType.
+ EnumInfo = filetype.EnumInfo
+ MessageInfo = impl.MessageInfo
+ ExtensionInfo = protoiface.ExtensionDescV1
+
+ // Types embedded in generated messages.
MessageState = impl.MessageState
SizeCache = impl.SizeCache
WeakFields = impl.WeakFields
UnknownFields = impl.UnknownFields
ExtensionFields = impl.ExtensionFields
ExtensionFieldV1 = impl.ExtensionField
+
+ Pointer = impl.Pointer
)
var X impl.Export