...

Text file src/github.com/gogo/protobuf/test/thetest.proto

Documentation: github.com/gogo/protobuf/test

     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) = false;
    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