1// Protocol Buffers - Google's data interchange format 2// Copyright 2023 Google LLC. All rights reserved. 3// 4// Use of this source code is governed by a BSD-style 5// license that can be found in the LICENSE file or at 6// https://developers.google.com/open-source/licenses/bsd 7 8syntax = "proto2"; 9 10package upb_test; 11 12message MapTest { 13 map<string, double> map_string_double = 1; 14} 15 16message MessageName { 17 optional int32 field1 = 1; 18 optional int32 field2 = 2; 19} 20 21message HelloRequest { 22 optional uint32 id = 1; 23 optional uint32 random_name_a0 = 2; 24 optional uint32 random_name_a1 = 3; 25 optional uint32 random_name_a2 = 4; 26 optional uint32 random_name_a3 = 5; 27 optional uint32 random_name_a4 = 6; 28 optional uint32 random_name_a5 = 7; 29 optional uint32 random_name_a6 = 8; 30 optional uint32 random_name_a7 = 9; 31 optional uint32 random_name_a8 = 10; 32 optional uint32 random_name_a9 = 11; 33 optional uint32 random_name_b0 = 12; 34 optional uint32 random_name_b1 = 13; 35 optional uint32 random_name_b2 = 14; 36 optional uint32 random_name_b3 = 15; 37 optional uint32 random_name_b4 = 16; 38 optional uint32 random_name_b5 = 17; 39 optional uint32 random_name_b6 = 18; 40 optional uint32 random_name_b7 = 19; 41 optional uint32 random_name_b8 = 20; 42 optional uint32 random_name_b9 = 21; 43 optional uint32 random_name_c0 = 22; 44 optional uint32 random_name_c1 = 23; 45 optional uint32 random_name_c2 = 24; 46 optional uint32 random_name_c3 = 25; 47 optional uint32 random_name_c4 = 26; 48 optional uint32 random_name_c5 = 27; 49 optional uint32 random_name_c6 = 28; 50 optional uint32 random_name_c7 = 29; 51 optional uint32 random_name_c8 = 30; 52 optional uint32 random_name_c9 = 31; 53 optional string version = 32; 54} 55 56message EmptyMessageWithExtensions { 57 // Reserved for unknown fields/extensions test. 58 reserved 1000 to max; 59} 60 61message ModelWithExtensions { 62 optional int32 random_int32 = 3; 63 optional string random_name = 4; 64 repeated int32 repeated_int32 = 5; 65 // Reserved for unknown fields/extensions test. 66 extensions 1000 to max; 67} 68 69message ModelExtension1 { 70 extend ModelWithExtensions { 71 optional ModelExtension1 model_ext = 1547; 72 } 73 optional string str = 25; 74} 75 76message ModelExtension2 { 77 extend ModelWithExtensions { 78 optional ModelExtension2 model_ext = 4135; 79 optional ModelExtension2 model_ext_2 = 4136; 80 optional ModelExtension2 model_ext_3 = 4137; 81 optional ModelExtension2 model_ext_4 = 4138; 82 optional ModelExtension2 model_ext_5 = 4139; 83 } 84 optional int32 i = 9; 85} 86 87message ModelWithSubMessages { 88 optional int32 id = 4; 89 optional ModelWithExtensions optional_child = 5; 90 repeated ModelWithExtensions items = 6; 91} 92 93message ModelWithMaps { 94 optional int32 id = 1; 95 map<string, bytes> map_sb = 2; 96 map<string, string> map_ss = 3; 97 map<int32, int32> map_ii = 4; 98 map<int32, ModelWithExtensions> map_im = 5; 99} 100 101message ExtremeDefaults { 102 optional int64 int64_min = 1 [default = -9223372036854775808]; 103} 104