...

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

Documentation: github.com/gogo/protobuf/test/issue530

     1// Protocol Buffers for Go with Gadgets
     2//
     3// Copyright (c) 2019, 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";
    30
    31package issue530;
    32
    33import "github.com/gogo/protobuf/gogoproto/gogo.proto";
    34
    35option (gogoproto.stringer_all) = true;
    36option (gogoproto.goproto_stringer_all) = false;
    37option (gogoproto.goproto_unrecognized_all) = false;
    38option (gogoproto.goproto_sizecache_all) = false;
    39option (gogoproto.goproto_unkeyed_all) = false;
    40
    41//option (gogoproto.equal_all) = true;
    42option (gogoproto.testgen_all) = true;
    43option (gogoproto.populate_all) = true;
    44option (gogoproto.equal_all) = true;
    45
    46option (gogoproto.unmarshaler_all) = true;
    47option (gogoproto.marshaler_all) = true;
    48option (gogoproto.sizer_all) = true;
    49
    50message Foo5 {
    51    optional Bar1 bar1  = 1 [(gogoproto.nullable) = false];
    52    optional Bar1 bar2  = 2 [(gogoproto.nullable) = true];
    53    optional Bar2 bar3  = 3 [(gogoproto.nullable) = false];
    54    optional Bar2 bar4  = 4 [(gogoproto.nullable) = true];
    55    repeated Bar1 bars1 = 5 [(gogoproto.nullable) = false];
    56    repeated Bar1 bars2 = 6 [(gogoproto.nullable) = true];
    57    repeated Bar2 bars3 = 7 [(gogoproto.nullable) = false];
    58    repeated Bar2 bars4 = 8 [(gogoproto.nullable) = true];
    59
    60    repeated Bar3 barrs1 = 9 [(gogoproto.nullable) = false];
    61    repeated Bar5 barrs2 = 10 [(gogoproto.nullable) = false];
    62
    63    map<string, Bar3> barmap1 = 11;
    64    map<string, Bar5> barmap2 = 12;
    65}
    66
    67message Bar1 {
    68    optional string str = 1 [(gogoproto.nullable) = false];
    69}
    70
    71message Bar2 {
    72    optional string str = 1 [(gogoproto.nullable) = true];
    73}
    74
    75message Bar3 {
    76    repeated Bar4 bars4 = 1 [(gogoproto.nullable) = false];
    77    repeated Bar2 bars2 = 2 [(gogoproto.nullable) = false];
    78}
    79
    80message Bar4 {
    81    optional string str = 1 [(gogoproto.nullable) = false];
    82}
    83
    84message Bar5 {
    85    repeated Bar2 bars2 = 1 [(gogoproto.nullable) = true];
    86    repeated Bar1 bars1 = 2 [(gogoproto.nullable) = true];
    87}
    88
    89message Bar7 {
    90    repeated Bar7 bars71 = 1 [(gogoproto.nullable) = false];
    91    repeated Bar7 bars72 = 2 [(gogoproto.nullable) = true];
    92    optional string str1 = 3 [(gogoproto.nullable) = false];
    93    optional string str2 = 4 [(gogoproto.nullable) = true];
    94}
    95
    96message Bar8 {
    97    repeated Bar9 bars1 = 1 [(gogoproto.nullable) = false];
    98}
    99
   100message Bar9 {
   101    option (gogoproto.stringer) = false;
   102    option (gogoproto.goproto_stringer) = true;
   103    optional string str = 1 [(gogoproto.nullable) = false];
   104}

View as plain text