// Protocol Buffers - Google's data interchange format // Copyright 2008 Google Inc. All rights reserved. // https://developers.google.com/protocol-buffers/ // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // 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; 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 TestFullKeyword { optional google.protobuf.internal.OutOfOrderFields field1 = 1; optional google.protobuf.internal.class field2 = 2; } // TODO(jieluo): 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 {} }