Joe Tsai 8e506a8704 cmd/protoc-gen-go: rely on protoimpl for basic helpers
The EnumName, UnmarshalJSONEnum, and CompressGZIP helpers currently live
in v1 protoapi, which would cause all generated messages to depend on v1.
In an effort to break the dependency of v2 on v1, we move these helper
functions to v2 (and re-written to take advantage of protobuf reflection).

These helpers are unfortunate, but we cannot eliminate the functionality
that they implement since they are exposed in the publicly generated API.

Since EnumName does not rely on the enum maps, it removes another dependency
on those variables. Eventually, we can get to the point where these variables
(though declared) are not linked into the binary if the user does not use them.

Also, we rely on the v1 proto package for registration instead of v1 protoapi.
This may re-introduce a cyclic dependency on descriptor proto again in the
future, but the better approach is to just start registering with v2.

Change-Id: Id755585a7a1df14e4a6a2dfa650df221a3c153fb
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/167921
Reviewed-by: Damien Neil <dneil@google.com>
2019-03-18 18:50:16 +00:00

98 lines
3.9 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: test/test_weak.proto
package test
import (
proto "github.com/golang/protobuf/proto"
protoreflect "github.com/golang/protobuf/v2/reflect/protoreflect"
protoimpl "github.com/golang/protobuf/v2/runtime/protoimpl"
reflect "reflect"
)
type WeakImportMessage struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *WeakImportMessage) ProtoReflect() protoreflect.Message {
return xxx_File_test_test_weak_proto_messageTypes[0].MessageOf(m)
}
func (m *WeakImportMessage) Reset() { *m = WeakImportMessage{} }
func (m *WeakImportMessage) String() string { return proto.CompactTextString(m) }
func (*WeakImportMessage) ProtoMessage() {}
// Deprecated: Use WeakImportMessage.ProtoReflect.Type instead.
func (*WeakImportMessage) Descriptor() ([]byte, []int) {
return xxx_File_test_test_weak_proto_rawdesc_gzipped, []int{0}
}
func (m *WeakImportMessage) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WeakImportMessage.Unmarshal(m, b)
}
func (m *WeakImportMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_WeakImportMessage.Marshal(b, m, deterministic)
}
func (m *WeakImportMessage) XXX_Merge(src proto.Message) {
xxx_messageInfo_WeakImportMessage.Merge(m, src)
}
func (m *WeakImportMessage) XXX_Size() int {
return xxx_messageInfo_WeakImportMessage.Size(m)
}
func (m *WeakImportMessage) XXX_DiscardUnknown() {
xxx_messageInfo_WeakImportMessage.DiscardUnknown(m)
}
var xxx_messageInfo_WeakImportMessage proto.InternalMessageInfo
func init() {
proto.RegisterFile("test/test_weak.proto", xxx_File_test_test_weak_proto_rawdesc_gzipped)
proto.RegisterType((*WeakImportMessage)(nil), "goproto.proto.test.WeakImportMessage")
}
var xxx_File_test_test_weak_proto_rawdesc = []byte{
// 121 bytes of the wire-encoded FileDescriptorProto
0x0a, 0x14, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x77, 0x65, 0x61, 0x6b,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x57, 0x65,
0x61, 0x6b, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42,
0x38, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f,
0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x32,
0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74,
}
var xxx_File_test_test_weak_proto_rawdesc_gzipped = protoimpl.X.CompressGZIP(xxx_File_test_test_weak_proto_rawdesc)
const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
var File_test_test_weak_proto protoreflect.FileDescriptor
var xxx_File_test_test_weak_proto_messageTypes = make([]protoimpl.MessageType, 1)
var xxx_File_test_test_weak_proto_goTypes = []interface{}{
(*WeakImportMessage)(nil), // 0: goproto.proto.test.WeakImportMessage
}
var xxx_File_test_test_weak_proto_depIdxs = []int32{}
func init() { xxx_File_test_test_weak_proto_init() }
func xxx_File_test_test_weak_proto_init() {
if File_test_test_weak_proto != nil {
return
}
messageTypes := make([]protoreflect.MessageType, 1)
File_test_test_weak_proto = protoimpl.FileBuilder{
RawDescriptor: xxx_File_test_test_weak_proto_rawdesc,
GoTypes: xxx_File_test_test_weak_proto_goTypes,
DependencyIndexes: xxx_File_test_test_weak_proto_depIdxs,
MessageOutputTypes: messageTypes,
}.Init()
messageGoTypes := xxx_File_test_test_weak_proto_goTypes[0:][:1]
for i, mt := range messageTypes {
xxx_File_test_test_weak_proto_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
xxx_File_test_test_weak_proto_messageTypes[i].PBType = mt
}
xxx_File_test_test_weak_proto_goTypes = nil
xxx_File_test_test_weak_proto_depIdxs = nil
}