1ffe3c632Sopenharmony_ci// Protocol Buffers - Google's data interchange format
2ffe3c632Sopenharmony_ci// Copyright 2011 Google Inc.  All rights reserved.
3ffe3c632Sopenharmony_ci//
4ffe3c632Sopenharmony_ci// Redistribution and use in source and binary forms, with or without
5ffe3c632Sopenharmony_ci// modification, are permitted provided that the following conditions are
6ffe3c632Sopenharmony_ci// met:
7ffe3c632Sopenharmony_ci//
8ffe3c632Sopenharmony_ci//     * Redistributions of source code must retain the above copyright
9ffe3c632Sopenharmony_ci// notice, this list of conditions and the following disclaimer.
10ffe3c632Sopenharmony_ci//     * Redistributions in binary form must reproduce the above
11ffe3c632Sopenharmony_ci// copyright notice, this list of conditions and the following disclaimer
12ffe3c632Sopenharmony_ci// in the documentation and/or other materials provided with the
13ffe3c632Sopenharmony_ci// distribution.
14ffe3c632Sopenharmony_ci//     * Neither the name of Google Inc. nor the names of its
15ffe3c632Sopenharmony_ci// contributors may be used to endorse or promote products derived from
16ffe3c632Sopenharmony_ci// this software without specific prior written permission.
17ffe3c632Sopenharmony_ci//
18ffe3c632Sopenharmony_ci// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19ffe3c632Sopenharmony_ci// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20ffe3c632Sopenharmony_ci// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21ffe3c632Sopenharmony_ci// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22ffe3c632Sopenharmony_ci// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23ffe3c632Sopenharmony_ci// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24ffe3c632Sopenharmony_ci// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25ffe3c632Sopenharmony_ci// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26ffe3c632Sopenharmony_ci// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27ffe3c632Sopenharmony_ci// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28ffe3c632Sopenharmony_ci// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29ffe3c632Sopenharmony_ci
30ffe3c632Sopenharmony_cisyntax = "proto2";
31ffe3c632Sopenharmony_ci
32ffe3c632Sopenharmony_ciimport "google/protobuf/any.proto";
33ffe3c632Sopenharmony_ciimport "google/protobuf/unittest.proto";
34ffe3c632Sopenharmony_ci
35ffe3c632Sopenharmony_cipackage protobuf_unittest;
36ffe3c632Sopenharmony_ci
37ffe3c632Sopenharmony_ci// Used to check that Headerdocs and appledoc work correctly. If these comments
38ffe3c632Sopenharmony_ci// are not handled correctly, Xcode will fail to build the tests.
39ffe3c632Sopenharmony_cimessage TestGeneratedComments {
40ffe3c632Sopenharmony_ci  // This is a string that could contain stuff like
41ffe3c632Sopenharmony_ci  // mime types as image/* or */plain. Maybe twitter usernames
42ffe3c632Sopenharmony_ci  // like @protobuf, @google or @something.
43ffe3c632Sopenharmony_ci  optional string string_field = 1;
44ffe3c632Sopenharmony_ci}
45ffe3c632Sopenharmony_ci
46ffe3c632Sopenharmony_ci// Using the messages in unittest.proto, setup for recursive cases for testing
47ffe3c632Sopenharmony_ci// extensions at various depths.
48ffe3c632Sopenharmony_ciextend TestAllExtensions {
49ffe3c632Sopenharmony_ci  optional TestAllExtensions recursive_extension = 86;
50ffe3c632Sopenharmony_ci}
51ffe3c632Sopenharmony_ci
52ffe3c632Sopenharmony_ci// Recursive message to for testing autocreators at different depths.
53ffe3c632Sopenharmony_cimessage TestRecursiveMessageWithRepeatedField {
54ffe3c632Sopenharmony_ci  optional TestRecursiveMessageWithRepeatedField a = 1;
55ffe3c632Sopenharmony_ci  repeated int32 i = 2;
56ffe3c632Sopenharmony_ci  repeated string str = 3;
57ffe3c632Sopenharmony_ci  map<int32, int32> i_to_i = 4;
58ffe3c632Sopenharmony_ci  map<string, string> str_to_str = 5;
59ffe3c632Sopenharmony_ci}
60ffe3c632Sopenharmony_ci
61ffe3c632Sopenharmony_ci// Message with a few types of maps to cover the different custom flows
62ffe3c632Sopenharmony_ci// in the runtime.
63ffe3c632Sopenharmony_cimessage TestMessageOfMaps {
64ffe3c632Sopenharmony_ci  map<string, string> str_to_str = 1;
65ffe3c632Sopenharmony_ci
66ffe3c632Sopenharmony_ci  map<string, int32> str_to_int = 2;
67ffe3c632Sopenharmony_ci  map<int32, string> int_to_str = 3;
68ffe3c632Sopenharmony_ci  map<int32, int32> int_to_int = 4;
69ffe3c632Sopenharmony_ci
70ffe3c632Sopenharmony_ci  map<string, bool> str_to_bool = 5;
71ffe3c632Sopenharmony_ci  map<bool, string> bool_to_str = 6;
72ffe3c632Sopenharmony_ci  map<bool, bool> bool_to_bool = 7;
73ffe3c632Sopenharmony_ci
74ffe3c632Sopenharmony_ci  map<int32, bool> int_to_bool = 8;
75ffe3c632Sopenharmony_ci  map<bool, int32> bool_to_int = 9;
76ffe3c632Sopenharmony_ci
77ffe3c632Sopenharmony_ci  map<string, TestAllTypes> str_to_msg = 10;
78ffe3c632Sopenharmony_ci  map<int32, TestAllTypes> int_to_msg = 11;
79ffe3c632Sopenharmony_ci  map<bool, TestAllTypes> bool_to_msg = 12;
80ffe3c632Sopenharmony_ci}
81ffe3c632Sopenharmony_ci
82ffe3c632Sopenharmony_ci// Recursive message and extension to for testing autocreators at different
83ffe3c632Sopenharmony_ci// depths.
84ffe3c632Sopenharmony_cimessage TestRecursiveExtension {
85ffe3c632Sopenharmony_ci  optional TestRecursiveExtension recursive_sub_message = 1;
86ffe3c632Sopenharmony_ci  repeated int32 repeated_value = 2;
87ffe3c632Sopenharmony_ci  extensions 1000 to max;
88ffe3c632Sopenharmony_ci}
89ffe3c632Sopenharmony_ci
90ffe3c632Sopenharmony_ciextend TestRecursiveExtension {
91ffe3c632Sopenharmony_ci  optional TestRecursiveExtension recursive_message_extension = 1000;
92ffe3c632Sopenharmony_ci}
93ffe3c632Sopenharmony_ci
94ffe3c632Sopenharmony_cimessage self {
95ffe3c632Sopenharmony_ci  message super {
96ffe3c632Sopenharmony_ci    optional int32 description = 1;
97ffe3c632Sopenharmony_ci  }
98ffe3c632Sopenharmony_ci
99ffe3c632Sopenharmony_ci  enum autorelease {
100ffe3c632Sopenharmony_ci    retain      = 1;
101ffe3c632Sopenharmony_ci    release     = 2;
102ffe3c632Sopenharmony_ci    retainCount = 3;
103ffe3c632Sopenharmony_ci  }
104ffe3c632Sopenharmony_ci
105ffe3c632Sopenharmony_ci  // Singular
106ffe3c632Sopenharmony_ci  // Objective C Keywords
107ffe3c632Sopenharmony_ci  optional bool id                =  1;
108ffe3c632Sopenharmony_ci  optional bool _cmd              =  2;
109ffe3c632Sopenharmony_ci  // super is used as submessage above
110ffe3c632Sopenharmony_ci  optional bool in                =  4;
111ffe3c632Sopenharmony_ci  optional bool out               =  5;
112ffe3c632Sopenharmony_ci  optional bool inout             =  6;
113ffe3c632Sopenharmony_ci  optional bool bycopy            =  7;
114ffe3c632Sopenharmony_ci  optional bool byref             =  8;
115ffe3c632Sopenharmony_ci  optional bool oneway            =  9;
116ffe3c632Sopenharmony_ci  optional bool self              =  10;
117ffe3c632Sopenharmony_ci  optional bool instancetype      =  11;
118ffe3c632Sopenharmony_ci  optional bool nullable          =  12;
119ffe3c632Sopenharmony_ci  optional bool nonnull           =  13;
120ffe3c632Sopenharmony_ci  optional bool nil               =  14;
121ffe3c632Sopenharmony_ci  // Nil and nil can't be in the same message
122ffe3c632Sopenharmony_ci  optional bool YES               =  16;
123ffe3c632Sopenharmony_ci  optional bool NO                =  17;
124ffe3c632Sopenharmony_ci  optional bool weak              =  18;
125ffe3c632Sopenharmony_ci
126ffe3c632Sopenharmony_ci  // Some C/C++ Keywords
127ffe3c632Sopenharmony_ci  optional bool case              = 30;
128ffe3c632Sopenharmony_ci  optional bool if                = 31;
129ffe3c632Sopenharmony_ci  optional bool and_eq            = 32;
130ffe3c632Sopenharmony_ci  optional bool public            = 33;
131ffe3c632Sopenharmony_ci  optional bool private           = 34;
132ffe3c632Sopenharmony_ci  optional bool typename          = 35;
133ffe3c632Sopenharmony_ci  optional bool static_cast       = 36;
134ffe3c632Sopenharmony_ci  optional bool typeof            = 37;
135ffe3c632Sopenharmony_ci  optional bool restrict          = 38;
136ffe3c632Sopenharmony_ci  optional bool NULL              = 39;
137ffe3c632Sopenharmony_ci
138ffe3c632Sopenharmony_ci  // Some NSObject Methods
139ffe3c632Sopenharmony_ci  optional bool dealloc           = 110;
140ffe3c632Sopenharmony_ci  optional bool isProxy           = 111;
141ffe3c632Sopenharmony_ci  optional bool copy              = 112;
142ffe3c632Sopenharmony_ci  optional bool description       = 113;
143ffe3c632Sopenharmony_ci  optional bool zone              = 114;
144ffe3c632Sopenharmony_ci  optional bool className         = 115;
145ffe3c632Sopenharmony_ci  optional bool __retain_OA       = 116;
146ffe3c632Sopenharmony_ci  optional bool CAMLType          = 117;
147ffe3c632Sopenharmony_ci  optional bool isNSDictionary__  = 118;
148ffe3c632Sopenharmony_ci  optional bool accessibilityLabel = 119;
149ffe3c632Sopenharmony_ci
150ffe3c632Sopenharmony_ci  // Some Objc "keywords" that we shouldn't
151ffe3c632Sopenharmony_ci  // have to worry about because they
152ffe3c632Sopenharmony_ci  // can only appear in specialized areas.
153ffe3c632Sopenharmony_ci  optional bool assign            = 200;
154ffe3c632Sopenharmony_ci  optional bool getter            = 201;
155ffe3c632Sopenharmony_ci  optional bool setter            = 202;
156ffe3c632Sopenharmony_ci  optional bool atomic            = 203;
157ffe3c632Sopenharmony_ci  optional bool nonatomic         = 204;
158ffe3c632Sopenharmony_ci  optional bool strong            = 205;
159ffe3c632Sopenharmony_ci  optional bool null_resettable   = 206;
160ffe3c632Sopenharmony_ci  optional bool readonly          = 207;
161ffe3c632Sopenharmony_ci
162ffe3c632Sopenharmony_ci  // Some GPBMessage methods
163ffe3c632Sopenharmony_ci  optional bool clear             = 300;
164ffe3c632Sopenharmony_ci  optional bool data              = 301;
165ffe3c632Sopenharmony_ci  optional bool descriptor        = 302;
166ffe3c632Sopenharmony_ci  optional bool delimitedData     = 303;
167ffe3c632Sopenharmony_ci
168ffe3c632Sopenharmony_ci  // Some MacTypes
169ffe3c632Sopenharmony_ci  optional bool Fixed             = 400;
170ffe3c632Sopenharmony_ci  optional bool Point             = 401;
171ffe3c632Sopenharmony_ci  optional bool FixedPoint        = 402;
172ffe3c632Sopenharmony_ci  optional bool Style             = 403;
173ffe3c632Sopenharmony_ci
174ffe3c632Sopenharmony_ci  // C/C++ reserved identifiers
175ffe3c632Sopenharmony_ci  optional bool _Generic          = 500;
176ffe3c632Sopenharmony_ci  optional bool __block           = 501;
177ffe3c632Sopenharmony_ci
178ffe3c632Sopenharmony_ci  // Try a keyword as a type
179ffe3c632Sopenharmony_ci  optional autorelease SubEnum    = 1000;
180ffe3c632Sopenharmony_ci
181ffe3c632Sopenharmony_ci  optional group New = 2000 {
182ffe3c632Sopenharmony_ci   optional string copy = 1;
183ffe3c632Sopenharmony_ci  }
184ffe3c632Sopenharmony_ci  optional group MutableCopy = 2001 {
185ffe3c632Sopenharmony_ci    optional int32 extensionRegistry = 1;
186ffe3c632Sopenharmony_ci  }
187ffe3c632Sopenharmony_ci
188ffe3c632Sopenharmony_ci  extensions 3000 to 3999;
189ffe3c632Sopenharmony_ci
190ffe3c632Sopenharmony_ci}
191ffe3c632Sopenharmony_ci
192ffe3c632Sopenharmony_cienum retain {
193ffe3c632Sopenharmony_ci  count          = 4;
194ffe3c632Sopenharmony_ci  initialized    = 5;
195ffe3c632Sopenharmony_ci  serializedSize = 6;
196ffe3c632Sopenharmony_ci}
197ffe3c632Sopenharmony_ci
198ffe3c632Sopenharmony_cimessage ObjCPropertyNaming {
199ffe3c632Sopenharmony_ci  // Test that the properties properly get things all caps.
200ffe3c632Sopenharmony_ci  optional string url           = 1;
201ffe3c632Sopenharmony_ci  optional string thumbnail_url = 2;
202ffe3c632Sopenharmony_ci  optional string url_foo       = 3;
203ffe3c632Sopenharmony_ci  optional string some_url_blah = 4;
204ffe3c632Sopenharmony_ci  optional string http          = 5;
205ffe3c632Sopenharmony_ci  optional string https         = 6;
206ffe3c632Sopenharmony_ci  // This one doesn't.
207ffe3c632Sopenharmony_ci  repeated string urls          = 7;
208ffe3c632Sopenharmony_ci}
209ffe3c632Sopenharmony_ci
210ffe3c632Sopenharmony_ci// EnumValueShortName: The short names shouldn't get suffixes/prefixes.
211ffe3c632Sopenharmony_cienum Foo {
212ffe3c632Sopenharmony_ci  SERIALIZED_SIZE = 1;
213ffe3c632Sopenharmony_ci  SIZE            = 2;
214ffe3c632Sopenharmony_ci  OTHER           = 3;
215ffe3c632Sopenharmony_ci}
216ffe3c632Sopenharmony_ci
217ffe3c632Sopenharmony_ci// EnumValueShortName: The enum name gets a prefix.
218ffe3c632Sopenharmony_cienum Category {
219ffe3c632Sopenharmony_ci  RED  = 1;
220ffe3c632Sopenharmony_ci  BLUE = 2;
221ffe3c632Sopenharmony_ci}
222ffe3c632Sopenharmony_ci
223ffe3c632Sopenharmony_ci// EnumValueShortName: Twist case, full name gets PB, but the short names
224ffe3c632Sopenharmony_ci// should still end up correct.
225ffe3c632Sopenharmony_cienum Time {
226ffe3c632Sopenharmony_ci  BASE            = 1;
227ffe3c632Sopenharmony_ci  RECORD          = 2;
228ffe3c632Sopenharmony_ci  SOMETHING_ELSE  = 3;
229ffe3c632Sopenharmony_ci}
230ffe3c632Sopenharmony_ci
231ffe3c632Sopenharmony_ciextend self {
232ffe3c632Sopenharmony_ci  repeated    int32 debugDescription    =  3000 [packed = true];
233ffe3c632Sopenharmony_ci  repeated    int64 finalize            =  3001 [packed = true];
234ffe3c632Sopenharmony_ci  repeated   uint32 hash                =  3002 [packed = true];
235ffe3c632Sopenharmony_ci  repeated   uint64 classForCoder       =  3003 [packed = true];
236ffe3c632Sopenharmony_ci  repeated   sint32 byref               =  3004 [packed = true];
237ffe3c632Sopenharmony_ci}
238ffe3c632Sopenharmony_ci
239ffe3c632Sopenharmony_ci// Test handing of fields that start with init* since Xcode 5's ARC support
240ffe3c632Sopenharmony_ci// doesn't like messages that look like initializers but aren't.
241ffe3c632Sopenharmony_cimessage ObjCInitFoo {
242ffe3c632Sopenharmony_ci  optional string init_val = 11;
243ffe3c632Sopenharmony_ci  optional int32 init_size = 12;
244ffe3c632Sopenharmony_ci  optional self init_self = 13;
245ffe3c632Sopenharmony_ci
246ffe3c632Sopenharmony_ci  repeated string init_vals = 21;
247ffe3c632Sopenharmony_ci  repeated int32 init_sizes = 22;
248ffe3c632Sopenharmony_ci  repeated self init_selfs = 23;
249ffe3c632Sopenharmony_ci}
250ffe3c632Sopenharmony_ci
251ffe3c632Sopenharmony_ci// Test handling of fields that start with retained names.
252ffe3c632Sopenharmony_cimessage ObjCRetainedFoo {
253ffe3c632Sopenharmony_ci  optional string new_val_lower_complex = 11;
254ffe3c632Sopenharmony_ci  optional string new_Val_upper_complex = 12;
255ffe3c632Sopenharmony_ci  optional string newvalue_lower_no_underscore_complex = 13;
256ffe3c632Sopenharmony_ci  optional string newValue_upper_no_underscore_complex = 14;
257ffe3c632Sopenharmony_ci
258ffe3c632Sopenharmony_ci  optional int32 new_val_lower_primitive = 15;
259ffe3c632Sopenharmony_ci  optional int32 new_Val_upper_primitive = 16;
260ffe3c632Sopenharmony_ci  optional int32 newvalue_lower_no_underscore_primitive = 17;
261ffe3c632Sopenharmony_ci  optional int32 newValue_upper_no_underscore_primitive = 18;
262ffe3c632Sopenharmony_ci
263ffe3c632Sopenharmony_ci  optional self new_val_lower_message = 19;
264ffe3c632Sopenharmony_ci  optional self new_Val_upper_message = 20;
265ffe3c632Sopenharmony_ci  optional self newvalue_lower_no_underscore_message = 21;
266ffe3c632Sopenharmony_ci  optional self newValue_upper_no_underscore_message = 22;
267ffe3c632Sopenharmony_ci
268ffe3c632Sopenharmony_ci  optional Foo new_val_lower_enum = 23;
269ffe3c632Sopenharmony_ci  optional Foo new_Val_upper_enum = 24;
270ffe3c632Sopenharmony_ci  optional Foo newvalue_lower_no_underscore_enum = 25;
271ffe3c632Sopenharmony_ci  optional Foo newValue_upper_no_underscore_enum = 26;
272ffe3c632Sopenharmony_ci
273ffe3c632Sopenharmony_ci  repeated string new_val_lower_complex_repeated = 111;
274ffe3c632Sopenharmony_ci  repeated string new_Val_upper_complex_repeated = 112;
275ffe3c632Sopenharmony_ci  repeated string newvalue_lower_no_underscore_complex_repeated = 113;
276ffe3c632Sopenharmony_ci  repeated string newValue_upper_no_underscore_complex_repeated = 114;
277ffe3c632Sopenharmony_ci
278ffe3c632Sopenharmony_ci  repeated int32 new_val_lower_primitive_repeated = 115;
279ffe3c632Sopenharmony_ci  repeated int32 new_Val_upper_primitive_repeated = 116;
280ffe3c632Sopenharmony_ci  repeated int32 newvalue_lower_no_underscore_primitive_repeated = 117;
281ffe3c632Sopenharmony_ci  repeated int32 newValue_upper_no_underscore_primitive_repeated = 118;
282ffe3c632Sopenharmony_ci
283ffe3c632Sopenharmony_ci  repeated self new_val_lower_message_repeated = 119;
284ffe3c632Sopenharmony_ci  repeated self new_Val_upper_message_repeated = 120;
285ffe3c632Sopenharmony_ci  repeated self newvalue_lower_no_underscore_message_repeated = 121;
286ffe3c632Sopenharmony_ci  repeated self newValue_upper_no_underscore_message_repeated = 122;
287ffe3c632Sopenharmony_ci
288ffe3c632Sopenharmony_ci  repeated Foo new_val_lower_enum_repeated = 123;
289ffe3c632Sopenharmony_ci  repeated Foo new_Val_upper_enum_repeated = 124;
290ffe3c632Sopenharmony_ci  repeated Foo newvalue_lower_no_underscore_enum_repeated = 125;
291ffe3c632Sopenharmony_ci  repeated Foo newValue_upper_no_underscore_enum_repeated = 126;
292ffe3c632Sopenharmony_ci
293ffe3c632Sopenharmony_ci  optional string alloc_val_lower_complex = 211;
294ffe3c632Sopenharmony_ci  optional string alloc_Val_upper_complex = 212;
295ffe3c632Sopenharmony_ci  optional string allocvalue_lower_no_underscore_complex = 213;
296ffe3c632Sopenharmony_ci  optional string allocValue_upper_no_underscore_complex = 214;
297ffe3c632Sopenharmony_ci
298ffe3c632Sopenharmony_ci  optional int32 alloc_val_lower_primitive = 215;
299ffe3c632Sopenharmony_ci  optional int32 alloc_Val_upper_primitive = 216;
300ffe3c632Sopenharmony_ci  optional int32 allocvalue_lower_no_underscore_primitive = 217;
301ffe3c632Sopenharmony_ci  optional int32 allocValue_upper_no_underscore_primitive = 218;
302ffe3c632Sopenharmony_ci
303ffe3c632Sopenharmony_ci  optional self alloc_val_lower_message = 219;
304ffe3c632Sopenharmony_ci  optional self alloc_Val_upper_message = 220;
305ffe3c632Sopenharmony_ci  optional self allocvalue_lower_no_underscore_message = 221;
306ffe3c632Sopenharmony_ci  optional self allocValue_upper_no_underscore_message = 222;
307ffe3c632Sopenharmony_ci
308ffe3c632Sopenharmony_ci  optional Foo alloc_val_lower_enum = 223;
309ffe3c632Sopenharmony_ci  optional Foo alloc_Val_upper_enum = 224;
310ffe3c632Sopenharmony_ci  optional Foo allocvalue_lower_no_underscore_enum = 225;
311ffe3c632Sopenharmony_ci  optional Foo allocValue_upper_no_underscore_enum = 226;
312ffe3c632Sopenharmony_ci
313ffe3c632Sopenharmony_ci  repeated string alloc_val_lower_complex_repeated = 311;
314ffe3c632Sopenharmony_ci  repeated string alloc_Val_upper_complex_repeated = 312;
315ffe3c632Sopenharmony_ci  repeated string allocvalue_lower_no_underscore_complex_repeated = 313;
316ffe3c632Sopenharmony_ci  repeated string allocValue_upper_no_underscore_complex_repeated = 314;
317ffe3c632Sopenharmony_ci
318ffe3c632Sopenharmony_ci  repeated int32 alloc_val_lower_primitive_repeated = 315;
319ffe3c632Sopenharmony_ci  repeated int32 alloc_Val_upper_primitive_repeated = 316;
320ffe3c632Sopenharmony_ci  repeated int32 allocvalue_lower_no_underscore_primitive_repeated = 317;
321ffe3c632Sopenharmony_ci  repeated int32 allocValue_upper_no_underscore_primitive_repeated = 318;
322ffe3c632Sopenharmony_ci
323ffe3c632Sopenharmony_ci  repeated self alloc_val_lower_message_repeated = 319;
324ffe3c632Sopenharmony_ci  repeated self alloc_Val_upper_message_repeated = 320;
325ffe3c632Sopenharmony_ci  repeated self allocvalue_lower_no_underscore_message_repeated = 321;
326ffe3c632Sopenharmony_ci  repeated self allocValue_upper_no_underscore_message_repeated = 322;
327ffe3c632Sopenharmony_ci
328ffe3c632Sopenharmony_ci  repeated Foo alloc_val_lower_enum_repeated = 323;
329ffe3c632Sopenharmony_ci  repeated Foo alloc_Val_upper_enum_repeated = 324;
330ffe3c632Sopenharmony_ci  repeated Foo allocvalue_lower_no_underscore_enum_repeated = 325;
331ffe3c632Sopenharmony_ci  repeated Foo allocValue_upper_no_underscore_enum_repeated = 326;
332ffe3c632Sopenharmony_ci
333ffe3c632Sopenharmony_ci  optional string copy_val_lower_complex = 411;
334ffe3c632Sopenharmony_ci  optional string copy_Val_upper_complex = 412;
335ffe3c632Sopenharmony_ci  optional string copyvalue_lower_no_underscore_complex = 413;
336ffe3c632Sopenharmony_ci  optional string copyValue_upper_no_underscore_complex = 414;
337ffe3c632Sopenharmony_ci
338ffe3c632Sopenharmony_ci  optional int32 copy_val_lower_primitive = 415;
339ffe3c632Sopenharmony_ci  optional int32 copy_Val_upper_primitive = 416;
340ffe3c632Sopenharmony_ci  optional int32 copyvalue_lower_no_underscore_primitive = 417;
341ffe3c632Sopenharmony_ci  optional int32 copyValue_upper_no_underscore_primitive = 418;
342ffe3c632Sopenharmony_ci
343ffe3c632Sopenharmony_ci  optional self copy_val_lower_message = 419;
344ffe3c632Sopenharmony_ci  optional self copy_Val_upper_message = 420;
345ffe3c632Sopenharmony_ci  optional self copyvalue_lower_no_underscore_message = 421;
346ffe3c632Sopenharmony_ci  optional self copyValue_upper_no_underscore_message = 422;
347ffe3c632Sopenharmony_ci
348ffe3c632Sopenharmony_ci  optional Foo copy_val_lower_enum = 423;
349ffe3c632Sopenharmony_ci  optional Foo copy_Val_upper_enum = 424;
350ffe3c632Sopenharmony_ci  optional Foo copyvalue_lower_no_underscore_enum = 425;
351ffe3c632Sopenharmony_ci  optional Foo copyValue_upper_no_underscore_enum = 426;
352ffe3c632Sopenharmony_ci
353ffe3c632Sopenharmony_ci  repeated string copy_val_lower_complex_repeated = 511;
354ffe3c632Sopenharmony_ci  repeated string copy_Val_upper_complex_repeated = 512;
355ffe3c632Sopenharmony_ci  repeated string copyvalue_lower_no_underscore_complex_repeated = 513;
356ffe3c632Sopenharmony_ci  repeated string copyValue_upper_no_underscore_complex_repeated = 514;
357ffe3c632Sopenharmony_ci
358ffe3c632Sopenharmony_ci  repeated int32 copy_val_lower_primitive_repeated = 515;
359ffe3c632Sopenharmony_ci  repeated int32 copy_Val_upper_primitive_repeated = 516;
360ffe3c632Sopenharmony_ci  repeated int32 copyvalue_lower_no_underscore_primitive_repeated = 517;
361ffe3c632Sopenharmony_ci  repeated int32 copyValue_upper_no_underscore_primitive_repeated = 518;
362ffe3c632Sopenharmony_ci
363ffe3c632Sopenharmony_ci  repeated self copy_val_lower_message_repeated = 519;
364ffe3c632Sopenharmony_ci  repeated self copy_Val_upper_message_repeated = 520;
365ffe3c632Sopenharmony_ci  repeated self copyvalue_lower_no_underscore_message_repeated = 521;
366ffe3c632Sopenharmony_ci  repeated self copyValue_upper_no_underscore_message_repeated = 522;
367ffe3c632Sopenharmony_ci
368ffe3c632Sopenharmony_ci  repeated Foo copy_val_lower_enum_repeated = 523;
369ffe3c632Sopenharmony_ci  repeated Foo copy_Val_upper_enum_repeated = 524;
370ffe3c632Sopenharmony_ci  repeated Foo copyvalue_lower_no_underscore_enum_repeated = 525;
371ffe3c632Sopenharmony_ci  repeated Foo copyValue_upper_no_underscore_enum_repeated = 526;
372ffe3c632Sopenharmony_ci
373ffe3c632Sopenharmony_ci  optional string mutableCopy_val_lower_complex = 611;
374ffe3c632Sopenharmony_ci  optional string mutableCopy_Val_upper_complex = 612;
375ffe3c632Sopenharmony_ci  optional string mutableCopyvalue_lower_no_underscore_complex = 613;
376ffe3c632Sopenharmony_ci  optional string mutableCopyValue_upper_no_underscore_complex = 614;
377ffe3c632Sopenharmony_ci
378ffe3c632Sopenharmony_ci  optional int32 mutableCopy_val_lower_primitive = 615;
379ffe3c632Sopenharmony_ci  optional int32 mutableCopy_Val_upper_primitive = 616;
380ffe3c632Sopenharmony_ci  optional int32 mutableCopyvalue_lower_no_underscore_primitive = 617;
381ffe3c632Sopenharmony_ci  optional int32 mutableCopyValue_upper_no_underscore_primitive = 618;
382ffe3c632Sopenharmony_ci
383ffe3c632Sopenharmony_ci  optional self mutableCopy_val_lower_message = 619;
384ffe3c632Sopenharmony_ci  optional self mutableCopy_Val_upper_message = 620;
385ffe3c632Sopenharmony_ci  optional self mutableCopyvalue_lower_no_underscore_message = 621;
386ffe3c632Sopenharmony_ci  optional self mutableCopyValue_upper_no_underscore_message = 622;
387ffe3c632Sopenharmony_ci
388ffe3c632Sopenharmony_ci  optional Foo mutableCopy_val_lower_enum = 623;
389ffe3c632Sopenharmony_ci  optional Foo mutableCopy_Val_upper_enum = 624;
390ffe3c632Sopenharmony_ci  optional Foo mutableCopyvalue_lower_no_underscore_enum = 625;
391ffe3c632Sopenharmony_ci  optional Foo mutableCopyValue_upper_no_underscore_enum = 626;
392ffe3c632Sopenharmony_ci
393ffe3c632Sopenharmony_ci  repeated string mutableCopy_val_lower_complex_repeated = 711;
394ffe3c632Sopenharmony_ci  repeated string mutableCopy_Val_upper_complex_repeated = 712;
395ffe3c632Sopenharmony_ci  repeated string mutableCopyvalue_lower_no_underscore_complex_repeated = 713;
396ffe3c632Sopenharmony_ci  repeated string mutableCopyValue_upper_no_underscore_complex_repeated = 714;
397ffe3c632Sopenharmony_ci
398ffe3c632Sopenharmony_ci  repeated int32 mutableCopy_val_lower_primitive_repeated = 715;
399ffe3c632Sopenharmony_ci  repeated int32 mutableCopy_Val_upper_primitive_repeated = 716;
400ffe3c632Sopenharmony_ci  repeated int32 mutableCopyvalue_lower_no_underscore_primitive_repeated = 717;
401ffe3c632Sopenharmony_ci  repeated int32 mutableCopyValue_upper_no_underscore_primitive_repeated = 718;
402ffe3c632Sopenharmony_ci
403ffe3c632Sopenharmony_ci  repeated self mutableCopy_val_lower_message_repeated = 719;
404ffe3c632Sopenharmony_ci  repeated self mutableCopy_Val_upper_message_repeated = 720;
405ffe3c632Sopenharmony_ci  repeated self mutableCopyvalue_lower_no_underscore_message_repeated = 721;
406ffe3c632Sopenharmony_ci  repeated self mutableCopyValue_upper_no_underscore_message_repeated = 722;
407ffe3c632Sopenharmony_ci
408ffe3c632Sopenharmony_ci  repeated Foo mutableCopy_val_lower_enum_repeated = 723;
409ffe3c632Sopenharmony_ci  repeated Foo mutableCopy_Val_upper_enum_repeated = 724;
410ffe3c632Sopenharmony_ci  repeated Foo mutableCopyvalue_lower_no_underscore_enum_repeated = 725;
411ffe3c632Sopenharmony_ci  repeated Foo mutableCopyValue_upper_no_underscore_enum_repeated = 726;
412ffe3c632Sopenharmony_ci
413ffe3c632Sopenharmony_ci  extensions 1000 to 3999;
414ffe3c632Sopenharmony_ci}
415ffe3c632Sopenharmony_ci
416ffe3c632Sopenharmony_ci// Extension fields with retained names.
417ffe3c632Sopenharmony_ciextend ObjCRetainedFoo {
418ffe3c632Sopenharmony_ci  optional string new_val_lower_complex = 1011;
419ffe3c632Sopenharmony_ci  optional string new_Val_upper_complex = 1012;
420ffe3c632Sopenharmony_ci  optional string newvalue_lower_no_underscore_complex = 1013;
421ffe3c632Sopenharmony_ci  optional string newValue_upper_no_underscore_complex = 1014;
422ffe3c632Sopenharmony_ci
423ffe3c632Sopenharmony_ci  optional int32 new_val_lower_primitive = 1015;
424ffe3c632Sopenharmony_ci  optional int32 new_Val_upper_primitive = 1016;
425ffe3c632Sopenharmony_ci  optional int32 newvalue_lower_no_underscore_primitive = 1017;
426ffe3c632Sopenharmony_ci  optional int32 newValue_upper_no_underscore_primitive = 1018;
427ffe3c632Sopenharmony_ci
428ffe3c632Sopenharmony_ci  optional self new_val_lower_message = 1019;
429ffe3c632Sopenharmony_ci  optional self new_Val_upper_message = 1020;
430ffe3c632Sopenharmony_ci  optional self newvalue_lower_no_underscore_message = 1021;
431ffe3c632Sopenharmony_ci  optional self newValue_upper_no_underscore_message = 1022;
432ffe3c632Sopenharmony_ci
433ffe3c632Sopenharmony_ci  optional Foo new_val_lower_enum = 1023;
434ffe3c632Sopenharmony_ci  optional Foo new_Val_upper_enum = 1024;
435ffe3c632Sopenharmony_ci  optional Foo newvalue_lower_no_underscore_enum = 1025;
436ffe3c632Sopenharmony_ci  optional Foo newValue_upper_no_underscore_enum = 1026;
437ffe3c632Sopenharmony_ci
438ffe3c632Sopenharmony_ci  repeated string new_val_lower_complex_repeated = 1111;
439ffe3c632Sopenharmony_ci  repeated string new_Val_upper_complex_repeated = 1112;
440ffe3c632Sopenharmony_ci  repeated string newvalue_lower_no_underscore_complex_repeated = 1113;
441ffe3c632Sopenharmony_ci  repeated string newValue_upper_no_underscore_complex_repeated = 1114;
442ffe3c632Sopenharmony_ci
443ffe3c632Sopenharmony_ci  repeated int32 new_val_lower_primitive_repeated = 1115;
444ffe3c632Sopenharmony_ci  repeated int32 new_Val_upper_primitive_repeated = 1116;
445ffe3c632Sopenharmony_ci  repeated int32 newvalue_lower_no_underscore_primitive_repeated = 1117;
446ffe3c632Sopenharmony_ci  repeated int32 newValue_upper_no_underscore_primitive_repeated = 1118;
447ffe3c632Sopenharmony_ci
448ffe3c632Sopenharmony_ci  repeated self new_val_lower_message_repeated = 1119;
449ffe3c632Sopenharmony_ci  repeated self new_Val_upper_message_repeated = 1120;
450ffe3c632Sopenharmony_ci  repeated self newvalue_lower_no_underscore_message_repeated = 1121;
451ffe3c632Sopenharmony_ci  repeated self newValue_upper_no_underscore_message_repeated = 1122;
452ffe3c632Sopenharmony_ci
453ffe3c632Sopenharmony_ci  repeated Foo new_val_lower_enum_repeated = 1123;
454ffe3c632Sopenharmony_ci  repeated Foo new_Val_upper_enum_repeated = 1124;
455ffe3c632Sopenharmony_ci  repeated Foo newvalue_lower_no_underscore_enum_repeated = 1125;
456ffe3c632Sopenharmony_ci  repeated Foo newValue_upper_no_underscore_enum_repeated = 1126;
457ffe3c632Sopenharmony_ci
458ffe3c632Sopenharmony_ci  optional string alloc_val_lower_complex = 1211;
459ffe3c632Sopenharmony_ci  optional string alloc_Val_upper_complex = 1212;
460ffe3c632Sopenharmony_ci  optional string allocvalue_lower_no_underscore_complex = 1213;
461ffe3c632Sopenharmony_ci  optional string allocValue_upper_no_underscore_complex = 1214;
462ffe3c632Sopenharmony_ci
463ffe3c632Sopenharmony_ci  optional int32 alloc_val_lower_primitive = 1215;
464ffe3c632Sopenharmony_ci  optional int32 alloc_Val_upper_primitive = 1216;
465ffe3c632Sopenharmony_ci  optional int32 allocvalue_lower_no_underscore_primitive = 1217;
466ffe3c632Sopenharmony_ci  optional int32 allocValue_upper_no_underscore_primitive = 1218;
467ffe3c632Sopenharmony_ci
468ffe3c632Sopenharmony_ci  optional self alloc_val_lower_message = 1219;
469ffe3c632Sopenharmony_ci  optional self alloc_Val_upper_message = 1220;
470ffe3c632Sopenharmony_ci  optional self allocvalue_lower_no_underscore_message = 1221;
471ffe3c632Sopenharmony_ci  optional self allocValue_upper_no_underscore_message = 1222;
472ffe3c632Sopenharmony_ci
473ffe3c632Sopenharmony_ci  optional Foo alloc_val_lower_enum = 1223;
474ffe3c632Sopenharmony_ci  optional Foo alloc_Val_upper_enum = 1224;
475ffe3c632Sopenharmony_ci  optional Foo allocvalue_lower_no_underscore_enum = 1225;
476ffe3c632Sopenharmony_ci  optional Foo allocValue_upper_no_underscore_enum = 1226;
477ffe3c632Sopenharmony_ci
478ffe3c632Sopenharmony_ci  repeated string alloc_val_lower_complex_repeated = 1311;
479ffe3c632Sopenharmony_ci  repeated string alloc_Val_upper_complex_repeated = 1312;
480ffe3c632Sopenharmony_ci  repeated string allocvalue_lower_no_underscore_complex_repeated = 1313;
481ffe3c632Sopenharmony_ci  repeated string allocValue_upper_no_underscore_complex_repeated = 1314;
482ffe3c632Sopenharmony_ci
483ffe3c632Sopenharmony_ci  repeated int32 alloc_val_lower_primitive_repeated = 1315;
484ffe3c632Sopenharmony_ci  repeated int32 alloc_Val_upper_primitive_repeated = 1316;
485ffe3c632Sopenharmony_ci  repeated int32 allocvalue_lower_no_underscore_primitive_repeated = 1317;
486ffe3c632Sopenharmony_ci  repeated int32 allocValue_upper_no_underscore_primitive_repeated = 1318;
487ffe3c632Sopenharmony_ci
488ffe3c632Sopenharmony_ci  repeated self alloc_val_lower_message_repeated = 1319;
489ffe3c632Sopenharmony_ci  repeated self alloc_Val_upper_message_repeated = 1320;
490ffe3c632Sopenharmony_ci  repeated self allocvalue_lower_no_underscore_message_repeated = 1321;
491ffe3c632Sopenharmony_ci  repeated self allocValue_upper_no_underscore_message_repeated = 1322;
492ffe3c632Sopenharmony_ci
493ffe3c632Sopenharmony_ci  repeated Foo alloc_val_lower_enum_repeated = 1323;
494ffe3c632Sopenharmony_ci  repeated Foo alloc_Val_upper_enum_repeated = 1324;
495ffe3c632Sopenharmony_ci  repeated Foo allocvalue_lower_no_underscore_enum_repeated = 1325;
496ffe3c632Sopenharmony_ci  repeated Foo allocValue_upper_no_underscore_enum_repeated = 1326;
497ffe3c632Sopenharmony_ci
498ffe3c632Sopenharmony_ci  optional string copy_val_lower_complex = 1411;
499ffe3c632Sopenharmony_ci  optional string copy_Val_upper_complex = 1412;
500ffe3c632Sopenharmony_ci  optional string copyvalue_lower_no_underscore_complex = 1413;
501ffe3c632Sopenharmony_ci  optional string copyValue_upper_no_underscore_complex = 1414;
502ffe3c632Sopenharmony_ci
503ffe3c632Sopenharmony_ci  optional int32 copy_val_lower_primitive = 1415;
504ffe3c632Sopenharmony_ci  optional int32 copy_Val_upper_primitive = 1416;
505ffe3c632Sopenharmony_ci  optional int32 copyvalue_lower_no_underscore_primitive = 1417;
506ffe3c632Sopenharmony_ci  optional int32 copyValue_upper_no_underscore_primitive = 1418;
507ffe3c632Sopenharmony_ci
508ffe3c632Sopenharmony_ci  optional self copy_val_lower_message = 1419;
509ffe3c632Sopenharmony_ci  optional self copy_Val_upper_message = 1420;
510ffe3c632Sopenharmony_ci  optional self copyvalue_lower_no_underscore_message = 1421;
511ffe3c632Sopenharmony_ci  optional self copyValue_upper_no_underscore_message = 1422;
512ffe3c632Sopenharmony_ci
513ffe3c632Sopenharmony_ci  optional Foo copy_val_lower_enum = 1423;
514ffe3c632Sopenharmony_ci  optional Foo copy_Val_upper_enum = 1424;
515ffe3c632Sopenharmony_ci  optional Foo copyvalue_lower_no_underscore_enum = 1425;
516ffe3c632Sopenharmony_ci  optional Foo copyValue_upper_no_underscore_enum = 1426;
517ffe3c632Sopenharmony_ci
518ffe3c632Sopenharmony_ci  repeated string copy_val_lower_complex_repeated = 1511;
519ffe3c632Sopenharmony_ci  repeated string copy_Val_upper_complex_repeated = 1512;
520ffe3c632Sopenharmony_ci  repeated string copyvalue_lower_no_underscore_complex_repeated = 1513;
521ffe3c632Sopenharmony_ci  repeated string copyValue_upper_no_underscore_complex_repeated = 1514;
522ffe3c632Sopenharmony_ci
523ffe3c632Sopenharmony_ci  repeated int32 copy_val_lower_primitive_repeated = 1515;
524ffe3c632Sopenharmony_ci  repeated int32 copy_Val_upper_primitive_repeated = 1516;
525ffe3c632Sopenharmony_ci  repeated int32 copyvalue_lower_no_underscore_primitive_repeated = 1517;
526ffe3c632Sopenharmony_ci  repeated int32 copyValue_upper_no_underscore_primitive_repeated = 1518;
527ffe3c632Sopenharmony_ci
528ffe3c632Sopenharmony_ci  repeated self copy_val_lower_message_repeated = 1519;
529ffe3c632Sopenharmony_ci  repeated self copy_Val_upper_message_repeated = 1520;
530ffe3c632Sopenharmony_ci  repeated self copyvalue_lower_no_underscore_message_repeated = 1521;
531ffe3c632Sopenharmony_ci  repeated self copyValue_upper_no_underscore_message_repeated = 1522;
532ffe3c632Sopenharmony_ci
533ffe3c632Sopenharmony_ci  repeated Foo copy_val_lower_enum_repeated = 1523;
534ffe3c632Sopenharmony_ci  repeated Foo copy_Val_upper_enum_repeated = 1524;
535ffe3c632Sopenharmony_ci  repeated Foo copyvalue_lower_no_underscore_enum_repeated = 1525;
536ffe3c632Sopenharmony_ci  repeated Foo copyValue_upper_no_underscore_enum_repeated = 1526;
537ffe3c632Sopenharmony_ci
538ffe3c632Sopenharmony_ci  optional string mutableCopy_val_lower_complex = 1611;
539ffe3c632Sopenharmony_ci  optional string mutableCopy_Val_upper_complex = 1612;
540ffe3c632Sopenharmony_ci  optional string mutableCopyvalue_lower_no_underscore_complex = 1613;
541ffe3c632Sopenharmony_ci  optional string mutableCopyValue_upper_no_underscore_complex = 1614;
542ffe3c632Sopenharmony_ci
543ffe3c632Sopenharmony_ci  optional int32 mutableCopy_val_lower_primitive = 1615;
544ffe3c632Sopenharmony_ci  optional int32 mutableCopy_Val_upper_primitive = 1616;
545ffe3c632Sopenharmony_ci  optional int32 mutableCopyvalue_lower_no_underscore_primitive = 1617;
546ffe3c632Sopenharmony_ci  optional int32 mutableCopyValue_upper_no_underscore_primitive = 1618;
547ffe3c632Sopenharmony_ci
548ffe3c632Sopenharmony_ci  optional self mutableCopy_val_lower_message = 1619;
549ffe3c632Sopenharmony_ci  optional self mutableCopy_Val_upper_message = 1620;
550ffe3c632Sopenharmony_ci  optional self mutableCopyvalue_lower_no_underscore_message = 1621;
551ffe3c632Sopenharmony_ci  optional self mutableCopyValue_upper_no_underscore_message = 1622;
552ffe3c632Sopenharmony_ci
553ffe3c632Sopenharmony_ci  optional Foo mutableCopy_val_lower_enum = 1623;
554ffe3c632Sopenharmony_ci  optional Foo mutableCopy_Val_upper_enum = 1624;
555ffe3c632Sopenharmony_ci  optional Foo mutableCopyvalue_lower_no_underscore_enum = 1625;
556ffe3c632Sopenharmony_ci  optional Foo mutableCopyValue_upper_no_underscore_enum = 1626;
557ffe3c632Sopenharmony_ci
558ffe3c632Sopenharmony_ci  repeated string mutableCopy_val_lower_complex_repeated = 1711;
559ffe3c632Sopenharmony_ci  repeated string mutableCopy_Val_upper_complex_repeated = 1712;
560ffe3c632Sopenharmony_ci  repeated string mutableCopyvalue_lower_no_underscore_complex_repeated = 1713;
561ffe3c632Sopenharmony_ci  repeated string mutableCopyValue_upper_no_underscore_complex_repeated = 1714;
562ffe3c632Sopenharmony_ci
563ffe3c632Sopenharmony_ci  repeated int32 mutableCopy_val_lower_primitive_repeated = 1715;
564ffe3c632Sopenharmony_ci  repeated int32 mutableCopy_Val_upper_primitive_repeated = 1716;
565ffe3c632Sopenharmony_ci  repeated int32 mutableCopyvalue_lower_no_underscore_primitive_repeated = 1717;
566ffe3c632Sopenharmony_ci  repeated int32 mutableCopyValue_upper_no_underscore_primitive_repeated = 1718;
567ffe3c632Sopenharmony_ci
568ffe3c632Sopenharmony_ci  repeated self mutableCopy_val_lower_message_repeated = 1719;
569ffe3c632Sopenharmony_ci  repeated self mutableCopy_Val_upper_message_repeated = 1720;
570ffe3c632Sopenharmony_ci  repeated self mutableCopyvalue_lower_no_underscore_message_repeated = 1721;
571ffe3c632Sopenharmony_ci  repeated self mutableCopyValue_upper_no_underscore_message_repeated = 1722;
572ffe3c632Sopenharmony_ci
573ffe3c632Sopenharmony_ci  repeated Foo mutableCopy_val_lower_enum_repeated = 1723;
574ffe3c632Sopenharmony_ci  repeated Foo mutableCopy_Val_upper_enum_repeated = 1724;
575ffe3c632Sopenharmony_ci  repeated Foo mutableCopyvalue_lower_no_underscore_enum_repeated = 1725;
576ffe3c632Sopenharmony_ci  repeated Foo mutableCopyValue_upper_no_underscore_enum_repeated = 1726;
577ffe3c632Sopenharmony_ci}
578ffe3c632Sopenharmony_ci
579ffe3c632Sopenharmony_cimessage JustToScopeExtensions {
580ffe3c632Sopenharmony_ci  extend ObjCRetainedFoo {
581ffe3c632Sopenharmony_ci    optional string new_val_lower_complex = 2011;
582ffe3c632Sopenharmony_ci    optional string new_Val_upper_complex = 2012;
583ffe3c632Sopenharmony_ci    optional string newvalue_lower_no_underscore_complex = 2013;
584ffe3c632Sopenharmony_ci    optional string newValue_upper_no_underscore_complex = 2014;
585ffe3c632Sopenharmony_ci
586ffe3c632Sopenharmony_ci    optional int32 new_val_lower_primitive = 2015;
587ffe3c632Sopenharmony_ci    optional int32 new_Val_upper_primitive = 2016;
588ffe3c632Sopenharmony_ci    optional int32 newvalue_lower_no_underscore_primitive = 2017;
589ffe3c632Sopenharmony_ci    optional int32 newValue_upper_no_underscore_primitive = 2018;
590ffe3c632Sopenharmony_ci
591ffe3c632Sopenharmony_ci    optional self new_val_lower_message = 2019;
592ffe3c632Sopenharmony_ci    optional self new_Val_upper_message = 2020;
593ffe3c632Sopenharmony_ci    optional self newvalue_lower_no_underscore_message = 2021;
594ffe3c632Sopenharmony_ci    optional self newValue_upper_no_underscore_message = 2022;
595ffe3c632Sopenharmony_ci
596ffe3c632Sopenharmony_ci    optional Foo new_val_lower_enum = 2023;
597ffe3c632Sopenharmony_ci    optional Foo new_Val_upper_enum = 2024;
598ffe3c632Sopenharmony_ci    optional Foo newvalue_lower_no_underscore_enum = 2025;
599ffe3c632Sopenharmony_ci    optional Foo newValue_upper_no_underscore_enum = 2026;
600ffe3c632Sopenharmony_ci
601ffe3c632Sopenharmony_ci    repeated string new_val_lower_complex_repeated = 2111;
602ffe3c632Sopenharmony_ci    repeated string new_Val_upper_complex_repeated = 2112;
603ffe3c632Sopenharmony_ci    repeated string newvalue_lower_no_underscore_complex_repeated = 2113;
604ffe3c632Sopenharmony_ci    repeated string newValue_upper_no_underscore_complex_repeated = 2114;
605ffe3c632Sopenharmony_ci
606ffe3c632Sopenharmony_ci    repeated int32 new_val_lower_primitive_repeated = 2115;
607ffe3c632Sopenharmony_ci    repeated int32 new_Val_upper_primitive_repeated = 2116;
608ffe3c632Sopenharmony_ci    repeated int32 newvalue_lower_no_underscore_primitive_repeated = 2117;
609ffe3c632Sopenharmony_ci    repeated int32 newValue_upper_no_underscore_primitive_repeated = 2118;
610ffe3c632Sopenharmony_ci
611ffe3c632Sopenharmony_ci    repeated self new_val_lower_message_repeated = 2119;
612ffe3c632Sopenharmony_ci    repeated self new_Val_upper_message_repeated = 2120;
613ffe3c632Sopenharmony_ci    repeated self newvalue_lower_no_underscore_message_repeated = 2121;
614ffe3c632Sopenharmony_ci    repeated self newValue_upper_no_underscore_message_repeated = 2122;
615ffe3c632Sopenharmony_ci
616ffe3c632Sopenharmony_ci    repeated Foo new_val_lower_enum_repeated = 2123;
617ffe3c632Sopenharmony_ci    repeated Foo new_Val_upper_enum_repeated = 2124;
618ffe3c632Sopenharmony_ci    repeated Foo newvalue_lower_no_underscore_enum_repeated = 2125;
619ffe3c632Sopenharmony_ci    repeated Foo newValue_upper_no_underscore_enum_repeated = 2126;
620ffe3c632Sopenharmony_ci
621ffe3c632Sopenharmony_ci    optional string alloc_val_lower_complex = 2211;
622ffe3c632Sopenharmony_ci    optional string alloc_Val_upper_complex = 2212;
623ffe3c632Sopenharmony_ci    optional string allocvalue_lower_no_underscore_complex = 2213;
624ffe3c632Sopenharmony_ci    optional string allocValue_upper_no_underscore_complex = 2214;
625ffe3c632Sopenharmony_ci
626ffe3c632Sopenharmony_ci    optional int32 alloc_val_lower_primitive = 2215;
627ffe3c632Sopenharmony_ci    optional int32 alloc_Val_upper_primitive = 2216;
628ffe3c632Sopenharmony_ci    optional int32 allocvalue_lower_no_underscore_primitive = 2217;
629ffe3c632Sopenharmony_ci    optional int32 allocValue_upper_no_underscore_primitive = 2218;
630ffe3c632Sopenharmony_ci
631ffe3c632Sopenharmony_ci    optional self alloc_val_lower_message = 2219;
632ffe3c632Sopenharmony_ci    optional self alloc_Val_upper_message = 2220;
633ffe3c632Sopenharmony_ci    optional self allocvalue_lower_no_underscore_message = 2221;
634ffe3c632Sopenharmony_ci    optional self allocValue_upper_no_underscore_message = 2222;
635ffe3c632Sopenharmony_ci
636ffe3c632Sopenharmony_ci    optional Foo alloc_val_lower_enum = 2223;
637ffe3c632Sopenharmony_ci    optional Foo alloc_Val_upper_enum = 2224;
638ffe3c632Sopenharmony_ci    optional Foo allocvalue_lower_no_underscore_enum = 2225;
639ffe3c632Sopenharmony_ci    optional Foo allocValue_upper_no_underscore_enum = 2226;
640ffe3c632Sopenharmony_ci
641ffe3c632Sopenharmony_ci    repeated string alloc_val_lower_complex_repeated = 2311;
642ffe3c632Sopenharmony_ci    repeated string alloc_Val_upper_complex_repeated = 2312;
643ffe3c632Sopenharmony_ci    repeated string allocvalue_lower_no_underscore_complex_repeated = 2313;
644ffe3c632Sopenharmony_ci    repeated string allocValue_upper_no_underscore_complex_repeated = 2314;
645ffe3c632Sopenharmony_ci
646ffe3c632Sopenharmony_ci    repeated int32 alloc_val_lower_primitive_repeated = 2315;
647ffe3c632Sopenharmony_ci    repeated int32 alloc_Val_upper_primitive_repeated = 2316;
648ffe3c632Sopenharmony_ci    repeated int32 allocvalue_lower_no_underscore_primitive_repeated = 2317;
649ffe3c632Sopenharmony_ci    repeated int32 allocValue_upper_no_underscore_primitive_repeated = 2318;
650ffe3c632Sopenharmony_ci
651ffe3c632Sopenharmony_ci    repeated self alloc_val_lower_message_repeated = 2319;
652ffe3c632Sopenharmony_ci    repeated self alloc_Val_upper_message_repeated = 2320;
653ffe3c632Sopenharmony_ci    repeated self allocvalue_lower_no_underscore_message_repeated = 2321;
654ffe3c632Sopenharmony_ci    repeated self allocValue_upper_no_underscore_message_repeated = 2322;
655ffe3c632Sopenharmony_ci
656ffe3c632Sopenharmony_ci    repeated Foo alloc_val_lower_enum_repeated = 2323;
657ffe3c632Sopenharmony_ci    repeated Foo alloc_Val_upper_enum_repeated = 2324;
658ffe3c632Sopenharmony_ci    repeated Foo allocvalue_lower_no_underscore_enum_repeated = 2325;
659ffe3c632Sopenharmony_ci    repeated Foo allocValue_upper_no_underscore_enum_repeated = 2326;
660ffe3c632Sopenharmony_ci
661ffe3c632Sopenharmony_ci    optional string copy_val_lower_complex = 2411;
662ffe3c632Sopenharmony_ci    optional string copy_Val_upper_complex = 2412;
663ffe3c632Sopenharmony_ci    optional string copyvalue_lower_no_underscore_complex = 2413;
664ffe3c632Sopenharmony_ci    optional string copyValue_upper_no_underscore_complex = 2414;
665ffe3c632Sopenharmony_ci
666ffe3c632Sopenharmony_ci    optional int32 copy_val_lower_primitive = 2415;
667ffe3c632Sopenharmony_ci    optional int32 copy_Val_upper_primitive = 2416;
668ffe3c632Sopenharmony_ci    optional int32 copyvalue_lower_no_underscore_primitive = 2417;
669ffe3c632Sopenharmony_ci    optional int32 copyValue_upper_no_underscore_primitive = 2418;
670ffe3c632Sopenharmony_ci
671ffe3c632Sopenharmony_ci    optional self copy_val_lower_message = 2419;
672ffe3c632Sopenharmony_ci    optional self copy_Val_upper_message = 2420;
673ffe3c632Sopenharmony_ci    optional self copyvalue_lower_no_underscore_message = 2421;
674ffe3c632Sopenharmony_ci    optional self copyValue_upper_no_underscore_message = 2422;
675ffe3c632Sopenharmony_ci
676ffe3c632Sopenharmony_ci    optional Foo copy_val_lower_enum = 2423;
677ffe3c632Sopenharmony_ci    optional Foo copy_Val_upper_enum = 2424;
678ffe3c632Sopenharmony_ci    optional Foo copyvalue_lower_no_underscore_enum = 2425;
679ffe3c632Sopenharmony_ci    optional Foo copyValue_upper_no_underscore_enum = 2426;
680ffe3c632Sopenharmony_ci
681ffe3c632Sopenharmony_ci    repeated string copy_val_lower_complex_repeated = 2511;
682ffe3c632Sopenharmony_ci    repeated string copy_Val_upper_complex_repeated = 2512;
683ffe3c632Sopenharmony_ci    repeated string copyvalue_lower_no_underscore_complex_repeated = 2513;
684ffe3c632Sopenharmony_ci    repeated string copyValue_upper_no_underscore_complex_repeated = 2514;
685ffe3c632Sopenharmony_ci
686ffe3c632Sopenharmony_ci    repeated int32 copy_val_lower_primitive_repeated = 2515;
687ffe3c632Sopenharmony_ci    repeated int32 copy_Val_upper_primitive_repeated = 2516;
688ffe3c632Sopenharmony_ci    repeated int32 copyvalue_lower_no_underscore_primitive_repeated = 2517;
689ffe3c632Sopenharmony_ci    repeated int32 copyValue_upper_no_underscore_primitive_repeated = 2518;
690ffe3c632Sopenharmony_ci
691ffe3c632Sopenharmony_ci    repeated self copy_val_lower_message_repeated = 2519;
692ffe3c632Sopenharmony_ci    repeated self copy_Val_upper_message_repeated = 2520;
693ffe3c632Sopenharmony_ci    repeated self copyvalue_lower_no_underscore_message_repeated = 2521;
694ffe3c632Sopenharmony_ci    repeated self copyValue_upper_no_underscore_message_repeated = 2522;
695ffe3c632Sopenharmony_ci
696ffe3c632Sopenharmony_ci    repeated Foo copy_val_lower_enum_repeated = 2523;
697ffe3c632Sopenharmony_ci    repeated Foo copy_Val_upper_enum_repeated = 2524;
698ffe3c632Sopenharmony_ci    repeated Foo copyvalue_lower_no_underscore_enum_repeated = 2525;
699ffe3c632Sopenharmony_ci    repeated Foo copyValue_upper_no_underscore_enum_repeated = 2526;
700ffe3c632Sopenharmony_ci
701ffe3c632Sopenharmony_ci    optional string mutableCopy_val_lower_complex = 2611;
702ffe3c632Sopenharmony_ci    optional string mutableCopy_Val_upper_complex = 2612;
703ffe3c632Sopenharmony_ci    optional string mutableCopyvalue_lower_no_underscore_complex = 2613;
704ffe3c632Sopenharmony_ci    optional string mutableCopyValue_upper_no_underscore_complex = 2614;
705ffe3c632Sopenharmony_ci
706ffe3c632Sopenharmony_ci    optional int32 mutableCopy_val_lower_primitive = 2615;
707ffe3c632Sopenharmony_ci    optional int32 mutableCopy_Val_upper_primitive = 2616;
708ffe3c632Sopenharmony_ci    optional int32 mutableCopyvalue_lower_no_underscore_primitive = 2617;
709ffe3c632Sopenharmony_ci    optional int32 mutableCopyValue_upper_no_underscore_primitive = 2618;
710ffe3c632Sopenharmony_ci
711ffe3c632Sopenharmony_ci    optional self mutableCopy_val_lower_message = 2619;
712ffe3c632Sopenharmony_ci    optional self mutableCopy_Val_upper_message = 2620;
713ffe3c632Sopenharmony_ci    optional self mutableCopyvalue_lower_no_underscore_message = 2621;
714ffe3c632Sopenharmony_ci    optional self mutableCopyValue_upper_no_underscore_message = 2622;
715ffe3c632Sopenharmony_ci
716ffe3c632Sopenharmony_ci    optional Foo mutableCopy_val_lower_enum = 2623;
717ffe3c632Sopenharmony_ci    optional Foo mutableCopy_Val_upper_enum = 2624;
718ffe3c632Sopenharmony_ci    optional Foo mutableCopyvalue_lower_no_underscore_enum = 2625;
719ffe3c632Sopenharmony_ci    optional Foo mutableCopyValue_upper_no_underscore_enum = 2626;
720ffe3c632Sopenharmony_ci
721ffe3c632Sopenharmony_ci    repeated string mutableCopy_val_lower_complex_repeated = 2711;
722ffe3c632Sopenharmony_ci    repeated string mutableCopy_Val_upper_complex_repeated = 2712;
723ffe3c632Sopenharmony_ci    repeated string mutableCopyvalue_lower_no_underscore_complex_repeated = 2713;
724ffe3c632Sopenharmony_ci    repeated string mutableCopyValue_upper_no_underscore_complex_repeated = 2714;
725ffe3c632Sopenharmony_ci
726ffe3c632Sopenharmony_ci    repeated int32 mutableCopy_val_lower_primitive_repeated = 2715;
727ffe3c632Sopenharmony_ci    repeated int32 mutableCopy_Val_upper_primitive_repeated = 2716;
728ffe3c632Sopenharmony_ci    repeated int32 mutableCopyvalue_lower_no_underscore_primitive_repeated = 2717;
729ffe3c632Sopenharmony_ci    repeated int32 mutableCopyValue_upper_no_underscore_primitive_repeated = 2718;
730ffe3c632Sopenharmony_ci
731ffe3c632Sopenharmony_ci    repeated self mutableCopy_val_lower_message_repeated = 2719;
732ffe3c632Sopenharmony_ci    repeated self mutableCopy_Val_upper_message_repeated = 2720;
733ffe3c632Sopenharmony_ci    repeated self mutableCopyvalue_lower_no_underscore_message_repeated = 2721;
734ffe3c632Sopenharmony_ci    repeated self mutableCopyValue_upper_no_underscore_message_repeated = 2722;
735ffe3c632Sopenharmony_ci
736ffe3c632Sopenharmony_ci    repeated Foo mutableCopy_val_lower_enum_repeated = 2723;
737ffe3c632Sopenharmony_ci    repeated Foo mutableCopy_Val_upper_enum_repeated = 2724;
738ffe3c632Sopenharmony_ci    repeated Foo mutableCopyvalue_lower_no_underscore_enum_repeated = 2725;
739ffe3c632Sopenharmony_ci    repeated Foo mutableCopyValue_upper_no_underscore_enum_repeated = 2726;
740ffe3c632Sopenharmony_ci  }
741ffe3c632Sopenharmony_ci}
742ffe3c632Sopenharmony_ci
743ffe3c632Sopenharmony_ci// Test handling of fields that are the retained names.
744ffe3c632Sopenharmony_cimessage ObjCRetainedComplex {
745ffe3c632Sopenharmony_ci  optional string new = 1;
746ffe3c632Sopenharmony_ci  optional string alloc = 2;
747ffe3c632Sopenharmony_ci  optional string copy = 3;
748ffe3c632Sopenharmony_ci  optional string mutableCopy = 4;
749ffe3c632Sopenharmony_ci}
750ffe3c632Sopenharmony_ci
751ffe3c632Sopenharmony_cimessage ObjCRetainedComplexRepeated {
752ffe3c632Sopenharmony_ci  repeated string new = 1;
753ffe3c632Sopenharmony_ci  repeated string alloc = 2;
754ffe3c632Sopenharmony_ci  repeated string copy = 3;
755ffe3c632Sopenharmony_ci  repeated string mutableCopy = 4;
756ffe3c632Sopenharmony_ci}
757ffe3c632Sopenharmony_ci
758ffe3c632Sopenharmony_cimessage ObjCRetainedPrimitive {
759ffe3c632Sopenharmony_ci  optional int32 new = 1;
760ffe3c632Sopenharmony_ci  optional int32 alloc = 2;
761ffe3c632Sopenharmony_ci  optional int32 copy = 3;
762ffe3c632Sopenharmony_ci  optional int32 mutableCopy = 4;
763ffe3c632Sopenharmony_ci}
764ffe3c632Sopenharmony_ci
765ffe3c632Sopenharmony_cimessage ObjCRetainedPrimitiveRepeated {
766ffe3c632Sopenharmony_ci  repeated int32 new = 1;
767ffe3c632Sopenharmony_ci  repeated int32 alloc = 2;
768ffe3c632Sopenharmony_ci  repeated int32 copy = 3;
769ffe3c632Sopenharmony_ci  repeated int32 mutableCopy = 4;
770ffe3c632Sopenharmony_ci}
771ffe3c632Sopenharmony_ci
772ffe3c632Sopenharmony_cimessage ObjCRetainedMessage {
773ffe3c632Sopenharmony_ci  optional self new = 1;
774ffe3c632Sopenharmony_ci  optional self alloc = 2;
775ffe3c632Sopenharmony_ci  optional self copy = 3;
776ffe3c632Sopenharmony_ci  optional self mutableCopy = 4;
777ffe3c632Sopenharmony_ci}
778ffe3c632Sopenharmony_ci
779ffe3c632Sopenharmony_cimessage ObjCRetainedMessageRepeated {
780ffe3c632Sopenharmony_ci  repeated self new = 1;
781ffe3c632Sopenharmony_ci  repeated self alloc = 2;
782ffe3c632Sopenharmony_ci  repeated self copy = 3;
783ffe3c632Sopenharmony_ci  repeated self mutableCopy = 4;
784ffe3c632Sopenharmony_ci}
785ffe3c632Sopenharmony_ci
786ffe3c632Sopenharmony_ci// Test Handling some MacTypes
787ffe3c632Sopenharmony_cimessage Point {
788ffe3c632Sopenharmony_ci  message Rect {
789ffe3c632Sopenharmony_ci    optional int32 TimeValue = 1;
790ffe3c632Sopenharmony_ci  }
791ffe3c632Sopenharmony_ci}
792ffe3c632Sopenharmony_ci
793ffe3c632Sopenharmony_ci// Test some weird defaults that we see in protos.
794ffe3c632Sopenharmony_cimessage ObjcWeirdDefaults {
795ffe3c632Sopenharmony_ci  // Set default values that match the protocol buffer defined defaults to
796ffe3c632Sopenharmony_ci  // confirm hasDefault and the default values are set correctly.
797ffe3c632Sopenharmony_ci  optional string foo = 1 [default = ""];
798ffe3c632Sopenharmony_ci  optional bytes bar = 2 [default = ""];
799ffe3c632Sopenharmony_ci}
800ffe3c632Sopenharmony_ci
801ffe3c632Sopenharmony_ci// Used to confirm negative enum values work as expected.
802ffe3c632Sopenharmony_cimessage EnumTestMsg {
803ffe3c632Sopenharmony_ci  enum MyEnum {
804ffe3c632Sopenharmony_ci    ZERO    = 0;
805ffe3c632Sopenharmony_ci    ONE     = 1;
806ffe3c632Sopenharmony_ci    TWO     = 2;
807ffe3c632Sopenharmony_ci    NEG_ONE = -1;
808ffe3c632Sopenharmony_ci    NEG_TWO = -2;
809ffe3c632Sopenharmony_ci  }
810ffe3c632Sopenharmony_ci  optional MyEnum foo = 1;
811ffe3c632Sopenharmony_ci  optional MyEnum bar = 2 [default = ONE];
812ffe3c632Sopenharmony_ci  optional MyEnum baz = 3 [default = NEG_ONE];
813ffe3c632Sopenharmony_ci
814ffe3c632Sopenharmony_ci  repeated MyEnum mumble = 4;
815ffe3c632Sopenharmony_ci}
816ffe3c632Sopenharmony_ci
817ffe3c632Sopenharmony_ci// Test case for https://github.com/protocolbuffers/protobuf/issues/1453
818ffe3c632Sopenharmony_ci// Message with no explicit defaults, but a non zero default for an enum.
819ffe3c632Sopenharmony_cimessage MessageWithOneBasedEnum {
820ffe3c632Sopenharmony_ci  enum OneBasedEnum {
821ffe3c632Sopenharmony_ci    ONE = 1;
822ffe3c632Sopenharmony_ci    TWO = 2;
823ffe3c632Sopenharmony_ci  }
824ffe3c632Sopenharmony_ci  optional OneBasedEnum enum_field = 1;
825ffe3c632Sopenharmony_ci}
826ffe3c632Sopenharmony_ci
827ffe3c632Sopenharmony_ci// Message with all bools for testing things related to bool storage.
828ffe3c632Sopenharmony_cimessage BoolOnlyMessage {
829ffe3c632Sopenharmony_ci  optional bool bool_field_1 = 1;
830ffe3c632Sopenharmony_ci  optional bool bool_field_2 = 2;
831ffe3c632Sopenharmony_ci  optional bool bool_field_3 = 3;
832ffe3c632Sopenharmony_ci  optional bool bool_field_4 = 4;
833ffe3c632Sopenharmony_ci  optional bool bool_field_5 = 5;
834ffe3c632Sopenharmony_ci  optional bool bool_field_6 = 6;
835ffe3c632Sopenharmony_ci  optional bool bool_field_7 = 7;
836ffe3c632Sopenharmony_ci  optional bool bool_field_8 = 8;
837ffe3c632Sopenharmony_ci  optional bool bool_field_9 = 9;
838ffe3c632Sopenharmony_ci  optional bool bool_field_10 = 10;
839ffe3c632Sopenharmony_ci  optional bool bool_field_11 = 11;
840ffe3c632Sopenharmony_ci  optional bool bool_field_12 = 12;
841ffe3c632Sopenharmony_ci  optional bool bool_field_13 = 13;
842ffe3c632Sopenharmony_ci  optional bool bool_field_14 = 14;
843ffe3c632Sopenharmony_ci  optional bool bool_field_15 = 15;
844ffe3c632Sopenharmony_ci  optional bool bool_field_16 = 16;
845ffe3c632Sopenharmony_ci  optional bool bool_field_17 = 17;
846ffe3c632Sopenharmony_ci  optional bool bool_field_18 = 18;
847ffe3c632Sopenharmony_ci  optional bool bool_field_19 = 19;
848ffe3c632Sopenharmony_ci  optional bool bool_field_20 = 20;
849ffe3c632Sopenharmony_ci  optional bool bool_field_21 = 21;
850ffe3c632Sopenharmony_ci  optional bool bool_field_22 = 22;
851ffe3c632Sopenharmony_ci  optional bool bool_field_23 = 23;
852ffe3c632Sopenharmony_ci  optional bool bool_field_24 = 24;
853ffe3c632Sopenharmony_ci  optional bool bool_field_25 = 25;
854ffe3c632Sopenharmony_ci  optional bool bool_field_26 = 26;
855ffe3c632Sopenharmony_ci  optional bool bool_field_27 = 27;
856ffe3c632Sopenharmony_ci  optional bool bool_field_28 = 28;
857ffe3c632Sopenharmony_ci  optional bool bool_field_29 = 29;
858ffe3c632Sopenharmony_ci  optional bool bool_field_30 = 30;
859ffe3c632Sopenharmony_ci  optional bool bool_field_31 = 31;
860ffe3c632Sopenharmony_ci  optional bool bool_field_32 = 32;
861ffe3c632Sopenharmony_ci}
862ffe3c632Sopenharmony_ci
863ffe3c632Sopenharmony_ci// Reference to a WKT to test (via generated code inspection), the handling
864ffe3c632Sopenharmony_ci// of #imports.  Within the WKTs, references to each other are just path
865ffe3c632Sopenharmony_ci// based imports, but when reference from another proto file, they should be
866ffe3c632Sopenharmony_ci// conditional to support the framework import style.
867ffe3c632Sopenharmony_cimessage WKTRefereceMessage {
868ffe3c632Sopenharmony_ci  optional google.protobuf.Any an_any = 1;
869ffe3c632Sopenharmony_ci}
870ffe3c632Sopenharmony_ci
871ffe3c632Sopenharmony_ci// This is in part a compile test, it ensures that when aliases end up with
872ffe3c632Sopenharmony_ci// the same ObjC name, we drop them to avoid the duplication names. There
873ffe3c632Sopenharmony_ci// is a test to ensure the descriptors are still generated to support
874ffe3c632Sopenharmony_ci// reflection and TextFormat.
875ffe3c632Sopenharmony_cienum TestEnumObjCNameCollision {
876ffe3c632Sopenharmony_ci  option allow_alias = true;
877ffe3c632Sopenharmony_ci
878ffe3c632Sopenharmony_ci  FOO = 1;
879ffe3c632Sopenharmony_ci  foo = 1;
880ffe3c632Sopenharmony_ci
881ffe3c632Sopenharmony_ci  BAR = 2;
882ffe3c632Sopenharmony_ci  mumble = 2;
883ffe3c632Sopenharmony_ci  MUMBLE = 2;
884ffe3c632Sopenharmony_ci}
885