1// Protocol Buffers for Go with Gadgets
2//
3// Copyright (c) 2013, The GoGo Authors. All rights reserved.
4// http://github.com/gogo/protobuf
5//
6// Redistribution and use in source and binary forms, with or without
7// modification, are permitted provided that the following conditions are
8// met:
9//
10// * Redistributions of source code must retain the above copyright
11// notice, this list of conditions and the following disclaimer.
12// * Redistributions in binary form must reproduce the above
13// copyright notice, this list of conditions and the following disclaimer
14// in the documentation and/or other materials provided with the
15// distribution.
16//
17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29syntax = "proto2";
30package test;
31
32import "github.com/gogo/protobuf/gogoproto/gogo.proto";
33
34option (gogoproto.goproto_stringer_all) = false;
35option (gogoproto.goproto_enum_prefix_all) = false;
36option (gogoproto.goproto_getters_all) = false;
37
38option (gogoproto.equal_all) = true;
39option (gogoproto.verbose_equal_all) = true;
40option (gogoproto.stringer_all) = true;
41option (gogoproto.gostring_all) = true;
42option (gogoproto.face_all) = true;
43option (gogoproto.description_all) = true;
44
45option (gogoproto.testgen_all) = true;
46option (gogoproto.populate_all) = true;
47option (gogoproto.benchgen_all) = true;
48option (gogoproto.unmarshaler_all) = true;
49option (gogoproto.marshaler_all) = false;
50option (gogoproto.sizer_all) = true;
51option (gogoproto.protosizer_all) = false;
52
53option (gogoproto.goproto_enum_stringer_all) = false;
54option (gogoproto.enum_stringer_all) = true;
55
56option (gogoproto.unsafe_marshaler_all) = false;
57option (gogoproto.unsafe_unmarshaler_all) = false;
58
59option (gogoproto.compare_all) = true;
60
61message NidOptNative {
62 optional double Field1 = 1 [(gogoproto.nullable) = false];
63 optional float Field2 = 2 [(gogoproto.nullable) = false];
64 optional int32 Field3 = 3 [(gogoproto.nullable) = false];
65 optional int64 Field4 = 4 [(gogoproto.nullable) = false];
66 optional uint32 Field5 = 5 [(gogoproto.nullable) = false];
67 optional uint64 Field6 = 6 [(gogoproto.nullable) = false];
68 optional sint32 Field7 = 7 [(gogoproto.nullable) = false];
69 optional sint64 Field8 = 8 [(gogoproto.nullable) = false];
70 optional fixed32 Field9 = 9 [(gogoproto.nullable) = false];
71 optional sfixed32 Field10 = 10 [(gogoproto.nullable) = false];
72 optional fixed64 Field11 = 11 [(gogoproto.nullable) = false];
73 optional sfixed64 Field12 = 12 [(gogoproto.nullable) = false];
74 optional bool Field13 = 13 [(gogoproto.nullable) = false];
75 optional string Field14 = 14 [(gogoproto.nullable) = false];
76 optional bytes Field15 = 15 [(gogoproto.nullable) = false];
77}
78
79message NinOptNative {
80 optional double Field1 = 1;
81 optional float Field2 = 2;
82 optional int32 Field3 = 3;
83 optional int64 Field4 = 4;
84 optional uint32 Field5 = 5;
85 optional uint64 Field6 = 6;
86 optional sint32 Field7 = 7;
87 optional sint64 Field8 = 8;
88 optional fixed32 Field9 = 9;
89 optional sfixed32 Field10 = 10;
90 optional fixed64 Field11 = 11;
91 optional sfixed64 Field12 = 12;
92 optional bool Field13 = 13;
93 optional string Field14 = 14;
94 optional bytes Field15 = 15;
95}
96
97message NidRepNative {
98 repeated double Field1 = 1 [(gogoproto.nullable) = false];
99 repeated float Field2 = 2 [(gogoproto.nullable) = false];
100 repeated int32 Field3 = 3 [(gogoproto.nullable) = false];
101 repeated int64 Field4 = 4 [(gogoproto.nullable) = false];
102 repeated uint32 Field5 = 5 [(gogoproto.nullable) = false];
103 repeated uint64 Field6 = 6 [(gogoproto.nullable) = false];
104 repeated sint32 Field7 = 7 [(gogoproto.nullable) = false];
105 repeated sint64 Field8 = 8 [(gogoproto.nullable) = false];
106 repeated fixed32 Field9 = 9 [(gogoproto.nullable) = false];
107 repeated sfixed32 Field10 = 10 [(gogoproto.nullable) = false];
108 repeated fixed64 Field11 = 11 [(gogoproto.nullable) = false];
109 repeated sfixed64 Field12 = 12 [(gogoproto.nullable) = false];
110 repeated bool Field13 = 13 [(gogoproto.nullable) = false];
111 repeated string Field14 = 14 [(gogoproto.nullable) = false];
112 repeated bytes Field15 = 15 [(gogoproto.nullable) = false];
113}
114
115message NinRepNative {
116 repeated double Field1 = 1;
117 repeated float Field2 = 2;
118 repeated int32 Field3 = 3;
119 repeated int64 Field4 = 4;
120 repeated uint32 Field5 = 5;
121 repeated uint64 Field6 = 6;
122 repeated sint32 Field7 = 7;
123 repeated sint64 Field8 = 8;
124 repeated fixed32 Field9 = 9;
125 repeated sfixed32 Field10 = 10;
126 repeated fixed64 Field11 = 11;
127 repeated sfixed64 Field12 = 12;
128 repeated bool Field13 = 13;
129 repeated string Field14 = 14;
130 repeated bytes Field15 = 15;
131}
132
133message NidRepPackedNative {
134 repeated double Field1 = 1 [(gogoproto.nullable) = false, packed = true];
135 repeated float Field2 = 2 [(gogoproto.nullable) = false, packed = true];
136 repeated int32 Field3 = 3 [(gogoproto.nullable) = false, packed = true];
137 repeated int64 Field4 = 4 [(gogoproto.nullable) = false, packed = true];
138 repeated uint32 Field5 = 5 [(gogoproto.nullable) = false, packed = true];
139 repeated uint64 Field6 = 6 [(gogoproto.nullable) = false, packed = true];
140 repeated sint32 Field7 = 7 [(gogoproto.nullable) = false, packed = true];
141 repeated sint64 Field8 = 8 [(gogoproto.nullable) = false, packed = true];
142 repeated fixed32 Field9 = 9 [(gogoproto.nullable) = false, packed = true];
143 repeated sfixed32 Field10 = 10 [(gogoproto.nullable) = false, packed = true];
144 repeated fixed64 Field11 = 11 [(gogoproto.nullable) = false, packed = true];
145 repeated sfixed64 Field12 = 12 [(gogoproto.nullable) = false, packed = true];
146 repeated bool Field13 = 13 [(gogoproto.nullable) = false, packed = true];
147}
148
149message NinRepPackedNative {
150 repeated double Field1 = 1 [packed = true];
151 repeated float Field2 = 2 [packed = true];
152 repeated int32 Field3 = 3 [packed = true];
153 repeated int64 Field4 = 4 [packed = true];
154 repeated uint32 Field5 = 5 [packed = true];
155 repeated uint64 Field6 = 6 [packed = true];
156 repeated sint32 Field7 = 7 [packed = true];
157 repeated sint64 Field8 = 8 [packed = true];
158 repeated fixed32 Field9 = 9 [packed = true];
159 repeated sfixed32 Field10 = 10 [packed = true];
160 repeated fixed64 Field11 = 11 [packed = true];
161 repeated sfixed64 Field12 = 12 [packed = true];
162 repeated bool Field13 = 13 [packed = true];
163}
164
165message NidOptStruct {
166 optional double Field1 = 1 [(gogoproto.nullable) = false];
167 optional float Field2 = 2 [(gogoproto.nullable) = false];
168 optional NidOptNative Field3 = 3 [(gogoproto.nullable) = false];
169 optional NinOptNative Field4 = 4 [(gogoproto.nullable) = false];
170 optional uint64 Field6 = 6 [(gogoproto.nullable) = false];
171 optional sint32 Field7 = 7 [(gogoproto.nullable) = false];
172 optional NidOptNative Field8 = 8 [(gogoproto.nullable) = false];
173 optional bool Field13 = 13 [(gogoproto.nullable) = false];
174 optional string Field14 = 14 [(gogoproto.nullable) = false];
175 optional bytes Field15 = 15 [(gogoproto.nullable) = false];
176}
177
178message NinOptStruct {
179 optional double Field1 = 1;
180 optional float Field2 = 2;
181 optional NidOptNative Field3 = 3;
182 optional NinOptNative Field4 = 4;
183 optional uint64 Field6 = 6;
184 optional sint32 Field7 = 7;
185 optional NidOptNative Field8 = 8;
186 optional bool Field13 = 13;
187 optional string Field14 = 14;
188 optional bytes Field15 = 15;
189}
190
191message NidRepStruct {
192 repeated double Field1 = 1 [(gogoproto.nullable) = false];
193 repeated float Field2 = 2 [(gogoproto.nullable) = false];
194 repeated NidOptNative Field3 = 3 [(gogoproto.nullable) = false];
195 repeated NinOptNative Field4 = 4 [(gogoproto.nullable) = false];
196 repeated uint64 Field6 = 6 [(gogoproto.nullable) = false];
197 repeated sint32 Field7 = 7 [(gogoproto.nullable) = false];
198 repeated NidOptNative Field8 = 8 [(gogoproto.nullable) = false];
199 repeated bool Field13 = 13 [(gogoproto.nullable) = false];
200 repeated string Field14 = 14 [(gogoproto.nullable) = false];
201 repeated bytes Field15 = 15 [(gogoproto.nullable) = false];
202}
203
204message NinRepStruct {
205 repeated double Field1 = 1;
206 repeated float Field2 = 2;
207 repeated NidOptNative Field3 = 3;
208 repeated NinOptNative Field4 = 4;
209 repeated uint64 Field6 = 6;
210 repeated sint32 Field7 = 7;
211 repeated NidOptNative Field8 = 8;
212 repeated bool Field13 = 13;
213 repeated string Field14 = 14;
214 repeated bytes Field15 = 15;
215}
216
217message NidEmbeddedStruct {
218 optional NidOptNative Field1 = 1 [(gogoproto.embed) = true];
219 optional NidOptNative Field200 = 200 [(gogoproto.nullable) = false];
220 optional bool Field210 = 210 [(gogoproto.nullable) = false];
221}
222
223message NinEmbeddedStruct {
224 optional NidOptNative Field1 = 1 [(gogoproto.embed) = true];
225 optional NidOptNative Field200 = 200;
226 optional bool Field210 = 210;
227}
228
229message NidNestedStruct {
230 optional NidOptStruct Field1 = 1 [(gogoproto.nullable) = false];
231 repeated NidRepStruct Field2 = 2 [(gogoproto.nullable) = false];
232}
233
234message NinNestedStruct {
235 optional NinOptStruct Field1 = 1;
236 repeated NinRepStruct Field2 = 2;
237}
238
239message NidOptCustom {
240 optional bytes Id = 1 [(gogoproto.customtype) = "Uuid", (gogoproto.nullable) = false];
241 optional bytes Value = 2 [(gogoproto.customtype) = "github.com/gogo/protobuf/test/custom.Uint128", (gogoproto.nullable) = false];
242}
243
244message CustomDash {
245 optional bytes Value = 1 [(gogoproto.customtype) = "github.com/gogo/protobuf/test/custom-dash-type.Bytes"];
246}
247
248message NinOptCustom {
249 optional bytes Id = 1 [(gogoproto.customtype) = "Uuid"];
250 optional bytes Value = 2 [(gogoproto.customtype) = "github.com/gogo/protobuf/test/custom.Uint128"];
251}
252
253message NidRepCustom {
254 repeated bytes Id = 1 [(gogoproto.customtype) = "Uuid", (gogoproto.nullable) = false];
255 repeated bytes Value = 2 [(gogoproto.customtype) = "github.com/gogo/protobuf/test/custom.Uint128", (gogoproto.nullable) = false];
256}
257
258message NinRepCustom {
259 repeated bytes Id = 1 [(gogoproto.customtype) = "Uuid"];
260 repeated bytes Value = 2 [(gogoproto.customtype) = "github.com/gogo/protobuf/test/custom.Uint128"];
261}
262
263message NinOptNativeUnion {
264 option (gogoproto.onlyone) = true;
265 optional double Field1 = 1;
266 optional float Field2 = 2;
267 optional int32 Field3 = 3;
268 optional int64 Field4 = 4;
269 optional uint32 Field5 = 5;
270 optional uint64 Field6 = 6;
271 optional bool Field13 = 13;
272 optional string Field14 = 14;
273 optional bytes Field15 = 15;
274}
275
276message NinOptStructUnion {
277 option (gogoproto.onlyone) = true;
278 optional double Field1 = 1;
279 optional float Field2 = 2;
280 optional NidOptNative Field3 = 3;
281 optional NinOptNative Field4 = 4;
282 optional uint64 Field6 = 6;
283 optional sint32 Field7 = 7;
284 optional bool Field13 = 13;
285 optional string Field14 = 14;
286 optional bytes Field15 = 15;
287}
288
289message NinEmbeddedStructUnion {
290 option (gogoproto.onlyone) = true;
291 optional NidOptNative Field1 = 1 [(gogoproto.embed) = true];
292 optional NinOptNative Field200 = 200;
293 optional bool Field210 = 210;
294}
295
296message NinNestedStructUnion {
297 option (gogoproto.onlyone) = true;
298 optional NinOptNativeUnion Field1 = 1;
299 optional NinOptStructUnion Field2 = 2;
300 optional NinEmbeddedStructUnion Field3 = 3;
301}
302
303message Tree {
304 option (gogoproto.onlyone) = true;
305 optional OrBranch Or = 1;
306 optional AndBranch And = 2;
307 optional Leaf Leaf = 3;
308}
309
310message OrBranch {
311 optional Tree Left = 1 [(gogoproto.nullable) = false];
312 optional Tree Right = 2 [(gogoproto.nullable) = false];
313}
314
315message AndBranch {
316 optional Tree Left = 1 [(gogoproto.nullable) = false];
317 optional Tree Right = 2 [(gogoproto.nullable) = false];
318}
319
320message Leaf {
321 optional int64 Value = 1 [(gogoproto.nullable) = false];
322 optional string StrValue = 2 [(gogoproto.nullable) = false];
323}
324
325message DeepTree {
326 option (gogoproto.onlyone) = true;
327 optional ADeepBranch Down = 1;
328 optional AndDeepBranch And = 2;
329 optional DeepLeaf Leaf = 3;
330}
331
332message ADeepBranch {
333 optional DeepTree Down = 2 [(gogoproto.nullable) = false];
334}
335
336message AndDeepBranch {
337 optional DeepTree Left = 1 [(gogoproto.nullable) = false];
338 optional DeepTree Right = 2 [(gogoproto.nullable) = false];
339}
340
341message DeepLeaf {
342 optional Tree Tree = 1 [(gogoproto.nullable) = false];
343}
344
345message Nil {
346
347}
348
349enum TheTestEnum {
350 A = 0;
351 B = 1;
352 C = 2;
353}
354
355enum AnotherTestEnum {
356 option (gogoproto.goproto_enum_prefix) = false;
357 D = 10;
358 E = 11;
359}
360
361// YetAnotherTestEnum is used to test cross-package import of custom name
362// fields and default resolution.
363enum YetAnotherTestEnum {
364 option (gogoproto.goproto_enum_prefix) = false;
365 AA = 0;
366 BB = 1 [(gogoproto.enumvalue_customname) = "BetterYetBB"];
367}
368
369// YetAnotherTestEnum is used to test cross-package import of custom name
370// fields and default resolution.
371enum YetYetAnotherTestEnum {
372 option (gogoproto.goproto_enum_prefix) = true;
373 CC = 0;
374 DD = 1 [(gogoproto.enumvalue_customname) = "BetterYetDD"];
375}
376
377message NidOptEnum {
378 optional TheTestEnum Field1 = 1 [(gogoproto.nullable) = false];
379}
380
381message NinOptEnum {
382 optional TheTestEnum Field1 = 1;
383 optional YetAnotherTestEnum Field2 = 2;
384 optional YetYetAnotherTestEnum Field3 = 3;
385}
386
387message NidRepEnum {
388 repeated TheTestEnum Field1 = 1 [(gogoproto.nullable) = false];
389 repeated YetAnotherTestEnum Field2 = 2 [(gogoproto.nullable) = false];
390 repeated YetYetAnotherTestEnum Field3 = 3 [(gogoproto.nullable) = false];
391}
392
393message NinRepEnum {
394 repeated TheTestEnum Field1 = 1;
395 repeated YetAnotherTestEnum Field2 = 2;
396 repeated YetYetAnotherTestEnum Field3 = 3;
397}
398
399message NinOptEnumDefault {
400 option (gogoproto.goproto_getters) = true;
401 option (gogoproto.face) = false;
402 optional TheTestEnum Field1 = 1 [default=C];
403 optional YetAnotherTestEnum Field2 = 2 [default=BB];
404 optional YetYetAnotherTestEnum Field3 = 3 [default=CC];
405}
406
407message AnotherNinOptEnum {
408 optional AnotherTestEnum Field1 = 1;
409 optional YetAnotherTestEnum Field2 = 2;
410 optional YetYetAnotherTestEnum Field3 = 3;
411}
412
413message AnotherNinOptEnumDefault {
414 option (gogoproto.goproto_getters) = true;
415 option (gogoproto.face) = false;
416 optional AnotherTestEnum Field1 = 1 [default=E];
417 optional YetAnotherTestEnum Field2 = 2 [default=BB];
418 optional YetYetAnotherTestEnum Field3 = 3 [default=CC];
419}
420
421
422message Timer {
423 optional sfixed64 Time1 = 1 [(gogoproto.nullable) = false];
424 optional sfixed64 Time2 = 2 [(gogoproto.nullable) = false];
425 optional bytes Data = 3 [(gogoproto.nullable) = false];
426}
427
428message MyExtendable {
429 option (gogoproto.face) = false;
430 optional int64 Field1 = 1;
431 extensions 100 to 199;
432}
433
434extend MyExtendable {
435 optional double FieldA = 100;
436 optional NinOptNative FieldB = 101;
437 optional NinEmbeddedStruct FieldC = 102;
438 repeated int64 FieldD = 104;
439 repeated NinOptNative FieldE = 105;
440}
441
442message OtherExtenable {
443 option (gogoproto.face) = false;
444 optional int64 Field2 = 2;
445 extensions 14 to 16;
446 optional int64 Field13 = 13;
447 extensions 10 to 12;
448 optional MyExtendable M = 1;
449}
450
451message NestedDefinition {
452 optional int64 Field1 = 1;
453 message NestedMessage {
454 optional fixed64 NestedField1 = 1;
455 optional NestedNestedMsg NNM = 2;
456 message NestedNestedMsg {
457 optional string NestedNestedField1 = 10;
458 }
459 }
460 enum NestedEnum {
461 TYPE_NESTED = 1;
462 }
463 optional NestedEnum EnumField = 2;
464 optional NestedMessage.NestedNestedMsg NNM = 3;
465 optional NestedMessage NM = 4;
466}
467
468message NestedScope {
469 optional NestedDefinition.NestedMessage.NestedNestedMsg A = 1;
470 optional NestedDefinition.NestedEnum B = 2;
471 optional NestedDefinition.NestedMessage C = 3;
472}
473
474message NinOptNativeDefault {
475 option (gogoproto.goproto_getters) = true;
476 option (gogoproto.face) = false;
477 optional double Field1 = 1 [default = 1234.1234];
478 optional float Field2 = 2 [default = 1234.1234];
479 optional int32 Field3 = 3 [default = 1234];
480 optional int64 Field4 = 4 [default = 1234];
481 optional uint32 Field5 = 5 [default = 1234];
482 optional uint64 Field6 = 6 [default = 1234];
483 optional sint32 Field7 = 7 [default = 1234];
484 optional sint64 Field8 = 8 [default = 1234];
485 optional fixed32 Field9 = 9 [default = 1234];
486 optional sfixed32 Field10 = 10 [default = 1234];
487 optional fixed64 Field11 = 11 [default = 1234];
488 optional sfixed64 Field12 = 12 [default = 1234];
489 optional bool Field13 = 13 [default = true];
490 optional string Field14 = 14 [default = "1234"];
491 optional bytes Field15 = 15;
492}
493
494message CustomContainer {
495 optional NidOptCustom CustomStruct = 1 [(gogoproto.nullable) = false];
496}
497
498message CustomNameNidOptNative {
499 optional double Field1 = 1 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldA"];
500 optional float Field2 = 2 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldB"];
501 optional int32 Field3 = 3 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldC"];
502 optional int64 Field4 = 4 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldD"];
503 optional uint32 Field5 = 5 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldE"];
504 optional uint64 Field6 = 6 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldF"];
505 optional sint32 Field7 = 7 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldG"];
506 optional sint64 Field8 = 8 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldH"];
507 optional fixed32 Field9 = 9 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldI"];
508 optional sfixed32 Field10 = 10 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldJ"];
509 optional fixed64 Field11 = 11 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldK"];
510 optional sfixed64 Field12 = 12 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldL"];
511 optional bool Field13 = 13 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldM"];
512 optional string Field14 = 14 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldN"];
513 optional bytes Field15 = 15 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldO"];
514}
515
516message CustomNameNinOptNative {
517 optional double Field1 = 1 [(gogoproto.customname) = "FieldA"];
518 optional float Field2 = 2 [(gogoproto.customname) = "FieldB"];
519 optional int32 Field3 = 3 [(gogoproto.customname) = "FieldC"];
520 optional int64 Field4 = 4 [(gogoproto.customname) = "FieldD"];
521 optional uint32 Field5 = 5 [(gogoproto.customname) = "FieldE"];
522 optional uint64 Field6 = 6 [(gogoproto.customname) = "FieldF"];
523 optional sint32 Field7 = 7 [(gogoproto.customname) = "FieldG"];
524 optional sint64 Field8 = 8 [(gogoproto.customname) = "FieldH"];
525 optional fixed32 Field9 = 9 [(gogoproto.customname) = "FieldI"];
526 optional sfixed32 Field10 = 10 [(gogoproto.customname) = "FieldJ"];
527 optional fixed64 Field11 = 11 [(gogoproto.customname) = "FieldK"];
528 optional sfixed64 Field12 = 12 [(gogoproto.customname) = "FielL"];
529 optional bool Field13 = 13 [(gogoproto.customname) = "FieldM"];
530 optional string Field14 = 14 [(gogoproto.customname) = "FieldN"];
531 optional bytes Field15 = 15 [(gogoproto.customname) = "FieldO"];
532}
533
534message CustomNameNinRepNative {
535 repeated double Field1 = 1 [(gogoproto.customname) = "FieldA"];
536 repeated float Field2 = 2 [(gogoproto.customname) = "FieldB"];
537 repeated int32 Field3 = 3 [(gogoproto.customname) = "FieldC"];
538 repeated int64 Field4 = 4 [(gogoproto.customname) = "FieldD"];
539 repeated uint32 Field5 = 5 [(gogoproto.customname) = "FieldE"];
540 repeated uint64 Field6 = 6 [(gogoproto.customname) = "FieldF"];
541 repeated sint32 Field7 = 7 [(gogoproto.customname) = "FieldG"];
542 repeated sint64 Field8 = 8 [(gogoproto.customname) = "FieldH"];
543 repeated fixed32 Field9 = 9 [(gogoproto.customname) = "FieldI"];
544 repeated sfixed32 Field10 = 10 [(gogoproto.customname) = "FieldJ"];
545 repeated fixed64 Field11 = 11 [(gogoproto.customname) = "FieldK"];
546 repeated sfixed64 Field12 = 12 [(gogoproto.customname) = "FieldL"];
547 repeated bool Field13 = 13 [(gogoproto.customname) = "FieldM"];
548 repeated string Field14 = 14 [(gogoproto.customname) = "FieldN"];
549 repeated bytes Field15 = 15 [(gogoproto.customname) = "FieldO"];
550}
551
552message CustomNameNinStruct {
553 optional double Field1 = 1 [(gogoproto.customname) = "FieldA"];
554 optional float Field2 = 2 [(gogoproto.customname) = "FieldB"];
555 optional NidOptNative Field3 = 3 [(gogoproto.customname) = "FieldC"];
556 repeated NinOptNative Field4 = 4 [(gogoproto.customname) = "FieldD"];
557 optional uint64 Field6 = 6 [(gogoproto.customname) = "FieldE"];
558 optional sint32 Field7 = 7 [(gogoproto.customname) = "FieldF"];
559 optional NidOptNative Field8 = 8 [(gogoproto.customname) = "FieldG"];
560 optional bool Field13 = 13 [(gogoproto.customname) = "FieldH"];
561 optional string Field14 = 14 [(gogoproto.customname) = "FieldI"];
562 optional bytes Field15 = 15 [(gogoproto.customname) = "FieldJ"];
563}
564
565message CustomNameCustomType {
566 optional bytes Id = 1 [(gogoproto.customname) = "FieldA", (gogoproto.customtype) = "Uuid"];
567 optional bytes Value = 2 [(gogoproto.customname) = "FieldB", (gogoproto.customtype) = "github.com/gogo/protobuf/test/custom.Uint128"];
568 repeated bytes Ids = 3 [(gogoproto.customname) = "FieldC", (gogoproto.customtype) = "Uuid"];
569 repeated bytes Values = 4 [(gogoproto.customname) = "FieldD", (gogoproto.customtype) = "github.com/gogo/protobuf/test/custom.Uint128"];
570}
571
572message CustomNameNinEmbeddedStructUnion {
573 option (gogoproto.onlyone) = true;
574 optional NidOptNative Field1 = 1 [(gogoproto.embed) = true];
575 optional NinOptNative Field200 = 200 [(gogoproto.customname) = "FieldA"];
576 optional bool Field210 = 210 [(gogoproto.customname) = "FieldB"];
577}
578
579message CustomNameEnum {
580 optional TheTestEnum Field1 = 1 [(gogoproto.customname) = "FieldA"];
581 repeated TheTestEnum Field2 = 2 [(gogoproto.customname) = "FieldB"];
582}
583
584message NoExtensionsMap {
585 option (gogoproto.face) = false;
586 option (gogoproto.goproto_extensions_map) = false;
587 optional int64 Field1 = 1;
588 extensions 100 to 199;
589}
590
591extend NoExtensionsMap {
592 optional double FieldA1 = 100;
593 optional NinOptNative FieldB1 = 101;
594 optional NinEmbeddedStruct FieldC1 = 102;
595}
596
597message Unrecognized {
598 option (gogoproto.goproto_unrecognized) = false;
599 optional string Field1 = 1;
600}
601
602message UnrecognizedWithInner {
603 message Inner {
604 option (gogoproto.goproto_unrecognized) = false;
605 optional uint32 Field1 = 1;
606 }
607
608 repeated Inner embedded = 1;
609 optional string Field2 = 2;
610}
611
612message UnrecognizedWithEmbed {
613 message Embedded {
614 option (gogoproto.goproto_unrecognized) = false;
615 optional uint32 Field1 = 1;
616 }
617
618 optional Embedded embedded = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
619 optional string Field2 = 2;
620}
621
622message Node {
623 optional string Label = 1;
624 repeated Node Children = 2;
625}
626
627message NonByteCustomType {
628 optional ProtoType Field1 = 1 [(gogoproto.customtype) = "T"];
629}
630
631message NidOptNonByteCustomType {
632 optional ProtoType Field1 = 1 [(gogoproto.customtype) = "T", (gogoproto.nullable) = false];
633}
634
635message NinOptNonByteCustomType {
636 optional ProtoType Field1 = 1 [(gogoproto.customtype) = "T"];
637}
638
639message NidRepNonByteCustomType {
640 repeated ProtoType Field1 = 1 [(gogoproto.customtype) = "T", (gogoproto.nullable) = false];
641}
642
643message NinRepNonByteCustomType {
644 repeated ProtoType Field1 = 1 [(gogoproto.customtype) = "T"];
645}
646
647message ProtoType {
648 optional string Field2 = 1;
649}
View as plain text