| // Protocol Buffers - Google's data interchange format | |
| // Copyright 2008 Google Inc. All rights reserved. | |
| // | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file or at | |
| // https://developers.google.com/open-source/licenses/bsd | |
| // Author: robinson@google.com (Will Robinson) | |
| // LINT: LEGACY_NAMES | |
| syntax = "proto2"; | |
| package google.protobuf.internal; | |
| // A message where tag numbers are listed out of order, to allow us to test our | |
| // canonicalization of serialized output, which should always be in tag order. | |
| // We also mix in some extensions for extra fun. | |
| message OutOfOrderFields { | |
| optional sint32 optional_sint32 = 5; | |
| extensions 4 to 4; | |
| optional uint32 optional_uint32 = 3; | |
| extensions 2 to 2; | |
| optional int32 optional_int32 = 1; | |
| } | |
| extend OutOfOrderFields { | |
| optional uint64 optional_uint64 = 4; | |
| optional int64 optional_int64 = 2; | |
| } | |
| enum is { // top level enum keyword | |
| default = 0; | |
| else = 1; // top level enum value keyword | |
| } | |
| message class { // message keyword | |
| optional int32 int_field = 1 [json_name = "json_int"]; | |
| optional int32 if = 2; // field keyword | |
| optional is as = 3; // enum field keyword | |
| optional is enum_field = 4; | |
| enum for { // nested enum keyword | |
| default = 0; | |
| True = 1; // nested enum value keyword | |
| } | |
| optional for nested_enum_field = 5; | |
| message try { | |
| optional int32 field = 1; | |
| extensions 999 to 9999; | |
| } | |
| optional try | |
| nested_message = 6; | |
| extensions 999 to 9999; | |
| } | |
| extend class { | |
| optional int32 continue = 1001; // top level extension keyword | |
| } | |
| extend class.try { | |
| optional int32 with = 1001; | |
| } | |
| message ExtendClass { | |
| extend class { | |
| optional int32 return = 1002; // nested extension keyword | |
| } | |
| } | |
| message TestRecursiveMapMessage { | |
| optional TestRecursiveMapMessage a = 1; | |
| optional int32 i = 2; | |
| map<int32, TestRecursiveMapMessage> map_field = 3; | |
| } | |
| message TestFullKeyword { | |
| optional google.protobuf.internal.OutOfOrderFields field1 = 1; | |
| optional google.protobuf.internal.class field2 = 2; | |
| } | |
| // TODO: Add keyword support for service. | |
| // service False { | |
| // rpc Bar(class) returns (class); | |
| // } | |
| message LotsNestedMessage { | |
| message B0 {} | |
| message B1 {} | |
| message B2 {} | |
| message B3 {} | |
| message B4 {} | |
| message B5 {} | |
| message B6 {} | |
| message B7 {} | |
| message B8 {} | |
| message B9 {} | |
| message B10 {} | |
| message B11 {} | |
| message B12 {} | |
| message B13 {} | |
| message B14 {} | |
| message B15 {} | |
| message B16 {} | |
| message B17 {} | |
| message B18 {} | |
| message B19 {} | |
| message B20 {} | |
| message B21 {} | |
| message B22 {} | |
| message B23 {} | |
| message B24 {} | |
| message B25 {} | |
| message B26 {} | |
| message B27 {} | |
| message B28 {} | |
| message B29 {} | |
| message B30 {} | |
| message B31 {} | |
| message B32 {} | |
| message B33 {} | |
| message B34 {} | |
| message B35 {} | |
| message B36 {} | |
| message B37 {} | |
| message B38 {} | |
| message B39 {} | |
| message B40 {} | |
| message B41 {} | |
| message B42 {} | |
| message B43 {} | |
| message B44 {} | |
| message B45 {} | |
| message B46 {} | |
| message B47 {} | |
| message B48 {} | |
| message B49 {} | |
| message B50 {} | |
| message B51 {} | |
| message B52 {} | |
| message B53 {} | |
| message B54 {} | |
| message B55 {} | |
| message B56 {} | |
| message B57 {} | |
| message B58 {} | |
| message B59 {} | |
| message B60 {} | |
| message B61 {} | |
| message B62 {} | |
| message B63 {} | |
| message B64 {} | |
| message B65 {} | |
| message B66 {} | |
| message B67 {} | |
| message B68 {} | |
| message B69 {} | |
| message B70 {} | |
| message B71 {} | |
| message B72 {} | |
| message B73 {} | |
| message B74 {} | |
| message B75 {} | |
| message B76 {} | |
| message B77 {} | |
| message B78 {} | |
| message B79 {} | |
| message B80 {} | |
| message B81 {} | |
| message B82 {} | |
| message B83 {} | |
| message B84 {} | |
| message B85 {} | |
| message B86 {} | |
| message B87 {} | |
| message B88 {} | |
| message B89 {} | |
| message B90 {} | |
| message B91 {} | |
| message B92 {} | |
| message B93 {} | |
| message B94 {} | |
| message B95 {} | |
| message B96 {} | |
| message B97 {} | |
| message B98 {} | |
| message B99 {} | |
| message B100 {} | |
| message B101 {} | |
| message B102 {} | |
| message B103 {} | |
| message B104 {} | |
| message B105 {} | |
| message B106 {} | |
| message B107 {} | |
| message B108 {} | |
| message B109 {} | |
| message B110 {} | |
| message B111 {} | |
| message B112 {} | |
| message B113 {} | |
| message B114 {} | |
| message B115 {} | |
| message B116 {} | |
| message B117 {} | |
| message B118 {} | |
| message B119 {} | |
| message B120 {} | |
| message B121 {} | |
| message B122 {} | |
| message B123 {} | |
| message B124 {} | |
| message B125 {} | |
| message B126 {} | |
| message B127 {} | |
| message B128 {} | |
| message B129 {} | |
| message B130 {} | |
| message B131 {} | |
| message B132 {} | |
| message B133 {} | |
| message B134 {} | |
| message B135 {} | |
| message B136 {} | |
| message B137 {} | |
| message B138 {} | |
| message B139 {} | |
| message B140 {} | |
| message B141 {} | |
| message B142 {} | |
| message B143 {} | |
| message B144 {} | |
| message B145 {} | |
| message B146 {} | |
| message B147 {} | |
| message B148 {} | |
| message B149 {} | |
| message B150 {} | |
| message B151 {} | |
| message B152 {} | |
| message B153 {} | |
| message B154 {} | |
| message B155 {} | |
| message B156 {} | |
| message B157 {} | |
| message B158 {} | |
| message B159 {} | |
| message B160 {} | |
| message B161 {} | |
| message B162 {} | |
| message B163 {} | |
| message B164 {} | |
| message B165 {} | |
| message B166 {} | |
| message B167 {} | |
| message B168 {} | |
| message B169 {} | |
| message B170 {} | |
| message B171 {} | |
| message B172 {} | |
| message B173 {} | |
| message B174 {} | |
| message B175 {} | |
| message B176 {} | |
| message B177 {} | |
| message B178 {} | |
| message B179 {} | |
| message B180 {} | |
| message B181 {} | |
| message B182 {} | |
| message B183 {} | |
| message B184 {} | |
| message B185 {} | |
| message B186 {} | |
| message B187 {} | |
| message B188 {} | |
| message B189 {} | |
| message B190 {} | |
| message B191 {} | |
| message B192 {} | |
| message B193 {} | |
| message B194 {} | |
| message B195 {} | |
| message B196 {} | |
| message B197 {} | |
| message B198 {} | |
| message B199 {} | |
| message B200 {} | |
| message B201 {} | |
| message B202 {} | |
| message B203 {} | |
| message B204 {} | |
| message B205 {} | |
| message B206 {} | |
| message B207 {} | |
| message B208 {} | |
| message B209 {} | |
| message B210 {} | |
| message B211 {} | |
| message B212 {} | |
| message B213 {} | |
| message B214 {} | |
| message B215 {} | |
| message B216 {} | |
| message B217 {} | |
| message B218 {} | |
| message B219 {} | |
| message B220 {} | |
| message B221 {} | |
| message B222 {} | |
| message B223 {} | |
| message B224 {} | |
| message B225 {} | |
| message B226 {} | |
| message B227 {} | |
| message B228 {} | |
| message B229 {} | |
| message B230 {} | |
| message B231 {} | |
| message B232 {} | |
| message B233 {} | |
| message B234 {} | |
| message B235 {} | |
| message B236 {} | |
| message B237 {} | |
| message B238 {} | |
| message B239 {} | |
| message B240 {} | |
| message B241 {} | |
| message B242 {} | |
| message B243 {} | |
| message B244 {} | |
| message B245 {} | |
| message B246 {} | |
| message B247 {} | |
| message B248 {} | |
| message B249 {} | |
| message B250 {} | |
| message B251 {} | |
| message B252 {} | |
| message B253 {} | |
| message B254 {} | |
| message B255 {} | |
| } | |
| message LotsOfMessageFields { | |
| optional LotsOfMessageFields a1 = 1; | |
| optional LotsOfMessageFields a2 = 2; | |
| optional LotsOfMessageFields a3 = 3; | |
| optional LotsOfMessageFields a4 = 4; | |
| optional LotsOfMessageFields a5 = 5; | |
| optional LotsOfMessageFields a6 = 6; | |
| optional LotsOfMessageFields a7 = 7; | |
| optional LotsOfMessageFields a8 = 8; | |
| optional LotsOfMessageFields a9 = 9; | |
| optional LotsOfMessageFields a10 = 10; | |
| optional LotsOfMessageFields a11 = 11; | |
| optional LotsOfMessageFields a12 = 12; | |
| optional LotsOfMessageFields a13 = 13; | |
| optional LotsOfMessageFields a14 = 14; | |
| optional LotsOfMessageFields a15 = 15; | |
| optional LotsOfMessageFields a16 = 16; | |
| optional LotsOfMessageFields a17 = 17; | |
| optional LotsOfMessageFields a18 = 18; | |
| optional LotsOfMessageFields a19 = 19; | |
| optional LotsOfMessageFields a20 = 20; | |
| optional int32 b = 100; | |
| } | |
| message RequiredField { | |
| required int32 id = 1; | |
| } | |
| message RequiredWrapper { | |
| optional RequiredField request = 1; | |
| } | |
| message ConflictJsonName { | |
| optional int32 value = 1 [json_name = "old_value"]; | |
| optional int32 new_value = 2 [json_name = "value"]; | |
| } |