xref: /aosp_15_r20/external/kotlinx.serialization/formats/protobuf/jvmTest/resources/common/schema.proto (revision 57b5a4a64c534cf7f27ac9427ceab07f3d8ed3d8)
1syntax = "proto2";
2
3package kotlinx.serialization.protobuf.schema.generator;
4
5// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.ScalarHolder'
6message ScalarHolder {
7  required int32 int = 1;
8  required sint32 intSigned = 2;
9  required fixed32 intFixed = 3;
10  required int32 intDefault = 4;
11  required int64 long = 5;
12  required sint64 longSigned = 6;
13  required fixed64 longFixed = 7;
14  required int32 longDefault = 8;
15  required bool flag = 9;
16  required bytes byteArray = 10;
17  required bytes boxedByteArray = 11;
18  required string text = 12;
19  required float float = 13;
20  required double double = 14;
21}
22
23// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.FieldNumberClass'
24message FieldNumberClass {
25  required int32 a = 1;
26  required int32 b = 5;
27  required int32 c = 3;
28}
29
30message OverriddenClassName {
31  required int32 original = 1;
32  required OverriddenEnumName OverriddenFieldName = 2;
33}
34
35// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.ListClass'
36message ListClass {
37  repeated int32 intList = 1;
38  repeated int32 intArray = 2;
39  // WARNING: nullable elements of collections can not be represented in protobuf
40  repeated int32 boxedIntArray = 3;
41  repeated OptionsClass messageList = 4;
42  repeated OverriddenEnumName enumList = 5;
43}
44
45// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.PackedListClass'
46message PackedListClass {
47  repeated int32 intList = 1 [packed=true];
48  repeated int32 intArray = 2 [packed=true];
49  // WARNING: nullable elements of collections can not be represented in protobuf
50  repeated int32 boxedIntArray = 3 [packed=true];
51  repeated OptionsClass messageList = 4;
52  repeated OverriddenEnumName enumList = 5;
53}
54
55// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.MapClass'
56message MapClass {
57  map<int32, float> scalarMap = 1;
58  map<int32, bytes> bytesMap = 2;
59  map<string, OptionsClass> messageMap = 3;
60  map<bool, OverriddenEnumName> enumMap = 4;
61}
62
63// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.OptionalClass'
64message OptionalClass {
65  required int32 requiredInt = 1;
66  required int32 requiredUInt = 2;
67  required int32 requiredWrappedUInt = 3;
68  // WARNING: a default value decoded when value is missing
69  optional int32 optionalInt = 4;
70  // WARNING: a default value decoded when value is missing
71  optional int32 optionalUInt = 5;
72  // WARNING: a default value decoded when value is missing
73  optional int32 optionalWrappedUInt = 6;
74  optional int32 nullableInt = 7;
75  optional int32 nullableUInt = 8;
76  optional int32 nullableWrappedUInt = 9;
77  // WARNING: a default value decoded when value is missing
78  optional int32 nullableOptionalInt = 10;
79  // WARNING: a default value decoded when value is missing
80  optional int32 nullableOptionalUInt = 11;
81  // WARNING: a default value decoded when value is missing
82  optional int32 nullableOptionalWrappedUInt = 12;
83}
84
85// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.ContextualHolder'
86message ContextualHolder {
87  required bytes value = 1;
88}
89
90// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.AbstractHolder'
91message AbstractHolder {
92  required KotlinxSerializationPolymorphic abs = 1;
93}
94
95// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.SealedHolder'
96message SealedHolder {
97  required SealedClass sealed = 1;
98}
99
100// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.NestedCollections'
101message NestedCollections {
102  repeated NestedCollections_intList intList = 1;
103  repeated NestedCollections_messageList messageList = 2;
104  repeated NestedCollections_mapInList mapInList = 3;
105  map<string, NestedCollections_listInMap> listInMap = 4;
106}
107
108// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.LegacyMapHolder'
109message LegacyMapHolder {
110  repeated LegacyMapHolder_keyAsMessage keyAsMessage = 1;
111  repeated LegacyMapHolder_keyAsEnum keyAsEnum = 2;
112  repeated LegacyMapHolder_keyAsBytes keyAsBytes = 3;
113  repeated LegacyMapHolder_keyAsList keyAsList = 4;
114  repeated LegacyMapHolder_keyAsDeepList keyAsDeepList = 5;
115  repeated LegacyMapHolder_nullableKeyAndValue nullableKeyAndValue = 6;
116}
117
118// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.NullableNestedCollections'
119message NullableNestedCollections {
120  repeated NullableNestedCollections_nullableIntList nullableIntList = 1;
121  // WARNING: nullable map values can not be represented in protobuf
122  map<string, NullableNestedCollections_nullableIntMap> nullableIntMap = 2;
123  map<string, NullableNestedCollections_intMap> intMap = 3;
124  repeated NullableNestedCollections_intList intList = 4;
125  repeated NullableNestedCollections_legacyMap legacyMap = 5;
126}
127
128// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.OptionalCollections'
129message OptionalCollections {
130  repeated int32 requiredList = 1;
131  // WARNING: a default value decoded when value is missing
132  repeated int32 optionalList = 2;
133  // WARNING: an empty collection decoded when a value is missing
134  repeated int32 nullableList = 3;
135  // WARNING: a default value decoded when value is missing
136  repeated int32 nullableOptionalList = 4;
137  map<int32, int32> requiredMap = 5;
138  // WARNING: a default value decoded when value is missing
139  map<int32, int32> optionalMap = 6;
140  // WARNING: an empty collection decoded when a value is missing
141  map<int32, int32> nullableMap = 7;
142  // WARNING: a default value decoded when value is missing
143  map<int32, int32> nullableOptionalMap = 8;
144}
145
146// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.EnumWithProtoNumber'
147enum EnumWithProtoNumber {
148  ZERO = 0;
149  THREE = 3;
150  TWO = 2;
151  FIVE = 5;
152}
153
154enum OverriddenEnumName {
155  FIRST = 0;
156  OverriddenElementName = 1;
157}
158
159// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.OptionsClass'
160message OptionsClass {
161  required int32 i = 1;
162}
163
164// This message was generated to support polymorphic types and does not present in Kotlin.
165message KotlinxSerializationPolymorphic {
166  required string type = 1;
167  required bytes value = 2;
168}
169
170// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.SealedClass'
171message SealedClass {
172  required string type = 1;
173  // decoded as message with one of these types:
174  //   message Impl1, serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.SealedClass.Impl1'
175  //   message Impl2, serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.SealedClass.Impl2'
176  required bytes value = 2;
177}
178
179// This message was generated to support nested collection in list and does not present in Kotlin.
180// Containing message 'NestedCollections', field 'intList'
181message NestedCollections_intList {
182  repeated int32 value = 1;
183}
184
185// This message was generated to support nested collection in list and does not present in Kotlin.
186// Containing message 'NestedCollections', field 'messageList'
187message NestedCollections_messageList {
188  repeated OptionsClass value = 1;
189}
190
191// This message was generated to support nested collection in list and does not present in Kotlin.
192// Containing message 'NestedCollections', field 'mapInList'
193message NestedCollections_mapInList {
194  map<string, OptionsClass> value = 1;
195}
196
197// This message was generated to support nested collection in map value and does not present in Kotlin.
198// Containing message 'NestedCollections', field 'listInMap'
199message NestedCollections_listInMap {
200  repeated int32 value = 1;
201}
202
203// This message was generated to support legacy map and does not present in Kotlin.
204// Containing message 'LegacyMapHolder', field 'keyAsMessage'
205message LegacyMapHolder_keyAsMessage {
206  required OptionsClass key = 1;
207  required int32 value = 2;
208}
209
210// This message was generated to support legacy map and does not present in Kotlin.
211// Containing message 'LegacyMapHolder', field 'keyAsEnum'
212message LegacyMapHolder_keyAsEnum {
213  required OverriddenEnumName key = 1;
214  required OptionsClass value = 2;
215}
216
217// This message was generated to support legacy map and does not present in Kotlin.
218// Containing message 'LegacyMapHolder', field 'keyAsBytes'
219message LegacyMapHolder_keyAsBytes {
220  required bytes key = 1;
221  required bytes value = 2;
222}
223
224// This message was generated to support legacy map and does not present in Kotlin.
225// Containing message 'LegacyMapHolder', field 'keyAsList'
226message LegacyMapHolder_keyAsList {
227  repeated int32 key = 1;
228  required bytes value = 2;
229}
230
231// This message was generated to support legacy map and does not present in Kotlin.
232// Containing message 'LegacyMapHolder', field 'keyAsDeepList'
233message LegacyMapHolder_keyAsDeepList {
234  repeated LegacyMapHolder_keyAsDeepList_key key = 1;
235  required bytes value = 2;
236}
237
238// This message was generated to support legacy map and does not present in Kotlin.
239// Containing message 'LegacyMapHolder', field 'nullableKeyAndValue'
240message LegacyMapHolder_nullableKeyAndValue {
241  required OptionsClass key = 1;
242  required OptionsClass value = 2;
243}
244
245// This message was generated to support nested collection in list and does not present in Kotlin.
246// Containing message 'NullableNestedCollections', field 'nullableIntList'
247message NullableNestedCollections_nullableIntList {
248  repeated int32 value = 1;
249}
250
251// This message was generated to support nested collection in map value and does not present in Kotlin.
252// Containing message 'NullableNestedCollections', field 'nullableIntMap'
253message NullableNestedCollections_nullableIntMap {
254  repeated int32 value = 1;
255}
256
257// This message was generated to support nested collection in map value and does not present in Kotlin.
258// Containing message 'NullableNestedCollections', field 'intMap'
259message NullableNestedCollections_intMap {
260  // WARNING: nullable elements of collections can not be represented in protobuf
261  repeated int32 value = 1;
262}
263
264// This message was generated to support nested collection in list and does not present in Kotlin.
265// Containing message 'NullableNestedCollections', field 'intList'
266message NullableNestedCollections_intList {
267  // WARNING: nullable elements of collections can not be represented in protobuf
268  repeated int32 value = 1;
269}
270
271// This message was generated to support legacy map and does not present in Kotlin.
272// Containing message 'NullableNestedCollections', field 'legacyMap'
273message NullableNestedCollections_legacyMap {
274  repeated int32 key = 1;
275  repeated int32 value = 2;
276}
277
278// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.SealedClass.Impl1'
279message Impl1 {
280  required int32 int = 1;
281}
282
283// serial name 'kotlinx.serialization.protobuf.schema.GenerationTest.SealedClass.Impl2'
284message Impl2 {
285  required int64 long = 1;
286}
287
288// This message was generated to support nested collection in list and does not present in Kotlin.
289// Containing message 'LegacyMapHolder', field 'keyAsDeepList'
290message LegacyMapHolder_keyAsDeepList_key {
291  repeated int32 value = 1;
292}
293