1// Copyright 2018 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Code generated by protoc-gen-go. DO NOT EDIT.
6// source: cmd/protoc-gen-go/testdata/import_public/sub/a.proto
7
8package sub
9
10import (
11	sub2 "google.golang.org/protobuf/cmd/protoc-gen-go/testdata/import_public/sub2"
12	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
13	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
14	math "math"
15	reflect "reflect"
16	sync "sync"
17)
18
19// Symbols defined in public import of cmd/protoc-gen-go/testdata/import_public/sub2/a.proto.
20
21type Sub2Message = sub2.Sub2Message
22
23type E int32
24
25const (
26	E_ZERO E = 0
27)
28
29// Enum value maps for E.
30var (
31	E_name = map[int32]string{
32		0: "ZERO",
33	}
34	E_value = map[string]int32{
35		"ZERO": 0,
36	}
37)
38
39func (x E) Enum() *E {
40	p := new(E)
41	*p = x
42	return p
43}
44
45func (x E) String() string {
46	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
47}
48
49func (E) Descriptor() protoreflect.EnumDescriptor {
50	return file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_enumTypes[0].Descriptor()
51}
52
53func (E) Type() protoreflect.EnumType {
54	return &file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_enumTypes[0]
55}
56
57func (x E) Number() protoreflect.EnumNumber {
58	return protoreflect.EnumNumber(x)
59}
60
61// Deprecated: Do not use.
62func (x *E) UnmarshalJSON(b []byte) error {
63	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
64	if err != nil {
65		return err
66	}
67	*x = E(num)
68	return nil
69}
70
71// Deprecated: Use E.Descriptor instead.
72func (E) EnumDescriptor() ([]byte, []int) {
73	return file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDescGZIP(), []int{0}
74}
75
76type M_Subenum int32
77
78const (
79	M_M_ZERO M_Subenum = 0
80)
81
82// Enum value maps for M_Subenum.
83var (
84	M_Subenum_name = map[int32]string{
85		0: "M_ZERO",
86	}
87	M_Subenum_value = map[string]int32{
88		"M_ZERO": 0,
89	}
90)
91
92func (x M_Subenum) Enum() *M_Subenum {
93	p := new(M_Subenum)
94	*p = x
95	return p
96}
97
98func (x M_Subenum) String() string {
99	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
100}
101
102func (M_Subenum) Descriptor() protoreflect.EnumDescriptor {
103	return file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_enumTypes[1].Descriptor()
104}
105
106func (M_Subenum) Type() protoreflect.EnumType {
107	return &file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_enumTypes[1]
108}
109
110func (x M_Subenum) Number() protoreflect.EnumNumber {
111	return protoreflect.EnumNumber(x)
112}
113
114// Deprecated: Do not use.
115func (x *M_Subenum) UnmarshalJSON(b []byte) error {
116	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
117	if err != nil {
118		return err
119	}
120	*x = M_Subenum(num)
121	return nil
122}
123
124// Deprecated: Use M_Subenum.Descriptor instead.
125func (M_Subenum) EnumDescriptor() ([]byte, []int) {
126	return file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDescGZIP(), []int{0, 0}
127}
128
129type M_Submessage_Submessage_Subenum int32
130
131const (
132	M_Submessage_M_SUBMESSAGE_ZERO M_Submessage_Submessage_Subenum = 0
133)
134
135// Enum value maps for M_Submessage_Submessage_Subenum.
136var (
137	M_Submessage_Submessage_Subenum_name = map[int32]string{
138		0: "M_SUBMESSAGE_ZERO",
139	}
140	M_Submessage_Submessage_Subenum_value = map[string]int32{
141		"M_SUBMESSAGE_ZERO": 0,
142	}
143)
144
145func (x M_Submessage_Submessage_Subenum) Enum() *M_Submessage_Submessage_Subenum {
146	p := new(M_Submessage_Submessage_Subenum)
147	*p = x
148	return p
149}
150
151func (x M_Submessage_Submessage_Subenum) String() string {
152	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
153}
154
155func (M_Submessage_Submessage_Subenum) Descriptor() protoreflect.EnumDescriptor {
156	return file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_enumTypes[2].Descriptor()
157}
158
159func (M_Submessage_Submessage_Subenum) Type() protoreflect.EnumType {
160	return &file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_enumTypes[2]
161}
162
163func (x M_Submessage_Submessage_Subenum) Number() protoreflect.EnumNumber {
164	return protoreflect.EnumNumber(x)
165}
166
167// Deprecated: Do not use.
168func (x *M_Submessage_Submessage_Subenum) UnmarshalJSON(b []byte) error {
169	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
170	if err != nil {
171		return err
172	}
173	*x = M_Submessage_Submessage_Subenum(num)
174	return nil
175}
176
177// Deprecated: Use M_Submessage_Submessage_Subenum.Descriptor instead.
178func (M_Submessage_Submessage_Subenum) EnumDescriptor() ([]byte, []int) {
179	return file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDescGZIP(), []int{0, 0, 0}
180}
181
182type M struct {
183	state           protoimpl.MessageState
184	sizeCache       protoimpl.SizeCache
185	unknownFields   protoimpl.UnknownFields
186	extensionFields protoimpl.ExtensionFields
187
188	// Field using a type in the same Go package, but a different source file.
189	M2 *M2      `protobuf:"bytes,1,opt,name=m2" json:"m2,omitempty"`
190	S  *string  `protobuf:"bytes,4,opt,name=s,def=default" json:"s,omitempty"`
191	B  []byte   `protobuf:"bytes,5,opt,name=b,def=default" json:"b,omitempty"`
192	F  *float64 `protobuf:"fixed64,6,opt,name=f,def=nan" json:"f,omitempty"`
193	// Types that are assignable to OneofField:
194	//	*M_OneofInt32
195	//	*M_OneofInt64
196	OneofField isM_OneofField `protobuf_oneof:"oneof_field"`
197}
198
199// Default values for M fields.
200const (
201	Default_M_S = string("default")
202)
203
204// Default values for M fields.
205var (
206	Default_M_B = []byte("default")
207	Default_M_F = float64(math.NaN())
208)
209
210func (x *M) Reset() {
211	*x = M{}
212	if protoimpl.UnsafeEnabled {
213		mi := &file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_msgTypes[0]
214		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
215		ms.StoreMessageInfo(mi)
216	}
217}
218
219func (x *M) String() string {
220	return protoimpl.X.MessageStringOf(x)
221}
222
223func (*M) ProtoMessage() {}
224
225func (x *M) ProtoReflect() protoreflect.Message {
226	mi := &file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_msgTypes[0]
227	if protoimpl.UnsafeEnabled && x != nil {
228		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
229		if ms.LoadMessageInfo() == nil {
230			ms.StoreMessageInfo(mi)
231		}
232		return ms
233	}
234	return mi.MessageOf(x)
235}
236
237// Deprecated: Use M.ProtoReflect.Descriptor instead.
238func (*M) Descriptor() ([]byte, []int) {
239	return file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDescGZIP(), []int{0}
240}
241
242func (x *M) GetM2() *M2 {
243	if x != nil {
244		return x.M2
245	}
246	return nil
247}
248
249func (x *M) GetS() string {
250	if x != nil && x.S != nil {
251		return *x.S
252	}
253	return Default_M_S
254}
255
256func (x *M) GetB() []byte {
257	if x != nil && x.B != nil {
258		return x.B
259	}
260	return append([]byte(nil), Default_M_B...)
261}
262
263func (x *M) GetF() float64 {
264	if x != nil && x.F != nil {
265		return *x.F
266	}
267	return Default_M_F
268}
269
270func (m *M) GetOneofField() isM_OneofField {
271	if m != nil {
272		return m.OneofField
273	}
274	return nil
275}
276
277func (x *M) GetOneofInt32() int32 {
278	if x, ok := x.GetOneofField().(*M_OneofInt32); ok {
279		return x.OneofInt32
280	}
281	return 0
282}
283
284func (x *M) GetOneofInt64() int64 {
285	if x, ok := x.GetOneofField().(*M_OneofInt64); ok {
286		return x.OneofInt64
287	}
288	return 0
289}
290
291type isM_OneofField interface {
292	isM_OneofField()
293}
294
295type M_OneofInt32 struct {
296	OneofInt32 int32 `protobuf:"varint,2,opt,name=oneof_int32,json=oneofInt32,oneof"`
297}
298
299type M_OneofInt64 struct {
300	OneofInt64 int64 `protobuf:"varint,3,opt,name=oneof_int64,json=oneofInt64,oneof"`
301}
302
303func (*M_OneofInt32) isM_OneofField() {}
304
305func (*M_OneofInt64) isM_OneofField() {}
306
307type M_Submessage struct {
308	state         protoimpl.MessageState
309	sizeCache     protoimpl.SizeCache
310	unknownFields protoimpl.UnknownFields
311
312	// Types that are assignable to SubmessageOneofField:
313	//	*M_Submessage_SubmessageOneofInt32
314	//	*M_Submessage_SubmessageOneofInt64
315	SubmessageOneofField isM_Submessage_SubmessageOneofField `protobuf_oneof:"submessage_oneof_field"`
316}
317
318func (x *M_Submessage) Reset() {
319	*x = M_Submessage{}
320	if protoimpl.UnsafeEnabled {
321		mi := &file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_msgTypes[1]
322		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
323		ms.StoreMessageInfo(mi)
324	}
325}
326
327func (x *M_Submessage) String() string {
328	return protoimpl.X.MessageStringOf(x)
329}
330
331func (*M_Submessage) ProtoMessage() {}
332
333func (x *M_Submessage) ProtoReflect() protoreflect.Message {
334	mi := &file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_msgTypes[1]
335	if protoimpl.UnsafeEnabled && x != nil {
336		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
337		if ms.LoadMessageInfo() == nil {
338			ms.StoreMessageInfo(mi)
339		}
340		return ms
341	}
342	return mi.MessageOf(x)
343}
344
345// Deprecated: Use M_Submessage.ProtoReflect.Descriptor instead.
346func (*M_Submessage) Descriptor() ([]byte, []int) {
347	return file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDescGZIP(), []int{0, 0}
348}
349
350func (m *M_Submessage) GetSubmessageOneofField() isM_Submessage_SubmessageOneofField {
351	if m != nil {
352		return m.SubmessageOneofField
353	}
354	return nil
355}
356
357func (x *M_Submessage) GetSubmessageOneofInt32() int32 {
358	if x, ok := x.GetSubmessageOneofField().(*M_Submessage_SubmessageOneofInt32); ok {
359		return x.SubmessageOneofInt32
360	}
361	return 0
362}
363
364func (x *M_Submessage) GetSubmessageOneofInt64() int64 {
365	if x, ok := x.GetSubmessageOneofField().(*M_Submessage_SubmessageOneofInt64); ok {
366		return x.SubmessageOneofInt64
367	}
368	return 0
369}
370
371type isM_Submessage_SubmessageOneofField interface {
372	isM_Submessage_SubmessageOneofField()
373}
374
375type M_Submessage_SubmessageOneofInt32 struct {
376	SubmessageOneofInt32 int32 `protobuf:"varint,1,opt,name=submessage_oneof_int32,json=submessageOneofInt32,oneof"`
377}
378
379type M_Submessage_SubmessageOneofInt64 struct {
380	SubmessageOneofInt64 int64 `protobuf:"varint,2,opt,name=submessage_oneof_int64,json=submessageOneofInt64,oneof"`
381}
382
383func (*M_Submessage_SubmessageOneofInt32) isM_Submessage_SubmessageOneofField() {}
384
385func (*M_Submessage_SubmessageOneofInt64) isM_Submessage_SubmessageOneofField() {}
386
387var file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_extTypes = []protoimpl.ExtensionInfo{
388	{
389		ExtendedType:  (*M)(nil),
390		ExtensionType: (*string)(nil),
391		Field:         100,
392		Name:          "goproto.protoc.import_public.sub.extension_field",
393		Tag:           "bytes,100,opt,name=extension_field",
394		Filename:      "cmd/protoc-gen-go/testdata/import_public/sub/a.proto",
395	},
396}
397
398// Extension fields to M.
399var (
400	// optional string extension_field = 100;
401	E_ExtensionField = &file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_extTypes[0]
402)
403
404var File_cmd_protoc_gen_go_testdata_import_public_sub_a_proto protoreflect.FileDescriptor
405
406var file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDesc = []byte{
407	0x0a, 0x34, 0x63, 0x6d, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e,
408	0x2d, 0x67, 0x6f, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x69, 0x6d, 0x70,
409	0x6f, 0x72, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2f, 0x73, 0x75, 0x62, 0x2f, 0x61,
410	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
411	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2e, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x75,
412	0x62, 0x6c, 0x69, 0x63, 0x2e, 0x73, 0x75, 0x62, 0x1a, 0x34, 0x63, 0x6d, 0x64, 0x2f, 0x70, 0x72,
413	0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x67, 0x6f, 0x2f, 0x74, 0x65, 0x73, 0x74,
414	0x64, 0x61, 0x74, 0x61, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c,
415	0x69, 0x63, 0x2f, 0x73, 0x75, 0x62, 0x2f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35,
416	0x63, 0x6d, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x67,
417	0x6f, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72,
418	0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2f, 0x73, 0x75, 0x62, 0x32, 0x2f, 0x61, 0x2e,
419	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x03, 0x0a, 0x01, 0x4d, 0x12, 0x34, 0x0a, 0x02, 0x6d,
420	0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
421	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2e, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f,
422	0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2e, 0x73, 0x75, 0x62, 0x2e, 0x4d, 0x32, 0x52, 0x02, 0x6d,
423	0x32, 0x12, 0x15, 0x0a, 0x01, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x07, 0x64, 0x65,
424	0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x01, 0x73, 0x12, 0x15, 0x0a, 0x01, 0x62, 0x18, 0x05, 0x20,
425	0x01, 0x28, 0x0c, 0x3a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x01, 0x62, 0x12,
426	0x11, 0x0a, 0x01, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x3a, 0x03, 0x6e, 0x61, 0x6e, 0x52,
427	0x01, 0x66, 0x12, 0x21, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x69, 0x6e, 0x74, 0x33,
428	0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
429	0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x21, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x69,
430	0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e,
431	0x65, 0x6f, 0x66, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x1a, 0xc3, 0x01, 0x0a, 0x0a, 0x53, 0x75, 0x62,
432	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x73, 0x75, 0x62, 0x6d, 0x65,
433	0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x69, 0x6e, 0x74, 0x33,
434	0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x14, 0x73, 0x75, 0x62, 0x6d, 0x65,
435	0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12,
436	0x36, 0x0a, 0x16, 0x73, 0x75, 0x62, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x6e,
437	0x65, 0x6f, 0x66, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48,
438	0x00, 0x52, 0x14, 0x73, 0x75, 0x62, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x6e, 0x65,
439	0x6f, 0x66, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x22, 0x2b, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x6d, 0x65,
440	0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x53, 0x75, 0x62, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x15, 0x0a,
441	0x11, 0x4d, 0x5f, 0x53, 0x55, 0x42, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x5a, 0x45,
442	0x52, 0x4f, 0x10, 0x00, 0x42, 0x18, 0x0a, 0x16, 0x73, 0x75, 0x62, 0x6d, 0x65, 0x73, 0x73, 0x61,
443	0x67, 0x65, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x15,
444	0x0a, 0x07, 0x53, 0x75, 0x62, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x5f, 0x5a,
445	0x45, 0x52, 0x4f, 0x10, 0x00, 0x2a, 0x08, 0x08, 0x64, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x42,
446	0x0d, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2a, 0x0d,
447	0x0a, 0x01, 0x45, 0x12, 0x08, 0x0a, 0x04, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x3a, 0x4c, 0x0a,
448	0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64,
449	0x12, 0x23, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
450	0x63, 0x2e, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2e,
451	0x73, 0x75, 0x62, 0x2e, 0x4d, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x74,
452	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x49, 0x5a, 0x47, 0x67,
453	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67,
454	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x70, 0x72,
455	0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x67, 0x6f, 0x2f, 0x74, 0x65, 0x73, 0x74,
456	0x64, 0x61, 0x74, 0x61, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c,
457	0x69, 0x63, 0x2f, 0x73, 0x75, 0x62, 0x50, 0x01,
458}
459
460var (
461	file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDescOnce sync.Once
462	file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDescData = file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDesc
463)
464
465func file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDescGZIP() []byte {
466	file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDescOnce.Do(func() {
467		file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDescData = protoimpl.X.CompressGZIP(file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDescData)
468	})
469	return file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDescData
470}
471
472var file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
473var file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
474var file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_goTypes = []interface{}{
475	(E)(0),                               // 0: goproto.protoc.import_public.sub.E
476	(M_Subenum)(0),                       // 1: goproto.protoc.import_public.sub.M.Subenum
477	(M_Submessage_Submessage_Subenum)(0), // 2: goproto.protoc.import_public.sub.M.Submessage.Submessage_Subenum
478	(*M)(nil),                            // 3: goproto.protoc.import_public.sub.M
479	(*M_Submessage)(nil),                 // 4: goproto.protoc.import_public.sub.M.Submessage
480	(*M2)(nil),                           // 5: goproto.protoc.import_public.sub.M2
481}
482var file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_depIdxs = []int32{
483	5, // 0: goproto.protoc.import_public.sub.M.m2:type_name -> goproto.protoc.import_public.sub.M2
484	3, // 1: goproto.protoc.import_public.sub.extension_field:extendee -> goproto.protoc.import_public.sub.M
485	2, // [2:2] is the sub-list for method output_type
486	2, // [2:2] is the sub-list for method input_type
487	2, // [2:2] is the sub-list for extension type_name
488	1, // [1:2] is the sub-list for extension extendee
489	0, // [0:1] is the sub-list for field type_name
490}
491
492func init() { file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_init() }
493func file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_init() {
494	if File_cmd_protoc_gen_go_testdata_import_public_sub_a_proto != nil {
495		return
496	}
497	file_cmd_protoc_gen_go_testdata_import_public_sub_b_proto_init()
498	if !protoimpl.UnsafeEnabled {
499		file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
500			switch v := v.(*M); i {
501			case 0:
502				return &v.state
503			case 1:
504				return &v.sizeCache
505			case 2:
506				return &v.unknownFields
507			case 3:
508				return &v.extensionFields
509			default:
510				return nil
511			}
512		}
513		file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
514			switch v := v.(*M_Submessage); i {
515			case 0:
516				return &v.state
517			case 1:
518				return &v.sizeCache
519			case 2:
520				return &v.unknownFields
521			default:
522				return nil
523			}
524		}
525	}
526	file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_msgTypes[0].OneofWrappers = []interface{}{
527		(*M_OneofInt32)(nil),
528		(*M_OneofInt64)(nil),
529	}
530	file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_msgTypes[1].OneofWrappers = []interface{}{
531		(*M_Submessage_SubmessageOneofInt32)(nil),
532		(*M_Submessage_SubmessageOneofInt64)(nil),
533	}
534	type x struct{}
535	out := protoimpl.TypeBuilder{
536		File: protoimpl.DescBuilder{
537			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
538			RawDescriptor: file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDesc,
539			NumEnums:      3,
540			NumMessages:   2,
541			NumExtensions: 1,
542			NumServices:   0,
543		},
544		GoTypes:           file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_goTypes,
545		DependencyIndexes: file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_depIdxs,
546		EnumInfos:         file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_enumTypes,
547		MessageInfos:      file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_msgTypes,
548		ExtensionInfos:    file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_extTypes,
549	}.Build()
550	File_cmd_protoc_gen_go_testdata_import_public_sub_a_proto = out.File
551	file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_rawDesc = nil
552	file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_goTypes = nil
553	file_cmd_protoc_gen_go_testdata_import_public_sub_a_proto_depIdxs = nil
554}
555