1// Protocol Buffers - Google's data interchange format
2// Copyright 2008 Google Inc.  All rights reserved.
3// https://developers.google.com/protocol-buffers/
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions are
7// met:
8//
9//     * Redistributions of source code must retain the above copyright
10// notice, this list of conditions and the following disclaimer.
11//     * Redistributions in binary form must reproduce the above
12// copyright notice, this list of conditions and the following disclaimer
13// in the documentation and/or other materials provided with the
14// distribution.
15//     * Neither the name of Google Inc. nor the names of its
16// contributors may be used to endorse or promote products derived from
17// this software without specific prior written permission.
18//
19// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31syntax = "proto3";
32
33package protobuf.experimental;
34
35option java_package = "com.google.protobuf.testing";
36option java_outer_classname = "Proto3TestingLite";
37
38message Proto3MessageLite {
39  enum TestEnum {
40    ZERO = 0;
41    ONE = 1;
42    TWO = 2;
43  }
44
45  double field_double_1 = 1;
46  float field_float_2 = 2;
47  int64 field_int64_3 = 3;
48  uint64 field_uint64_4 = 4;
49  int32 field_int32_5 = 5;
50  fixed64 field_fixed64_6 = 6;
51  fixed32 field_fixed32_7 = 7;
52  bool field_bool_8 = 8;
53  string field_string_9 = 9;
54  Proto3MessageLite field_message_10 = 10;
55  bytes field_bytes_11 = 11;
56  uint32 field_uint32_12 = 12;
57  TestEnum field_enum_13 = 13;
58  sfixed32 field_sfixed32_14 = 14;
59  sfixed64 field_sfixed64_15 = 15;
60  sint32 field_sint32_16 = 16;
61  sint64 field_sint64_17 = 17;
62  repeated double field_double_list_18 = 18 [packed = false];
63  repeated float field_float_list_19 = 19 [packed = false];
64  repeated int64 field_int64_list_20 = 20 [packed = false];
65  repeated uint64 field_uint64_list_21 = 21 [packed = false];
66  repeated int32 field_int32_list_22 = 22 [packed = false];
67  repeated fixed64 field_fixed64_list_23 = 23 [packed = false];
68  repeated fixed32 field_fixed32_list_24 = 24 [packed = false];
69  repeated bool field_bool_list_25 = 25 [packed = false];
70  repeated string field_string_list_26 = 26 [packed = false];
71  repeated Proto3MessageLite field_message_list_27 = 27 [packed = false];
72  repeated bytes field_bytes_list_28 = 28 [packed = false];
73  repeated uint32 field_uint32_list_29 = 29 [packed = false];
74  repeated TestEnum field_enum_list_30 = 30 [packed = false];
75  repeated sfixed32 field_sfixed32_list_31 = 31 [packed = false];
76  repeated sfixed64 field_sfixed64_list_32 = 32 [packed = false];
77  repeated sint32 field_sint32_list_33 = 33 [packed = false];
78  repeated sint64 field_sint64_list_34 = 34 [packed = false];
79  repeated double field_double_list_packed_35 = 35 [packed = true];
80  repeated float field_float_list_packed_36 = 36 [packed = true];
81  repeated int64 field_int64_list_packed_37 = 37 [packed = true];
82  repeated uint64 field_uint64_list_packed_38 = 38 [packed = true];
83  repeated int32 field_int32_list_packed_39 = 39 [packed = true];
84  repeated fixed64 field_fixed64_list_packed_40 = 40 [packed = true];
85  repeated fixed32 field_fixed32_list_packed_41 = 41 [packed = true];
86  repeated bool field_bool_list_packed_42 = 42 [packed = true];
87  repeated uint32 field_uint32_list_packed_43 = 43 [packed = true];
88  repeated TestEnum field_enum_list_packed_44 = 44 [packed = true];
89  repeated sfixed32 field_sfixed32_list_packed_45 = 45 [packed = true];
90  repeated sfixed64 field_sfixed64_list_packed_46 = 46 [packed = true];
91  repeated sint32 field_sint32_list_packed_47 = 47 [packed = true];
92  repeated sint64 field_sint64_list_packed_48 = 48 [packed = true];
93  oneof test_oneof {
94    double field_double_53 = 53;
95    float field_float_54 = 54;
96    int64 field_int64_55 = 55;
97    uint64 field_uint64_56 = 56;
98    int32 field_int32_57 = 57;
99    fixed64 field_fixed64_58 = 58;
100    fixed32 field_fixed32_59 = 59;
101    bool field_bool_60 = 60;
102    string field_string_61 = 61;
103    Proto3MessageLite field_message_62 = 62;
104    bytes field_bytes_63 = 63;
105    uint32 field_uint32_64 = 64;
106    sfixed32 field_sfixed32_65 = 65;
107    sfixed64 field_sfixed64_66 = 66;
108    sint32 field_sint32_67 = 67;
109    sint64 field_sint64_68 = 68;
110  }
111}
112
113message Proto3EmptyLite {}
114
115message Proto3MessageLiteWithMaps {
116  map<bool, bool> field_map_bool_bool_1 = 1;
117  map<bool, bytes> field_map_bool_bytes_2 = 2;
118  map<bool, double> field_map_bool_double_3 = 3;
119  map<bool, Proto3MessageLite.TestEnum> field_map_bool_enum_4 = 4;
120  map<bool, fixed32> field_map_bool_fixed32_5 = 5;
121  map<bool, fixed64> field_map_bool_fixed64_6 = 6;
122  map<bool, float> field_map_bool_float_7 = 7;
123  map<bool, int32> field_map_bool_int32_8 = 8;
124  map<bool, int64> field_map_bool_int64_9 = 9;
125  map<bool, Proto3MessageLite> field_map_bool_message_10 = 10;
126  map<bool, sfixed32> field_map_bool_sfixed32_11 = 11;
127  map<bool, sfixed64> field_map_bool_sfixed64_12 = 12;
128  map<bool, sint32> field_map_bool_sint32_13 = 13;
129  map<bool, sint64> field_map_bool_sint64_14 = 14;
130  map<bool, string> field_map_bool_string_15 = 15;
131  map<bool, uint32> field_map_bool_uint32_16 = 16;
132  map<bool, uint64> field_map_bool_uint64_17 = 17;
133  map<fixed32, bool> field_map_fixed32_bool_18 = 18;
134  map<fixed32, bytes> field_map_fixed32_bytes_19 = 19;
135  map<fixed32, double> field_map_fixed32_double_20 = 20;
136  map<fixed32, Proto3MessageLite.TestEnum> field_map_fixed32_enum_21 = 21;
137  map<fixed32, fixed32> field_map_fixed32_fixed32_22 = 22;
138  map<fixed32, fixed64> field_map_fixed32_fixed64_23 = 23;
139  map<fixed32, float> field_map_fixed32_float_24 = 24;
140  map<fixed32, int32> field_map_fixed32_int32_25 = 25;
141  map<fixed32, int64> field_map_fixed32_int64_26 = 26;
142  map<fixed32, Proto3MessageLite> field_map_fixed32_message_27 = 27;
143  map<fixed32, sfixed32> field_map_fixed32_sfixed32_28 = 28;
144  map<fixed32, sfixed64> field_map_fixed32_sfixed64_29 = 29;
145  map<fixed32, sint32> field_map_fixed32_sint32_30 = 30;
146  map<fixed32, sint64> field_map_fixed32_sint64_31 = 31;
147  map<fixed32, string> field_map_fixed32_string_32 = 32;
148  map<fixed32, uint32> field_map_fixed32_uint32_33 = 33;
149  map<fixed32, uint64> field_map_fixed32_uint64_34 = 34;
150  map<fixed64, bool> field_map_fixed64_bool_35 = 35;
151  map<fixed64, bytes> field_map_fixed64_bytes_36 = 36;
152  map<fixed64, double> field_map_fixed64_double_37 = 37;
153  map<fixed64, Proto3MessageLite.TestEnum> field_map_fixed64_enum_38 = 38;
154  map<fixed64, fixed32> field_map_fixed64_fixed32_39 = 39;
155  map<fixed64, fixed64> field_map_fixed64_fixed64_40 = 40;
156  map<fixed64, float> field_map_fixed64_float_41 = 41;
157  map<fixed64, int32> field_map_fixed64_int32_42 = 42;
158  map<fixed64, int64> field_map_fixed64_int64_43 = 43;
159  map<fixed64, Proto3MessageLite> field_map_fixed64_message_44 = 44;
160  map<fixed64, sfixed32> field_map_fixed64_sfixed32_45 = 45;
161  map<fixed64, sfixed64> field_map_fixed64_sfixed64_46 = 46;
162  map<fixed64, sint32> field_map_fixed64_sint32_47 = 47;
163  map<fixed64, sint64> field_map_fixed64_sint64_48 = 48;
164  map<fixed64, string> field_map_fixed64_string_49 = 49;
165  map<fixed64, uint32> field_map_fixed64_uint32_50 = 50;
166  map<fixed64, uint64> field_map_fixed64_uint64_51 = 51;
167  map<int32, bool> field_map_int32_bool_52 = 52;
168  map<int32, bytes> field_map_int32_bytes_53 = 53;
169  map<int32, double> field_map_int32_double_54 = 54;
170  map<int32, Proto3MessageLite.TestEnum> field_map_int32_enum_55 = 55;
171  map<int32, fixed32> field_map_int32_fixed32_56 = 56;
172  map<int32, fixed64> field_map_int32_fixed64_57 = 57;
173  map<int32, float> field_map_int32_float_58 = 58;
174  map<int32, int32> field_map_int32_int32_59 = 59;
175  map<int32, int64> field_map_int32_int64_60 = 60;
176  map<int32, Proto3MessageLite> field_map_int32_message_61 = 61;
177  map<int32, sfixed32> field_map_int32_sfixed32_62 = 62;
178  map<int32, sfixed64> field_map_int32_sfixed64_63 = 63;
179  map<int32, sint32> field_map_int32_sint32_64 = 64;
180  map<int32, sint64> field_map_int32_sint64_65 = 65;
181  map<int32, string> field_map_int32_string_66 = 66;
182  map<int32, uint32> field_map_int32_uint32_67 = 67;
183  map<int32, uint64> field_map_int32_uint64_68 = 68;
184  map<int64, bool> field_map_int64_bool_69 = 69;
185  map<int64, bytes> field_map_int64_bytes_70 = 70;
186  map<int64, double> field_map_int64_double_71 = 71;
187  map<int64, Proto3MessageLite.TestEnum> field_map_int64_enum_72 = 72;
188  map<int64, fixed32> field_map_int64_fixed32_73 = 73;
189  map<int64, fixed64> field_map_int64_fixed64_74 = 74;
190  map<int64, float> field_map_int64_float_75 = 75;
191  map<int64, int32> field_map_int64_int32_76 = 76;
192  map<int64, int64> field_map_int64_int64_77 = 77;
193  map<int64, Proto3MessageLite> field_map_int64_message_78 = 78;
194  map<int64, sfixed32> field_map_int64_sfixed32_79 = 79;
195  map<int64, sfixed64> field_map_int64_sfixed64_80 = 80;
196  map<int64, sint32> field_map_int64_sint32_81 = 81;
197  map<int64, sint64> field_map_int64_sint64_82 = 82;
198  map<int64, string> field_map_int64_string_83 = 83;
199  map<int64, uint32> field_map_int64_uint32_84 = 84;
200  map<int64, uint64> field_map_int64_uint64_85 = 85;
201  map<sfixed32, bool> field_map_sfixed32_bool_86 = 86;
202  map<sfixed32, bytes> field_map_sfixed32_bytes_87 = 87;
203  map<sfixed32, double> field_map_sfixed32_double_88 = 88;
204  map<sfixed32, Proto3MessageLite.TestEnum> field_map_sfixed32_enum_89 = 89;
205  map<sfixed32, fixed32> field_map_sfixed32_fixed32_90 = 90;
206  map<sfixed32, fixed64> field_map_sfixed32_fixed64_91 = 91;
207  map<sfixed32, float> field_map_sfixed32_float_92 = 92;
208  map<sfixed32, int32> field_map_sfixed32_int32_93 = 93;
209  map<sfixed32, int64> field_map_sfixed32_int64_94 = 94;
210  map<sfixed32, Proto3MessageLite> field_map_sfixed32_message_95 = 95;
211  map<sfixed32, sfixed32> field_map_sfixed32_sfixed32_96 = 96;
212  map<sfixed32, sfixed64> field_map_sfixed32_sfixed64_97 = 97;
213  map<sfixed32, sint32> field_map_sfixed32_sint32_98 = 98;
214  map<sfixed32, sint64> field_map_sfixed32_sint64_99 = 99;
215  map<sfixed32, string> field_map_sfixed32_string_100 = 100;
216  map<sfixed32, uint32> field_map_sfixed32_uint32_101 = 101;
217  map<sfixed32, uint64> field_map_sfixed32_uint64_102 = 102;
218  map<sfixed64, bool> field_map_sfixed64_bool_103 = 103;
219  map<sfixed64, bytes> field_map_sfixed64_bytes_104 = 104;
220  map<sfixed64, double> field_map_sfixed64_double_105 = 105;
221  map<sfixed64, Proto3MessageLite.TestEnum> field_map_sfixed64_enum_106 = 106;
222  map<sfixed64, fixed32> field_map_sfixed64_fixed32_107 = 107;
223  map<sfixed64, fixed64> field_map_sfixed64_fixed64_108 = 108;
224  map<sfixed64, float> field_map_sfixed64_float_109 = 109;
225  map<sfixed64, int32> field_map_sfixed64_int32_110 = 110;
226  map<sfixed64, int64> field_map_sfixed64_int64_111 = 111;
227  map<sfixed64, Proto3MessageLite> field_map_sfixed64_message_112 = 112;
228  map<sfixed64, sfixed32> field_map_sfixed64_sfixed32_113 = 113;
229  map<sfixed64, sfixed64> field_map_sfixed64_sfixed64_114 = 114;
230  map<sfixed64, sint32> field_map_sfixed64_sint32_115 = 115;
231  map<sfixed64, sint64> field_map_sfixed64_sint64_116 = 116;
232  map<sfixed64, string> field_map_sfixed64_string_117 = 117;
233  map<sfixed64, uint32> field_map_sfixed64_uint32_118 = 118;
234  map<sfixed64, uint64> field_map_sfixed64_uint64_119 = 119;
235  map<sint32, bool> field_map_sint32_bool_120 = 120;
236  map<sint32, bytes> field_map_sint32_bytes_121 = 121;
237  map<sint32, double> field_map_sint32_double_122 = 122;
238  map<sint32, Proto3MessageLite.TestEnum> field_map_sint32_enum_123 = 123;
239  map<sint32, fixed32> field_map_sint32_fixed32_124 = 124;
240  map<sint32, fixed64> field_map_sint32_fixed64_125 = 125;
241  map<sint32, float> field_map_sint32_float_126 = 126;
242  map<sint32, int32> field_map_sint32_int32_127 = 127;
243  map<sint32, int64> field_map_sint32_int64_128 = 128;
244  map<sint32, Proto3MessageLite> field_map_sint32_message_129 = 129;
245  map<sint32, sfixed32> field_map_sint32_sfixed32_130 = 130;
246  map<sint32, sfixed64> field_map_sint32_sfixed64_131 = 131;
247  map<sint32, sint32> field_map_sint32_sint32_132 = 132;
248  map<sint32, sint64> field_map_sint32_sint64_133 = 133;
249  map<sint32, string> field_map_sint32_string_134 = 134;
250  map<sint32, uint32> field_map_sint32_uint32_135 = 135;
251  map<sint32, uint64> field_map_sint32_uint64_136 = 136;
252  map<sint64, bool> field_map_sint64_bool_137 = 137;
253  map<sint64, bytes> field_map_sint64_bytes_138 = 138;
254  map<sint64, double> field_map_sint64_double_139 = 139;
255  map<sint64, Proto3MessageLite.TestEnum> field_map_sint64_enum_140 = 140;
256  map<sint64, fixed32> field_map_sint64_fixed32_141 = 141;
257  map<sint64, fixed64> field_map_sint64_fixed64_142 = 142;
258  map<sint64, float> field_map_sint64_float_143 = 143;
259  map<sint64, int32> field_map_sint64_int32_144 = 144;
260  map<sint64, int64> field_map_sint64_int64_145 = 145;
261  map<sint64, Proto3MessageLite> field_map_sint64_message_146 = 146;
262  map<sint64, sfixed32> field_map_sint64_sfixed32_147 = 147;
263  map<sint64, sfixed64> field_map_sint64_sfixed64_148 = 148;
264  map<sint64, sint32> field_map_sint64_sint32_149 = 149;
265  map<sint64, sint64> field_map_sint64_sint64_150 = 150;
266  map<sint64, string> field_map_sint64_string_151 = 151;
267  map<sint64, uint32> field_map_sint64_uint32_152 = 152;
268  map<sint64, uint64> field_map_sint64_uint64_153 = 153;
269  map<string, bool> field_map_string_bool_154 = 154;
270  map<string, bytes> field_map_string_bytes_155 = 155;
271  map<string, double> field_map_string_double_156 = 156;
272  map<string, Proto3MessageLite.TestEnum> field_map_string_enum_157 = 157;
273  map<string, fixed32> field_map_string_fixed32_158 = 158;
274  map<string, fixed64> field_map_string_fixed64_159 = 159;
275  map<string, float> field_map_string_float_160 = 160;
276  map<string, int32> field_map_string_int32_161 = 161;
277  map<string, int64> field_map_string_int64_162 = 162;
278  map<string, Proto3MessageLite> field_map_string_message_163 = 163;
279  map<string, sfixed32> field_map_string_sfixed32_164 = 164;
280  map<string, sfixed64> field_map_string_sfixed64_165 = 165;
281  map<string, sint32> field_map_string_sint32_166 = 166;
282  map<string, sint64> field_map_string_sint64_167 = 167;
283  map<string, string> field_map_string_string_168 = 168;
284  map<string, uint32> field_map_string_uint32_169 = 169;
285  map<string, uint64> field_map_string_uint64_170 = 170;
286  map<uint32, bool> field_map_uint32_bool_171 = 171;
287  map<uint32, bytes> field_map_uint32_bytes_172 = 172;
288  map<uint32, double> field_map_uint32_double_173 = 173;
289  map<uint32, Proto3MessageLite.TestEnum> field_map_uint32_enum_174 = 174;
290  map<uint32, fixed32> field_map_uint32_fixed32_175 = 175;
291  map<uint32, fixed64> field_map_uint32_fixed64_176 = 176;
292  map<uint32, float> field_map_uint32_float_177 = 177;
293  map<uint32, int32> field_map_uint32_int32_178 = 178;
294  map<uint32, int64> field_map_uint32_int64_179 = 179;
295  map<uint32, Proto3MessageLite> field_map_uint32_message_180 = 180;
296  map<uint32, sfixed32> field_map_uint32_sfixed32_181 = 181;
297  map<uint32, sfixed64> field_map_uint32_sfixed64_182 = 182;
298  map<uint32, sint32> field_map_uint32_sint32_183 = 183;
299  map<uint32, sint64> field_map_uint32_sint64_184 = 184;
300  map<uint32, string> field_map_uint32_string_185 = 185;
301  map<uint32, uint32> field_map_uint32_uint32_186 = 186;
302  map<uint32, uint64> field_map_uint32_uint64_187 = 187;
303  map<uint64, bool> field_map_uint64_bool_188 = 188;
304  map<uint64, bytes> field_map_uint64_bytes_189 = 189;
305  map<uint64, double> field_map_uint64_double_190 = 190;
306  map<uint64, Proto3MessageLite.TestEnum> field_map_uint64_enum_191 = 191;
307  map<uint64, fixed32> field_map_uint64_fixed32_192 = 192;
308  map<uint64, fixed64> field_map_uint64_fixed64_193 = 193;
309  map<uint64, float> field_map_uint64_float_194 = 194;
310  map<uint64, int32> field_map_uint64_int32_195 = 195;
311  map<uint64, int64> field_map_uint64_int64_196 = 196;
312  map<uint64, Proto3MessageLite> field_map_uint64_message_197 = 197;
313  map<uint64, sfixed32> field_map_uint64_sfixed32_198 = 198;
314  map<uint64, sfixed64> field_map_uint64_sfixed64_199 = 199;
315  map<uint64, sint32> field_map_uint64_sint32_200 = 200;
316  map<uint64, sint64> field_map_uint64_sint64_201 = 201;
317  map<uint64, string> field_map_uint64_string_202 = 202;
318  map<uint64, uint32> field_map_uint64_uint32_203 = 203;
319  map<uint64, uint64> field_map_uint64_uint64_204 = 204;
320}
321