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