github.com/syumai/protoreflect@v1.7.1-0.20200810020253-2ac7e3b3a321/desc/protoprint/testfiles/desc_test_comments-sorted-AND-multiline-style-comments.proto (about)

     1  /* This is the first detached comment for the syntax. */
     2  
     3  /* This is a second detached comment. */
     4  
     5  /* This is a third. */
     6  
     7  /* Syntax comment... */
     8  syntax = "proto2"; /* Syntax trailer. */
     9  
    10  /* And now the package declaration */
    11  package foo.bar;
    12  
    13  import "desc_test_options.proto";
    14  
    15  import "google/protobuf/empty.proto";
    16  
    17  /* option comments FTW!!! */
    18  option go_package = "github.com/syumai/protoreflect/internal/testprotos";
    19  
    20  message AnEmptyMessage {
    21  }
    22  
    23  /*
    24   * Multiple white space lines (like above) cannot
    25   * be preserved...
    26   */
    27  
    28  /* We need a request for our RPC service below. */
    29  message Request {
    30    option deprecated = true; /* deprecated! */
    31  
    32    /* lead mfubar */
    33    option (testprotos.mfubar) = true; /* trailing mfubar */
    34  
    35    /* A field comment */
    36    repeated int32 ids = 1 [json_name = "|foo|", packed = true, (testprotos.ffubar) = "abc", (testprotos.ffubarb) = "xyz"]; /* field trailer #1... */
    37  
    38    /* some detached comments */
    39  
    40    /* some detached comments */
    41  
    42    /* Another field comment */
    43  
    44    /* label comment */
    45    optional string name = 2 [default = "fubar"];
    46  
    47    /* Group comment */
    48    optional group Extras = 3 {
    49      option no_standard_descriptor_accessor = false;
    50  
    51      /* this is a custom option */
    52      option (testprotos.mfubar) = false;
    53  
    54      optional double dbl = 1;
    55  
    56      optional float flt = 2;
    57  
    58      /* Leading comment... */
    59      optional string str = 3; /* Trailing comment... */
    60    }
    61  
    62    /* can be this or that */
    63    oneof abc {
    64      string this = 4;
    65  
    66      int32 that = 5;
    67    }
    68  
    69    /* can be these or those */
    70    oneof xyz {
    71      string these = 6;
    72  
    73      int32 those = 7;
    74    }
    75  
    76    /* map field */
    77    map<string, string> things = 8;
    78  
    79    enum MarioCharacters {
    80      /* allow_alias comments! */
    81      option allow_alias = true;
    82  
    83      option (testprotos.efubar) = 123;
    84  
    85      option (testprotos.efubars) = -321;
    86  
    87      SNIFIT = -101;
    88  
    89      MARIO = 1 [(testprotos.evfubar) = 278, (testprotos.evfubars) = -314];
    90  
    91      LUIGI = 2 [(testprotos.evfubaru) = 200, (testprotos.evfubaruf) = 100];
    92  
    93      PEACH = 3;
    94  
    95      BOWSER = 4;
    96  
    97      WARIO = 5;
    98  
    99      WALUIGI = 6;
   100  
   101      HEY_HO = 7;
   102  
   103      SHY_GUY = 7 [(testprotos.evfubarsf) = 10101];
   104  
   105      KAMEK = 8;
   106  
   107      MAGIKOOPA = 8;
   108    }
   109  
   110    extensions 100 to 200;
   111  
   112    extensions 201 to 250 [(testprotos.exfubar) = "splat!", (testprotos.exfubarb) = "\000\001\002\003\004\005\006\007"];
   113  
   114    reserved 10 to 20, 30 to 50;
   115  
   116    reserved "bar", "baz", "foo";
   117  }
   118  
   119  /* Service comment */
   120  service RpcService {
   121    option deprecated = false; /* DEPRECATED! */
   122  
   123    /* option that sets field */
   124    option (testprotos.sfubar) = { id:100 name:"bob"  };
   125  
   126    option (testprotos.sfubare) = VALUE;
   127  
   128    /* Method comment */
   129    rpc StreamingRpc ( stream Request ) returns ( Request );
   130  
   131    rpc UnaryRpc ( Request ) returns ( google.protobuf.Empty ) {
   132      option deprecated = true;
   133  
   134      option (testprotos.mtfubar) = 12.340000;
   135  
   136      option (testprotos.mtfubard) = 123.456000;
   137    }
   138  }
   139  
   140  extend Request {
   141    /* comment for guid1 */
   142    optional uint64 guid1 = 123;
   143  
   144    /* ... and a comment for guid2 */
   145    optional uint64 guid2 = 124;
   146  }