1use crate::descriptor::types::descriptor_proto::ExtensionRange;
2use crate::descriptor::types::descriptor_proto::ReservedRange;
3use crate::descriptor::types::field_descriptor_proto::Label::*;
4use crate::descriptor::types::field_descriptor_proto::Type::*;
5use crate::descriptor::types::DescriptorProto;
6use crate::descriptor::types::EnumDescriptorProto;
7use crate::descriptor::types::EnumValueDescriptorProto;
8use crate::descriptor::types::FieldDescriptorProto;
9use crate::descriptor::types::FieldOptions;
10use crate::descriptor::types::FileDescriptorProto;
11use crate::descriptor::types::FileDescriptorSet;
12use crate::descriptor::types::FileOptions;
13use crate::descriptor::types::MessageOptions;
14use crate::descriptor::types::OneofDescriptorProto;
15use crate::descriptor::types::Options;
16use crate::prost_types::file_options::OptimizeMode::Speed;
17use crate::DescriptorError;
18use crate::{DescriptorPool, MessageDescriptor, ReflectMessage};
19
20#[allow(deprecated)]
21fn make_descriptor() -> FileDescriptorSet {
22 FileDescriptorSet {
23 file: vec![
24 FileDescriptorProto {
25 name: Some("google/protobuf/any.proto".into()),
26 package: Some("google.protobuf".into()),
27 dependency: vec![],
28 public_dependency: vec![],
29 weak_dependency: vec![],
30 message_type: vec![DescriptorProto {
31 name: Some("Any".into()),
32 field: vec![
33 FieldDescriptorProto {
34 name: Some("type_url".into()),
35 number: Some(1),
36 label: Some(Optional.into()),
37 r#type: Some(String.into()),
38 type_name: None,
39 extendee: None,
40 default_value: None,
41 oneof_index: None,
42 json_name: Some("typeUrl".into()),
43 options: None,
44 proto3_optional: None,
45 },
46 FieldDescriptorProto {
47 name: Some("value".into()),
48 number: Some(2),
49 label: Some(Optional.into()),
50 r#type: Some(Bytes.into()),
51 type_name: None,
52 extendee: None,
53 default_value: None,
54 oneof_index: None,
55 json_name: Some("value".into()),
56 options: None,
57 proto3_optional: None,
58 },
59 ],
60 extension: vec![],
61 nested_type: vec![],
62 enum_type: vec![],
63 extension_range: vec![],
64 oneof_decl: vec![],
65 options: None,
66 reserved_range: vec![],
67 reserved_name: vec![],
68 }],
69 enum_type: vec![],
70 service: vec![],
71 extension: vec![],
72 options: Some(Options::from_prost(FileOptions {
73 java_package: Some("com.google.protobuf".into()),
74 java_outer_classname: Some("AnyProto".into()),
75 java_multiple_files: Some(true),
76 java_generate_equals_and_hash: None,
77 java_string_check_utf8: None,
78 optimize_for: None,
79 go_package: Some("google.golang.org/protobuf/types/known/anypb".into()),
80 cc_generic_services: None,
81 java_generic_services: None,
82 py_generic_services: None,
83 php_generic_services: None,
84 deprecated: None,
85 cc_enable_arenas: None,
86 objc_class_prefix: Some("GPB".into()),
87 csharp_namespace: Some("Google.Protobuf.WellKnownTypes".into()),
88 swift_prefix: None,
89 php_class_prefix: None,
90 php_namespace: None,
91 php_metadata_namespace: None,
92 ruby_package: None,
93 uninterpreted_option: vec![],
94 })),
95 source_code_info: None,
96 syntax: Some("proto3".into()),
97 },
98 FileDescriptorProto {
99 name: Some("google/protobuf/source_context.proto".into()),
100 package: Some("google.protobuf".into()),
101 dependency: vec![],
102 public_dependency: vec![],
103 weak_dependency: vec![],
104 message_type: vec![DescriptorProto {
105 name: Some("SourceContext".into()),
106 field: vec![FieldDescriptorProto {
107 name: Some("file_name".into()),
108 number: Some(1),
109 label: Some(Optional.into()),
110 r#type: Some(String.into()),
111 type_name: None,
112 extendee: None,
113 default_value: None,
114 oneof_index: None,
115 json_name: Some("fileName".into()),
116 options: None,
117 proto3_optional: None,
118 }],
119 extension: vec![],
120 nested_type: vec![],
121 enum_type: vec![],
122 extension_range: vec![],
123 oneof_decl: vec![],
124 options: None,
125 reserved_range: vec![],
126 reserved_name: vec![],
127 }],
128 enum_type: vec![],
129 service: vec![],
130 extension: vec![],
131 options: Some(Options::from_prost(FileOptions {
132 java_package: Some("com.google.protobuf".into()),
133 java_outer_classname: Some("SourceContextProto".into()),
134 java_multiple_files: Some(true),
135 java_generate_equals_and_hash: None,
136 java_string_check_utf8: None,
137 optimize_for: None,
138 go_package: Some(
139 "google.golang.org/protobuf/types/known/sourcecontextpb".into(),
140 ),
141 cc_generic_services: None,
142 java_generic_services: None,
143 py_generic_services: None,
144 php_generic_services: None,
145 deprecated: None,
146 cc_enable_arenas: None,
147 objc_class_prefix: Some("GPB".into()),
148 csharp_namespace: Some("Google.Protobuf.WellKnownTypes".into()),
149 swift_prefix: None,
150 php_class_prefix: None,
151 php_namespace: None,
152 php_metadata_namespace: None,
153 ruby_package: None,
154 uninterpreted_option: vec![],
155 })),
156 source_code_info: None,
157 syntax: Some("proto3".into()),
158 },
159 FileDescriptorProto {
160 name: Some("google/protobuf/type.proto".into()),
161 package: Some("google.protobuf".into()),
162 dependency: vec![
163 "google/protobuf/any.proto".into(),
164 "google/protobuf/source_context.proto".into(),
165 ],
166 public_dependency: vec![],
167 weak_dependency: vec![],
168 message_type: vec![
169 DescriptorProto {
170 name: Some("Type".into()),
171 field: vec![
172 FieldDescriptorProto {
173 name: Some("name".into()),
174 number: Some(1),
175 label: Some(Optional.into()),
176 r#type: Some(String.into()),
177 type_name: None,
178 extendee: None,
179 default_value: None,
180 oneof_index: None,
181 json_name: Some("name".into()),
182 options: None,
183 proto3_optional: None,
184 },
185 FieldDescriptorProto {
186 name: Some("fields".into()),
187 number: Some(2),
188 label: Some(Repeated.into()),
189 r#type: Some(Message.into()),
190 type_name: Some(".google.protobuf.Field".into()),
191 extendee: None,
192 default_value: None,
193 oneof_index: None,
194 json_name: Some("fields".into()),
195 options: None,
196 proto3_optional: None,
197 },
198 FieldDescriptorProto {
199 name: Some("oneofs".into()),
200 number: Some(3),
201 label: Some(Repeated.into()),
202 r#type: Some(String.into()),
203 type_name: None,
204 extendee: None,
205 default_value: None,
206 oneof_index: None,
207 json_name: Some("oneofs".into()),
208 options: None,
209 proto3_optional: None,
210 },
211 FieldDescriptorProto {
212 name: Some("options".into()),
213 number: Some(4),
214 label: Some(Repeated.into()),
215 r#type: Some(Message.into()),
216 type_name: Some(".google.protobuf.Option".into()),
217 extendee: None,
218 default_value: None,
219 oneof_index: None,
220 json_name: Some("options".into()),
221 options: None,
222 proto3_optional: None,
223 },
224 FieldDescriptorProto {
225 name: Some("source_context".into()),
226 number: Some(5),
227 label: Some(Optional.into()),
228 r#type: Some(Message.into()),
229 type_name: Some(".google.protobuf.SourceContext".into()),
230 extendee: None,
231 default_value: None,
232 oneof_index: None,
233 json_name: Some("sourceContext".into()),
234 options: None,
235 proto3_optional: None,
236 },
237 FieldDescriptorProto {
238 name: Some("syntax".into()),
239 number: Some(6),
240 label: Some(Optional.into()),
241 r#type: Some(Enum.into()),
242 type_name: Some(".google.protobuf.Syntax".into()),
243 extendee: None,
244 default_value: None,
245 oneof_index: None,
246 json_name: Some("syntax".into()),
247 options: None,
248 proto3_optional: None,
249 },
250 ],
251 extension: vec![],
252 nested_type: vec![],
253 enum_type: vec![],
254 extension_range: vec![],
255 oneof_decl: vec![],
256 options: None,
257 reserved_range: vec![],
258 reserved_name: vec![],
259 },
260 DescriptorProto {
261 name: Some("Field".into()),
262 field: vec![
263 FieldDescriptorProto {
264 name: Some("kind".into()),
265 number: Some(1),
266 label: Some(Optional.into()),
267 r#type: Some(Enum.into()),
268 type_name: Some(".google.protobuf.Field.Kind".into()),
269 extendee: None,
270 default_value: None,
271 oneof_index: None,
272 json_name: Some("kind".into()),
273 options: None,
274 proto3_optional: None,
275 },
276 FieldDescriptorProto {
277 name: Some("cardinality".into()),
278 number: Some(2),
279 label: Some(Optional.into()),
280 r#type: Some(Enum.into()),
281 type_name: Some(".google.protobuf.Field.Cardinality".into()),
282 extendee: None,
283 default_value: None,
284 oneof_index: None,
285 json_name: Some("cardinality".into()),
286 options: None,
287 proto3_optional: None,
288 },
289 FieldDescriptorProto {
290 name: Some("number".into()),
291 number: Some(3),
292 label: Some(Optional.into()),
293 r#type: Some(Int32.into()),
294 type_name: None,
295 extendee: None,
296 default_value: None,
297 oneof_index: None,
298 json_name: Some("number".into()),
299 options: None,
300 proto3_optional: None,
301 },
302 FieldDescriptorProto {
303 name: Some("name".into()),
304 number: Some(4),
305 label: Some(Optional.into()),
306 r#type: Some(String.into()),
307 type_name: None,
308 extendee: None,
309 default_value: None,
310 oneof_index: None,
311 json_name: Some("name".into()),
312 options: None,
313 proto3_optional: None,
314 },
315 FieldDescriptorProto {
316 name: Some("type_url".into()),
317 number: Some(6),
318 label: Some(Optional.into()),
319 r#type: Some(String.into()),
320 type_name: None,
321 extendee: None,
322 default_value: None,
323 oneof_index: None,
324 json_name: Some("typeUrl".into()),
325 options: None,
326 proto3_optional: None,
327 },
328 FieldDescriptorProto {
329 name: Some("oneof_index".into()),
330 number: Some(7),
331 label: Some(Optional.into()),
332 r#type: Some(Int32.into()),
333 type_name: None,
334 extendee: None,
335 default_value: None,
336 oneof_index: None,
337 json_name: Some("oneofIndex".into()),
338 options: None,
339 proto3_optional: None,
340 },
341 FieldDescriptorProto {
342 name: Some("packed".into()),
343 number: Some(8),
344 label: Some(Optional.into()),
345 r#type: Some(Bool.into()),
346 type_name: None,
347 extendee: None,
348 default_value: None,
349 oneof_index: None,
350 json_name: Some("packed".into()),
351 options: None,
352 proto3_optional: None,
353 },
354 FieldDescriptorProto {
355 name: Some("options".into()),
356 number: Some(9),
357 label: Some(Repeated.into()),
358 r#type: Some(Message.into()),
359 type_name: Some(".google.protobuf.Option".into()),
360 extendee: None,
361 default_value: None,
362 oneof_index: None,
363 json_name: Some("options".into()),
364 options: None,
365 proto3_optional: None,
366 },
367 FieldDescriptorProto {
368 name: Some("json_name".into()),
369 number: Some(10),
370 label: Some(Optional.into()),
371 r#type: Some(String.into()),
372 type_name: None,
373 extendee: None,
374 default_value: None,
375 oneof_index: None,
376 json_name: Some("jsonName".into()),
377 options: None,
378 proto3_optional: None,
379 },
380 FieldDescriptorProto {
381 name: Some("default_value".into()),
382 number: Some(11),
383 label: Some(Optional.into()),
384 r#type: Some(String.into()),
385 type_name: None,
386 extendee: None,
387 default_value: None,
388 oneof_index: None,
389 json_name: Some("defaultValue".into()),
390 options: None,
391 proto3_optional: None,
392 },
393 ],
394 extension: vec![],
395 nested_type: vec![],
396 enum_type: vec![
397 EnumDescriptorProto {
398 name: Some("Kind".into()),
399 value: vec![
400 EnumValueDescriptorProto {
401 name: Some("TYPE_UNKNOWN".into()),
402 number: Some(0),
403 options: None,
404 },
405 EnumValueDescriptorProto {
406 name: Some("TYPE_DOUBLE".into()),
407 number: Some(1),
408 options: None,
409 },
410 EnumValueDescriptorProto {
411 name: Some("TYPE_FLOAT".into()),
412 number: Some(2),
413 options: None,
414 },
415 EnumValueDescriptorProto {
416 name: Some("TYPE_INT64".into()),
417 number: Some(3),
418 options: None,
419 },
420 EnumValueDescriptorProto {
421 name: Some("TYPE_UINT64".into()),
422 number: Some(4),
423 options: None,
424 },
425 EnumValueDescriptorProto {
426 name: Some("TYPE_INT32".into()),
427 number: Some(5),
428 options: None,
429 },
430 EnumValueDescriptorProto {
431 name: Some("TYPE_FIXED64".into()),
432 number: Some(6),
433 options: None,
434 },
435 EnumValueDescriptorProto {
436 name: Some("TYPE_FIXED32".into()),
437 number: Some(7),
438 options: None,
439 },
440 EnumValueDescriptorProto {
441 name: Some("TYPE_BOOL".into()),
442 number: Some(8),
443 options: None,
444 },
445 EnumValueDescriptorProto {
446 name: Some("TYPE_STRING".into()),
447 number: Some(9),
448 options: None,
449 },
450 EnumValueDescriptorProto {
451 name: Some("TYPE_GROUP".into()),
452 number: Some(10),
453 options: None,
454 },
455 EnumValueDescriptorProto {
456 name: Some("TYPE_MESSAGE".into()),
457 number: Some(11),
458 options: None,
459 },
460 EnumValueDescriptorProto {
461 name: Some("TYPE_BYTES".into()),
462 number: Some(12),
463 options: None,
464 },
465 EnumValueDescriptorProto {
466 name: Some("TYPE_UINT32".into()),
467 number: Some(13),
468 options: None,
469 },
470 EnumValueDescriptorProto {
471 name: Some("TYPE_ENUM".into()),
472 number: Some(14),
473 options: None,
474 },
475 EnumValueDescriptorProto {
476 name: Some("TYPE_SFIXED32".into()),
477 number: Some(15),
478 options: None,
479 },
480 EnumValueDescriptorProto {
481 name: Some("TYPE_SFIXED64".into()),
482 number: Some(16),
483 options: None,
484 },
485 EnumValueDescriptorProto {
486 name: Some("TYPE_SINT32".into()),
487 number: Some(17),
488 options: None,
489 },
490 EnumValueDescriptorProto {
491 name: Some("TYPE_SINT64".into()),
492 number: Some(18),
493 options: None,
494 },
495 ],
496 options: None,
497 reserved_range: vec![],
498 reserved_name: vec![],
499 },
500 EnumDescriptorProto {
501 name: Some("Cardinality".into()),
502 value: vec![
503 EnumValueDescriptorProto {
504 name: Some("CARDINALITY_UNKNOWN".into()),
505 number: Some(0),
506 options: None,
507 },
508 EnumValueDescriptorProto {
509 name: Some("CARDINALITY_OPTIONAL".into()),
510 number: Some(1),
511 options: None,
512 },
513 EnumValueDescriptorProto {
514 name: Some("CARDINALITY_REQUIRED".into()),
515 number: Some(2),
516 options: None,
517 },
518 EnumValueDescriptorProto {
519 name: Some("CARDINALITY_REPEATED".into()),
520 number: Some(3),
521 options: None,
522 },
523 ],
524 options: None,
525 reserved_range: vec![],
526 reserved_name: vec![],
527 },
528 ],
529 extension_range: vec![],
530 oneof_decl: vec![],
531 options: None,
532 reserved_range: vec![],
533 reserved_name: vec![],
534 },
535 DescriptorProto {
536 name: Some("Enum".into()),
537 field: vec![
538 FieldDescriptorProto {
539 name: Some("name".into()),
540 number: Some(1),
541 label: Some(Optional.into()),
542 r#type: Some(String.into()),
543 type_name: None,
544 extendee: None,
545 default_value: None,
546 oneof_index: None,
547 json_name: Some("name".into()),
548 options: None,
549 proto3_optional: None,
550 },
551 FieldDescriptorProto {
552 name: Some("enumvalue".into()),
553 number: Some(2),
554 label: Some(Repeated.into()),
555 r#type: Some(Message.into()),
556 type_name: Some(".google.protobuf.EnumValue".into()),
557 extendee: None,
558 default_value: None,
559 oneof_index: None,
560 json_name: Some("enumvalue".into()),
561 options: None,
562 proto3_optional: None,
563 },
564 FieldDescriptorProto {
565 name: Some("options".into()),
566 number: Some(3),
567 label: Some(Repeated.into()),
568 r#type: Some(Message.into()),
569 type_name: Some(".google.protobuf.Option".into()),
570 extendee: None,
571 default_value: None,
572 oneof_index: None,
573 json_name: Some("options".into()),
574 options: None,
575 proto3_optional: None,
576 },
577 FieldDescriptorProto {
578 name: Some("source_context".into()),
579 number: Some(4),
580 label: Some(Optional.into()),
581 r#type: Some(Message.into()),
582 type_name: Some(".google.protobuf.SourceContext".into()),
583 extendee: None,
584 default_value: None,
585 oneof_index: None,
586 json_name: Some("sourceContext".into()),
587 options: None,
588 proto3_optional: None,
589 },
590 FieldDescriptorProto {
591 name: Some("syntax".into()),
592 number: Some(5),
593 label: Some(Optional.into()),
594 r#type: Some(Enum.into()),
595 type_name: Some(".google.protobuf.Syntax".into()),
596 extendee: None,
597 default_value: None,
598 oneof_index: None,
599 json_name: Some("syntax".into()),
600 options: None,
601 proto3_optional: None,
602 },
603 ],
604 extension: vec![],
605 nested_type: vec![],
606 enum_type: vec![],
607 extension_range: vec![],
608 oneof_decl: vec![],
609 options: None,
610 reserved_range: vec![],
611 reserved_name: vec![],
612 },
613 DescriptorProto {
614 name: Some("EnumValue".into()),
615 field: vec![
616 FieldDescriptorProto {
617 name: Some("name".into()),
618 number: Some(1),
619 label: Some(Optional.into()),
620 r#type: Some(String.into()),
621 type_name: None,
622 extendee: None,
623 default_value: None,
624 oneof_index: None,
625 json_name: Some("name".into()),
626 options: None,
627 proto3_optional: None,
628 },
629 FieldDescriptorProto {
630 name: Some("number".into()),
631 number: Some(2),
632 label: Some(Optional.into()),
633 r#type: Some(Int32.into()),
634 type_name: None,
635 extendee: None,
636 default_value: None,
637 oneof_index: None,
638 json_name: Some("number".into()),
639 options: None,
640 proto3_optional: None,
641 },
642 FieldDescriptorProto {
643 name: Some("options".into()),
644 number: Some(3),
645 label: Some(Repeated.into()),
646 r#type: Some(Message.into()),
647 type_name: Some(".google.protobuf.Option".into()),
648 extendee: None,
649 default_value: None,
650 oneof_index: None,
651 json_name: Some("options".into()),
652 options: None,
653 proto3_optional: None,
654 },
655 ],
656 extension: vec![],
657 nested_type: vec![],
658 enum_type: vec![],
659 extension_range: vec![],
660 oneof_decl: vec![],
661 options: None,
662 reserved_range: vec![],
663 reserved_name: vec![],
664 },
665 DescriptorProto {
666 name: Some("Option".into()),
667 field: vec![
668 FieldDescriptorProto {
669 name: Some("name".into()),
670 number: Some(1),
671 label: Some(Optional.into()),
672 r#type: Some(String.into()),
673 type_name: None,
674 extendee: None,
675 default_value: None,
676 oneof_index: None,
677 json_name: Some("name".into()),
678 options: None,
679 proto3_optional: None,
680 },
681 FieldDescriptorProto {
682 name: Some("value".into()),
683 number: Some(2),
684 label: Some(Optional.into()),
685 r#type: Some(Message.into()),
686 type_name: Some(".google.protobuf.Any".into()),
687 extendee: None,
688 default_value: None,
689 oneof_index: None,
690 json_name: Some("value".into()),
691 options: None,
692 proto3_optional: None,
693 },
694 ],
695 extension: vec![],
696 nested_type: vec![],
697 enum_type: vec![],
698 extension_range: vec![],
699 oneof_decl: vec![],
700 options: None,
701 reserved_range: vec![],
702 reserved_name: vec![],
703 },
704 ],
705 enum_type: vec![EnumDescriptorProto {
706 name: Some("Syntax".into()),
707 value: vec![
708 EnumValueDescriptorProto {
709 name: Some("SYNTAX_PROTO2".into()),
710 number: Some(0),
711 options: None,
712 },
713 EnumValueDescriptorProto {
714 name: Some("SYNTAX_PROTO3".into()),
715 number: Some(1),
716 options: None,
717 },
718 ],
719 options: None,
720 reserved_range: vec![],
721 reserved_name: vec![],
722 }],
723 service: vec![],
724 extension: vec![],
725 options: Some(Options::from_prost(FileOptions {
726 java_package: Some("com.google.protobuf".into()),
727 java_outer_classname: Some("TypeProto".into()),
728 java_multiple_files: Some(true),
729 java_generate_equals_and_hash: None,
730 java_string_check_utf8: None,
731 optimize_for: None,
732 go_package: Some("google.golang.org/protobuf/types/known/typepb".into()),
733 cc_generic_services: None,
734 java_generic_services: None,
735 py_generic_services: None,
736 php_generic_services: None,
737 deprecated: None,
738 cc_enable_arenas: Some(true),
739 objc_class_prefix: Some("GPB".into()),
740 csharp_namespace: Some("Google.Protobuf.WellKnownTypes".into()),
741 swift_prefix: None,
742 php_class_prefix: None,
743 php_namespace: None,
744 php_metadata_namespace: None,
745 ruby_package: None,
746 uninterpreted_option: vec![],
747 })),
748 source_code_info: None,
749 syntax: Some("proto3".into()),
750 },
751 FileDescriptorProto {
752 name: Some("google/protobuf/api.proto".into()),
753 package: Some("google.protobuf".into()),
754 dependency: vec![
755 "google/protobuf/source_context.proto".into(),
756 "google/protobuf/type.proto".into(),
757 ],
758 public_dependency: vec![],
759 weak_dependency: vec![],
760 message_type: vec![
761 DescriptorProto {
762 name: Some("Api".into()),
763 field: vec![
764 FieldDescriptorProto {
765 name: Some("name".into()),
766 number: Some(1),
767 label: Some(Optional.into()),
768 r#type: Some(String.into()),
769 type_name: None,
770 extendee: None,
771 default_value: None,
772 oneof_index: None,
773 json_name: Some("name".into()),
774 options: None,
775 proto3_optional: None,
776 },
777 FieldDescriptorProto {
778 name: Some("methods".into()),
779 number: Some(2),
780 label: Some(Repeated.into()),
781 r#type: Some(Message.into()),
782 type_name: Some(".google.protobuf.Method".into()),
783 extendee: None,
784 default_value: None,
785 oneof_index: None,
786 json_name: Some("methods".into()),
787 options: None,
788 proto3_optional: None,
789 },
790 FieldDescriptorProto {
791 name: Some("options".into()),
792 number: Some(3),
793 label: Some(Repeated.into()),
794 r#type: Some(Message.into()),
795 type_name: Some(".google.protobuf.Option".into()),
796 extendee: None,
797 default_value: None,
798 oneof_index: None,
799 json_name: Some("options".into()),
800 options: None,
801 proto3_optional: None,
802 },
803 FieldDescriptorProto {
804 name: Some("version".into()),
805 number: Some(4),
806 label: Some(Optional.into()),
807 r#type: Some(String.into()),
808 type_name: None,
809 extendee: None,
810 default_value: None,
811 oneof_index: None,
812 json_name: Some("version".into()),
813 options: None,
814 proto3_optional: None,
815 },
816 FieldDescriptorProto {
817 name: Some("source_context".into()),
818 number: Some(5),
819 label: Some(Optional.into()),
820 r#type: Some(Message.into()),
821 type_name: Some(".google.protobuf.SourceContext".into()),
822 extendee: None,
823 default_value: None,
824 oneof_index: None,
825 json_name: Some("sourceContext".into()),
826 options: None,
827 proto3_optional: None,
828 },
829 FieldDescriptorProto {
830 name: Some("mixins".into()),
831 number: Some(6),
832 label: Some(Repeated.into()),
833 r#type: Some(Message.into()),
834 type_name: Some(".google.protobuf.Mixin".into()),
835 extendee: None,
836 default_value: None,
837 oneof_index: None,
838 json_name: Some("mixins".into()),
839 options: None,
840 proto3_optional: None,
841 },
842 FieldDescriptorProto {
843 name: Some("syntax".into()),
844 number: Some(7),
845 label: Some(Optional.into()),
846 r#type: Some(Enum.into()),
847 type_name: Some(".google.protobuf.Syntax".into()),
848 extendee: None,
849 default_value: None,
850 oneof_index: None,
851 json_name: Some("syntax".into()),
852 options: None,
853 proto3_optional: None,
854 },
855 ],
856 extension: vec![],
857 nested_type: vec![],
858 enum_type: vec![],
859 extension_range: vec![],
860 oneof_decl: vec![],
861 options: None,
862 reserved_range: vec![],
863 reserved_name: vec![],
864 },
865 DescriptorProto {
866 name: Some("Method".into()),
867 field: vec![
868 FieldDescriptorProto {
869 name: Some("name".into()),
870 number: Some(1),
871 label: Some(Optional.into()),
872 r#type: Some(String.into()),
873 type_name: None,
874 extendee: None,
875 default_value: None,
876 oneof_index: None,
877 json_name: Some("name".into()),
878 options: None,
879 proto3_optional: None,
880 },
881 FieldDescriptorProto {
882 name: Some("request_type_url".into()),
883 number: Some(2),
884 label: Some(Optional.into()),
885 r#type: Some(String.into()),
886 type_name: None,
887 extendee: None,
888 default_value: None,
889 oneof_index: None,
890 json_name: Some("requestTypeUrl".into()),
891 options: None,
892 proto3_optional: None,
893 },
894 FieldDescriptorProto {
895 name: Some("request_streaming".into()),
896 number: Some(3),
897 label: Some(Optional.into()),
898 r#type: Some(Bool.into()),
899 type_name: None,
900 extendee: None,
901 default_value: None,
902 oneof_index: None,
903 json_name: Some("requestStreaming".into()),
904 options: None,
905 proto3_optional: None,
906 },
907 FieldDescriptorProto {
908 name: Some("response_type_url".into()),
909 number: Some(4),
910 label: Some(Optional.into()),
911 r#type: Some(String.into()),
912 type_name: None,
913 extendee: None,
914 default_value: None,
915 oneof_index: None,
916 json_name: Some("responseTypeUrl".into()),
917 options: None,
918 proto3_optional: None,
919 },
920 FieldDescriptorProto {
921 name: Some("response_streaming".into()),
922 number: Some(5),
923 label: Some(Optional.into()),
924 r#type: Some(Bool.into()),
925 type_name: None,
926 extendee: None,
927 default_value: None,
928 oneof_index: None,
929 json_name: Some("responseStreaming".into()),
930 options: None,
931 proto3_optional: None,
932 },
933 FieldDescriptorProto {
934 name: Some("options".into()),
935 number: Some(6),
936 label: Some(Repeated.into()),
937 r#type: Some(Message.into()),
938 type_name: Some(".google.protobuf.Option".into()),
939 extendee: None,
940 default_value: None,
941 oneof_index: None,
942 json_name: Some("options".into()),
943 options: None,
944 proto3_optional: None,
945 },
946 FieldDescriptorProto {
947 name: Some("syntax".into()),
948 number: Some(7),
949 label: Some(Optional.into()),
950 r#type: Some(Enum.into()),
951 type_name: Some(".google.protobuf.Syntax".into()),
952 extendee: None,
953 default_value: None,
954 oneof_index: None,
955 json_name: Some("syntax".into()),
956 options: None,
957 proto3_optional: None,
958 },
959 ],
960 extension: vec![],
961 nested_type: vec![],
962 enum_type: vec![],
963 extension_range: vec![],
964 oneof_decl: vec![],
965 options: None,
966 reserved_range: vec![],
967 reserved_name: vec![],
968 },
969 DescriptorProto {
970 name: Some("Mixin".into()),
971 field: vec![
972 FieldDescriptorProto {
973 name: Some("name".into()),
974 number: Some(1),
975 label: Some(Optional.into()),
976 r#type: Some(String.into()),
977 type_name: None,
978 extendee: None,
979 default_value: None,
980 oneof_index: None,
981 json_name: Some("name".into()),
982 options: None,
983 proto3_optional: None,
984 },
985 FieldDescriptorProto {
986 name: Some("root".into()),
987 number: Some(2),
988 label: Some(Optional.into()),
989 r#type: Some(String.into()),
990 type_name: None,
991 extendee: None,
992 default_value: None,
993 oneof_index: None,
994 json_name: Some("root".into()),
995 options: None,
996 proto3_optional: None,
997 },
998 ],
999 extension: vec![],
1000 nested_type: vec![],
1001 enum_type: vec![],
1002 extension_range: vec![],
1003 oneof_decl: vec![],
1004 options: None,
1005 reserved_range: vec![],
1006 reserved_name: vec![],
1007 },
1008 ],
1009 enum_type: vec![],
1010 service: vec![],
1011 extension: vec![],
1012 options: Some(Options::from_prost(FileOptions {
1013 java_package: Some("com.google.protobuf".into()),
1014 java_outer_classname: Some("ApiProto".into()),
1015 java_multiple_files: Some(true),
1016 java_generate_equals_and_hash: None,
1017 java_string_check_utf8: None,
1018 optimize_for: None,
1019 go_package: Some("google.golang.org/protobuf/types/known/apipb".into()),
1020 cc_generic_services: None,
1021 java_generic_services: None,
1022 py_generic_services: None,
1023 php_generic_services: None,
1024 deprecated: None,
1025 cc_enable_arenas: None,
1026 objc_class_prefix: Some("GPB".into()),
1027 csharp_namespace: Some("Google.Protobuf.WellKnownTypes".into()),
1028 swift_prefix: None,
1029 php_class_prefix: None,
1030 php_namespace: None,
1031 php_metadata_namespace: None,
1032 ruby_package: None,
1033 uninterpreted_option: vec![],
1034 })),
1035 source_code_info: None,
1036 syntax: Some("proto3".into()),
1037 },
1038 FileDescriptorProto {
1039 name: Some("google/protobuf/descriptor.proto".into()),
1040 package: Some("google.protobuf".into()),
1041 dependency: vec![],
1042 public_dependency: vec![],
1043 weak_dependency: vec![],
1044 message_type: vec![
1045 DescriptorProto {
1046 name: Some("FileDescriptorSet".into()),
1047 field: vec![FieldDescriptorProto {
1048 name: Some("file".into()),
1049 number: Some(1),
1050 label: Some(Repeated.into()),
1051 r#type: Some(Message.into()),
1052 type_name: Some(".google.protobuf.FileDescriptorProto".into()),
1053 extendee: None,
1054 default_value: None,
1055 oneof_index: None,
1056 json_name: Some("file".into()),
1057 options: None,
1058 proto3_optional: None,
1059 }],
1060 extension: vec![],
1061 nested_type: vec![],
1062 enum_type: vec![],
1063 extension_range: vec![],
1064 oneof_decl: vec![],
1065 options: None,
1066 reserved_range: vec![],
1067 reserved_name: vec![],
1068 },
1069 DescriptorProto {
1070 name: Some("FileDescriptorProto".into()),
1071 field: vec![
1072 FieldDescriptorProto {
1073 name: Some("name".into()),
1074 number: Some(1),
1075 label: Some(Optional.into()),
1076 r#type: Some(String.into()),
1077 type_name: None,
1078 extendee: None,
1079 default_value: None,
1080 oneof_index: None,
1081 json_name: Some("name".into()),
1082 options: None,
1083 proto3_optional: None,
1084 },
1085 FieldDescriptorProto {
1086 name: Some("package".into()),
1087 number: Some(2),
1088 label: Some(Optional.into()),
1089 r#type: Some(String.into()),
1090 type_name: None,
1091 extendee: None,
1092 default_value: None,
1093 oneof_index: None,
1094 json_name: Some("package".into()),
1095 options: None,
1096 proto3_optional: None,
1097 },
1098 FieldDescriptorProto {
1099 name: Some("dependency".into()),
1100 number: Some(3),
1101 label: Some(Repeated.into()),
1102 r#type: Some(String.into()),
1103 type_name: None,
1104 extendee: None,
1105 default_value: None,
1106 oneof_index: None,
1107 json_name: Some("dependency".into()),
1108 options: None,
1109 proto3_optional: None,
1110 },
1111 FieldDescriptorProto {
1112 name: Some("public_dependency".into()),
1113 number: Some(10),
1114 label: Some(Repeated.into()),
1115 r#type: Some(Int32.into()),
1116 type_name: None,
1117 extendee: None,
1118 default_value: None,
1119 oneof_index: None,
1120 json_name: Some("publicDependency".into()),
1121 options: None,
1122 proto3_optional: None,
1123 },
1124 FieldDescriptorProto {
1125 name: Some("weak_dependency".into()),
1126 number: Some(11),
1127 label: Some(Repeated.into()),
1128 r#type: Some(Int32.into()),
1129 type_name: None,
1130 extendee: None,
1131 default_value: None,
1132 oneof_index: None,
1133 json_name: Some("weakDependency".into()),
1134 options: None,
1135 proto3_optional: None,
1136 },
1137 FieldDescriptorProto {
1138 name: Some("message_type".into()),
1139 number: Some(4),
1140 label: Some(Repeated.into()),
1141 r#type: Some(Message.into()),
1142 type_name: Some(".google.protobuf.DescriptorProto".into()),
1143 extendee: None,
1144 default_value: None,
1145 oneof_index: None,
1146 json_name: Some("messageType".into()),
1147 options: None,
1148 proto3_optional: None,
1149 },
1150 FieldDescriptorProto {
1151 name: Some("enum_type".into()),
1152 number: Some(5),
1153 label: Some(Repeated.into()),
1154 r#type: Some(Message.into()),
1155 type_name: Some(".google.protobuf.EnumDescriptorProto".into()),
1156 extendee: None,
1157 default_value: None,
1158 oneof_index: None,
1159 json_name: Some("enumType".into()),
1160 options: None,
1161 proto3_optional: None,
1162 },
1163 FieldDescriptorProto {
1164 name: Some("service".into()),
1165 number: Some(6),
1166 label: Some(Repeated.into()),
1167 r#type: Some(Message.into()),
1168 type_name: Some(".google.protobuf.ServiceDescriptorProto".into()),
1169 extendee: None,
1170 default_value: None,
1171 oneof_index: None,
1172 json_name: Some("service".into()),
1173 options: None,
1174 proto3_optional: None,
1175 },
1176 FieldDescriptorProto {
1177 name: Some("extension".into()),
1178 number: Some(7),
1179 label: Some(Repeated.into()),
1180 r#type: Some(Message.into()),
1181 type_name: Some(".google.protobuf.FieldDescriptorProto".into()),
1182 extendee: None,
1183 default_value: None,
1184 oneof_index: None,
1185 json_name: Some("extension".into()),
1186 options: None,
1187 proto3_optional: None,
1188 },
1189 FieldDescriptorProto {
1190 name: Some("options".into()),
1191 number: Some(8),
1192 label: Some(Optional.into()),
1193 r#type: Some(Message.into()),
1194 type_name: Some(".google.protobuf.FileOptions".into()),
1195 extendee: None,
1196 default_value: None,
1197 oneof_index: None,
1198 json_name: Some("options".into()),
1199 options: None,
1200 proto3_optional: None,
1201 },
1202 FieldDescriptorProto {
1203 name: Some("source_code_info".into()),
1204 number: Some(9),
1205 label: Some(Optional.into()),
1206 r#type: Some(Message.into()),
1207 type_name: Some(".google.protobuf.SourceCodeInfo".into()),
1208 extendee: None,
1209 default_value: None,
1210 oneof_index: None,
1211 json_name: Some("sourceCodeInfo".into()),
1212 options: None,
1213 proto3_optional: None,
1214 },
1215 FieldDescriptorProto {
1216 name: Some("syntax".into()),
1217 number: Some(12),
1218 label: Some(Optional.into()),
1219 r#type: Some(String.into()),
1220 type_name: None,
1221 extendee: None,
1222 default_value: None,
1223 oneof_index: None,
1224 json_name: Some("syntax".into()),
1225 options: None,
1226 proto3_optional: None,
1227 },
1228 FieldDescriptorProto {
1229 name: Some("edition".into()),
1230 number: Some(13),
1231 label: Some(Optional.into()),
1232 r#type: Some(String.into()),
1233 type_name: None,
1234 extendee: None,
1235 default_value: None,
1236 oneof_index: None,
1237 json_name: Some("edition".into()),
1238 options: None,
1239 proto3_optional: None,
1240 },
1241 ],
1242 extension: vec![],
1243 nested_type: vec![],
1244 enum_type: vec![],
1245 extension_range: vec![],
1246 oneof_decl: vec![],
1247 options: None,
1248 reserved_range: vec![],
1249 reserved_name: vec![],
1250 },
1251 DescriptorProto {
1252 name: Some("DescriptorProto".into()),
1253 field: vec![
1254 FieldDescriptorProto {
1255 name: Some("name".into()),
1256 number: Some(1),
1257 label: Some(Optional.into()),
1258 r#type: Some(String.into()),
1259 type_name: None,
1260 extendee: None,
1261 default_value: None,
1262 oneof_index: None,
1263 json_name: Some("name".into()),
1264 options: None,
1265 proto3_optional: None,
1266 },
1267 FieldDescriptorProto {
1268 name: Some("field".into()),
1269 number: Some(2),
1270 label: Some(Repeated.into()),
1271 r#type: Some(Message.into()),
1272 type_name: Some(".google.protobuf.FieldDescriptorProto".into()),
1273 extendee: None,
1274 default_value: None,
1275 oneof_index: None,
1276 json_name: Some("field".into()),
1277 options: None,
1278 proto3_optional: None,
1279 },
1280 FieldDescriptorProto {
1281 name: Some("extension".into()),
1282 number: Some(6),
1283 label: Some(Repeated.into()),
1284 r#type: Some(Message.into()),
1285 type_name: Some(".google.protobuf.FieldDescriptorProto".into()),
1286 extendee: None,
1287 default_value: None,
1288 oneof_index: None,
1289 json_name: Some("extension".into()),
1290 options: None,
1291 proto3_optional: None,
1292 },
1293 FieldDescriptorProto {
1294 name: Some("nested_type".into()),
1295 number: Some(3),
1296 label: Some(Repeated.into()),
1297 r#type: Some(Message.into()),
1298 type_name: Some(".google.protobuf.DescriptorProto".into()),
1299 extendee: None,
1300 default_value: None,
1301 oneof_index: None,
1302 json_name: Some("nestedType".into()),
1303 options: None,
1304 proto3_optional: None,
1305 },
1306 FieldDescriptorProto {
1307 name: Some("enum_type".into()),
1308 number: Some(4),
1309 label: Some(Repeated.into()),
1310 r#type: Some(Message.into()),
1311 type_name: Some(".google.protobuf.EnumDescriptorProto".into()),
1312 extendee: None,
1313 default_value: None,
1314 oneof_index: None,
1315 json_name: Some("enumType".into()),
1316 options: None,
1317 proto3_optional: None,
1318 },
1319 FieldDescriptorProto {
1320 name: Some("extension_range".into()),
1321 number: Some(5),
1322 label: Some(Repeated.into()),
1323 r#type: Some(Message.into()),
1324 type_name: Some(
1325 ".google.protobuf.DescriptorProto.ExtensionRange".into(),
1326 ),
1327 extendee: None,
1328 default_value: None,
1329 oneof_index: None,
1330 json_name: Some("extensionRange".into()),
1331 options: None,
1332 proto3_optional: None,
1333 },
1334 FieldDescriptorProto {
1335 name: Some("oneof_decl".into()),
1336 number: Some(8),
1337 label: Some(Repeated.into()),
1338 r#type: Some(Message.into()),
1339 type_name: Some(".google.protobuf.OneofDescriptorProto".into()),
1340 extendee: None,
1341 default_value: None,
1342 oneof_index: None,
1343 json_name: Some("oneofDecl".into()),
1344 options: None,
1345 proto3_optional: None,
1346 },
1347 FieldDescriptorProto {
1348 name: Some("options".into()),
1349 number: Some(7),
1350 label: Some(Optional.into()),
1351 r#type: Some(Message.into()),
1352 type_name: Some(".google.protobuf.MessageOptions".into()),
1353 extendee: None,
1354 default_value: None,
1355 oneof_index: None,
1356 json_name: Some("options".into()),
1357 options: None,
1358 proto3_optional: None,
1359 },
1360 FieldDescriptorProto {
1361 name: Some("reserved_range".into()),
1362 number: Some(9),
1363 label: Some(Repeated.into()),
1364 r#type: Some(Message.into()),
1365 type_name: Some(
1366 ".google.protobuf.DescriptorProto.ReservedRange".into(),
1367 ),
1368 extendee: None,
1369 default_value: None,
1370 oneof_index: None,
1371 json_name: Some("reservedRange".into()),
1372 options: None,
1373 proto3_optional: None,
1374 },
1375 FieldDescriptorProto {
1376 name: Some("reserved_name".into()),
1377 number: Some(10),
1378 label: Some(Repeated.into()),
1379 r#type: Some(String.into()),
1380 type_name: None,
1381 extendee: None,
1382 default_value: None,
1383 oneof_index: None,
1384 json_name: Some("reservedName".into()),
1385 options: None,
1386 proto3_optional: None,
1387 },
1388 ],
1389 extension: vec![],
1390 nested_type: vec![
1391 DescriptorProto {
1392 name: Some("ExtensionRange".into()),
1393 field: vec![
1394 FieldDescriptorProto {
1395 name: Some("start".into()),
1396 number: Some(1),
1397 label: Some(Optional.into()),
1398 r#type: Some(Int32.into()),
1399 type_name: None,
1400 extendee: None,
1401 default_value: None,
1402 oneof_index: None,
1403 json_name: Some("start".into()),
1404 options: None,
1405 proto3_optional: None,
1406 },
1407 FieldDescriptorProto {
1408 name: Some("end".into()),
1409 number: Some(2),
1410 label: Some(Optional.into()),
1411 r#type: Some(Int32.into()),
1412 type_name: None,
1413 extendee: None,
1414 default_value: None,
1415 oneof_index: None,
1416 json_name: Some("end".into()),
1417 options: None,
1418 proto3_optional: None,
1419 },
1420 FieldDescriptorProto {
1421 name: Some("options".into()),
1422 number: Some(3),
1423 label: Some(Optional.into()),
1424 r#type: Some(Message.into()),
1425 type_name: Some(
1426 ".google.protobuf.ExtensionRangeOptions".into(),
1427 ),
1428 extendee: None,
1429 default_value: None,
1430 oneof_index: None,
1431 json_name: Some("options".into()),
1432 options: None,
1433 proto3_optional: None,
1434 },
1435 ],
1436 extension: vec![],
1437 nested_type: vec![],
1438 enum_type: vec![],
1439 extension_range: vec![],
1440 oneof_decl: vec![],
1441 options: None,
1442 reserved_range: vec![],
1443 reserved_name: vec![],
1444 },
1445 DescriptorProto {
1446 name: Some("ReservedRange".into()),
1447 field: vec![
1448 FieldDescriptorProto {
1449 name: Some("start".into()),
1450 number: Some(1),
1451 label: Some(Optional.into()),
1452 r#type: Some(Int32.into()),
1453 type_name: None,
1454 extendee: None,
1455 default_value: None,
1456 oneof_index: None,
1457 json_name: Some("start".into()),
1458 options: None,
1459 proto3_optional: None,
1460 },
1461 FieldDescriptorProto {
1462 name: Some("end".into()),
1463 number: Some(2),
1464 label: Some(Optional.into()),
1465 r#type: Some(Int32.into()),
1466 type_name: None,
1467 extendee: None,
1468 default_value: None,
1469 oneof_index: None,
1470 json_name: Some("end".into()),
1471 options: None,
1472 proto3_optional: None,
1473 },
1474 ],
1475 extension: vec![],
1476 nested_type: vec![],
1477 enum_type: vec![],
1478 extension_range: vec![],
1479 oneof_decl: vec![],
1480 options: None,
1481 reserved_range: vec![],
1482 reserved_name: vec![],
1483 },
1484 ],
1485 enum_type: vec![],
1486 extension_range: vec![],
1487 oneof_decl: vec![],
1488 options: None,
1489 reserved_range: vec![],
1490 reserved_name: vec![],
1491 },
1492 DescriptorProto {
1493 name: Some("ExtensionRangeOptions".into()),
1494 field: vec![FieldDescriptorProto {
1495 name: Some("uninterpreted_option".into()),
1496 number: Some(999),
1497 label: Some(Repeated.into()),
1498 r#type: Some(Message.into()),
1499 type_name: Some(".google.protobuf.UninterpretedOption".into()),
1500 extendee: None,
1501 default_value: None,
1502 oneof_index: None,
1503 json_name: Some("uninterpretedOption".into()),
1504 options: None,
1505 proto3_optional: None,
1506 }],
1507 extension: vec![],
1508 nested_type: vec![],
1509 enum_type: vec![],
1510 extension_range: vec![ExtensionRange {
1511 start: Some(1000),
1512 end: Some(536870912),
1513 options: None,
1514 }],
1515 oneof_decl: vec![],
1516 options: None,
1517 reserved_range: vec![],
1518 reserved_name: vec![],
1519 },
1520 DescriptorProto {
1521 name: Some("FieldDescriptorProto".into()),
1522 field: vec![
1523 FieldDescriptorProto {
1524 name: Some("name".into()),
1525 number: Some(1),
1526 label: Some(Optional.into()),
1527 r#type: Some(String.into()),
1528 type_name: None,
1529 extendee: None,
1530 default_value: None,
1531 oneof_index: None,
1532 json_name: Some("name".into()),
1533 options: None,
1534 proto3_optional: None,
1535 },
1536 FieldDescriptorProto {
1537 name: Some("number".into()),
1538 number: Some(3),
1539 label: Some(Optional.into()),
1540 r#type: Some(Int32.into()),
1541 type_name: None,
1542 extendee: None,
1543 default_value: None,
1544 oneof_index: None,
1545 json_name: Some("number".into()),
1546 options: None,
1547 proto3_optional: None,
1548 },
1549 FieldDescriptorProto {
1550 name: Some("label".into()),
1551 number: Some(4),
1552 label: Some(Optional.into()),
1553 r#type: Some(Enum.into()),
1554 type_name: Some(
1555 ".google.protobuf.FieldDescriptorProto.Label".into(),
1556 ),
1557 extendee: None,
1558 default_value: None,
1559 oneof_index: None,
1560 json_name: Some("label".into()),
1561 options: None,
1562 proto3_optional: None,
1563 },
1564 FieldDescriptorProto {
1565 name: Some("type".into()),
1566 number: Some(5),
1567 label: Some(Optional.into()),
1568 r#type: Some(Enum.into()),
1569 type_name: Some(
1570 ".google.protobuf.FieldDescriptorProto.Type".into(),
1571 ),
1572 extendee: None,
1573 default_value: None,
1574 oneof_index: None,
1575 json_name: Some("type".into()),
1576 options: None,
1577 proto3_optional: None,
1578 },
1579 FieldDescriptorProto {
1580 name: Some("type_name".into()),
1581 number: Some(6),
1582 label: Some(Optional.into()),
1583 r#type: Some(String.into()),
1584 type_name: None,
1585 extendee: None,
1586 default_value: None,
1587 oneof_index: None,
1588 json_name: Some("typeName".into()),
1589 options: None,
1590 proto3_optional: None,
1591 },
1592 FieldDescriptorProto {
1593 name: Some("extendee".into()),
1594 number: Some(2),
1595 label: Some(Optional.into()),
1596 r#type: Some(String.into()),
1597 type_name: None,
1598 extendee: None,
1599 default_value: None,
1600 oneof_index: None,
1601 json_name: Some("extendee".into()),
1602 options: None,
1603 proto3_optional: None,
1604 },
1605 FieldDescriptorProto {
1606 name: Some("default_value".into()),
1607 number: Some(7),
1608 label: Some(Optional.into()),
1609 r#type: Some(String.into()),
1610 type_name: None,
1611 extendee: None,
1612 default_value: None,
1613 oneof_index: None,
1614 json_name: Some("defaultValue".into()),
1615 options: None,
1616 proto3_optional: None,
1617 },
1618 FieldDescriptorProto {
1619 name: Some("oneof_index".into()),
1620 number: Some(9),
1621 label: Some(Optional.into()),
1622 r#type: Some(Int32.into()),
1623 type_name: None,
1624 extendee: None,
1625 default_value: None,
1626 oneof_index: None,
1627 json_name: Some("oneofIndex".into()),
1628 options: None,
1629 proto3_optional: None,
1630 },
1631 FieldDescriptorProto {
1632 name: Some("json_name".into()),
1633 number: Some(10),
1634 label: Some(Optional.into()),
1635 r#type: Some(String.into()),
1636 type_name: None,
1637 extendee: None,
1638 default_value: None,
1639 oneof_index: None,
1640 json_name: Some("jsonName".into()),
1641 options: None,
1642 proto3_optional: None,
1643 },
1644 FieldDescriptorProto {
1645 name: Some("options".into()),
1646 number: Some(8),
1647 label: Some(Optional.into()),
1648 r#type: Some(Message.into()),
1649 type_name: Some(".google.protobuf.FieldOptions".into()),
1650 extendee: None,
1651 default_value: None,
1652 oneof_index: None,
1653 json_name: Some("options".into()),
1654 options: None,
1655 proto3_optional: None,
1656 },
1657 FieldDescriptorProto {
1658 name: Some("proto3_optional".into()),
1659 number: Some(17),
1660 label: Some(Optional.into()),
1661 r#type: Some(Bool.into()),
1662 type_name: None,
1663 extendee: None,
1664 default_value: None,
1665 oneof_index: None,
1666 json_name: Some("proto3Optional".into()),
1667 options: None,
1668 proto3_optional: None,
1669 },
1670 ],
1671 extension: vec![],
1672 nested_type: vec![],
1673 enum_type: vec![
1674 EnumDescriptorProto {
1675 name: Some("Type".into()),
1676 value: vec![
1677 EnumValueDescriptorProto {
1678 name: Some("TYPE_DOUBLE".into()),
1679 number: Some(1),
1680 options: None,
1681 },
1682 EnumValueDescriptorProto {
1683 name: Some("TYPE_FLOAT".into()),
1684 number: Some(2),
1685 options: None,
1686 },
1687 EnumValueDescriptorProto {
1688 name: Some("TYPE_INT64".into()),
1689 number: Some(3),
1690 options: None,
1691 },
1692 EnumValueDescriptorProto {
1693 name: Some("TYPE_UINT64".into()),
1694 number: Some(4),
1695 options: None,
1696 },
1697 EnumValueDescriptorProto {
1698 name: Some("TYPE_INT32".into()),
1699 number: Some(5),
1700 options: None,
1701 },
1702 EnumValueDescriptorProto {
1703 name: Some("TYPE_FIXED64".into()),
1704 number: Some(6),
1705 options: None,
1706 },
1707 EnumValueDescriptorProto {
1708 name: Some("TYPE_FIXED32".into()),
1709 number: Some(7),
1710 options: None,
1711 },
1712 EnumValueDescriptorProto {
1713 name: Some("TYPE_BOOL".into()),
1714 number: Some(8),
1715 options: None,
1716 },
1717 EnumValueDescriptorProto {
1718 name: Some("TYPE_STRING".into()),
1719 number: Some(9),
1720 options: None,
1721 },
1722 EnumValueDescriptorProto {
1723 name: Some("TYPE_GROUP".into()),
1724 number: Some(10),
1725 options: None,
1726 },
1727 EnumValueDescriptorProto {
1728 name: Some("TYPE_MESSAGE".into()),
1729 number: Some(11),
1730 options: None,
1731 },
1732 EnumValueDescriptorProto {
1733 name: Some("TYPE_BYTES".into()),
1734 number: Some(12),
1735 options: None,
1736 },
1737 EnumValueDescriptorProto {
1738 name: Some("TYPE_UINT32".into()),
1739 number: Some(13),
1740 options: None,
1741 },
1742 EnumValueDescriptorProto {
1743 name: Some("TYPE_ENUM".into()),
1744 number: Some(14),
1745 options: None,
1746 },
1747 EnumValueDescriptorProto {
1748 name: Some("TYPE_SFIXED32".into()),
1749 number: Some(15),
1750 options: None,
1751 },
1752 EnumValueDescriptorProto {
1753 name: Some("TYPE_SFIXED64".into()),
1754 number: Some(16),
1755 options: None,
1756 },
1757 EnumValueDescriptorProto {
1758 name: Some("TYPE_SINT32".into()),
1759 number: Some(17),
1760 options: None,
1761 },
1762 EnumValueDescriptorProto {
1763 name: Some("TYPE_SINT64".into()),
1764 number: Some(18),
1765 options: None,
1766 },
1767 ],
1768 options: None,
1769 reserved_range: vec![],
1770 reserved_name: vec![],
1771 },
1772 EnumDescriptorProto {
1773 name: Some("Label".into()),
1774 value: vec![
1775 EnumValueDescriptorProto {
1776 name: Some("LABEL_OPTIONAL".into()),
1777 number: Some(1),
1778 options: None,
1779 },
1780 EnumValueDescriptorProto {
1781 name: Some("LABEL_REQUIRED".into()),
1782 number: Some(2),
1783 options: None,
1784 },
1785 EnumValueDescriptorProto {
1786 name: Some("LABEL_REPEATED".into()),
1787 number: Some(3),
1788 options: None,
1789 },
1790 ],
1791 options: None,
1792 reserved_range: vec![],
1793 reserved_name: vec![],
1794 },
1795 ],
1796 extension_range: vec![],
1797 oneof_decl: vec![],
1798 options: None,
1799 reserved_range: vec![],
1800 reserved_name: vec![],
1801 },
1802 DescriptorProto {
1803 name: Some("OneofDescriptorProto".into()),
1804 field: vec![
1805 FieldDescriptorProto {
1806 name: Some("name".into()),
1807 number: Some(1),
1808 label: Some(Optional.into()),
1809 r#type: Some(String.into()),
1810 type_name: None,
1811 extendee: None,
1812 default_value: None,
1813 oneof_index: None,
1814 json_name: Some("name".into()),
1815 options: None,
1816 proto3_optional: None,
1817 },
1818 FieldDescriptorProto {
1819 name: Some("options".into()),
1820 number: Some(2),
1821 label: Some(Optional.into()),
1822 r#type: Some(Message.into()),
1823 type_name: Some(".google.protobuf.OneofOptions".into()),
1824 extendee: None,
1825 default_value: None,
1826 oneof_index: None,
1827 json_name: Some("options".into()),
1828 options: None,
1829 proto3_optional: None,
1830 },
1831 ],
1832 extension: vec![],
1833 nested_type: vec![],
1834 enum_type: vec![],
1835 extension_range: vec![],
1836 oneof_decl: vec![],
1837 options: None,
1838 reserved_range: vec![],
1839 reserved_name: vec![],
1840 },
1841 DescriptorProto {
1842 name: Some("EnumDescriptorProto".into()),
1843 field: vec![
1844 FieldDescriptorProto {
1845 name: Some("name".into()),
1846 number: Some(1),
1847 label: Some(Optional.into()),
1848 r#type: Some(String.into()),
1849 type_name: None,
1850 extendee: None,
1851 default_value: None,
1852 oneof_index: None,
1853 json_name: Some("name".into()),
1854 options: None,
1855 proto3_optional: None,
1856 },
1857 FieldDescriptorProto {
1858 name: Some("value".into()),
1859 number: Some(2),
1860 label: Some(Repeated.into()),
1861 r#type: Some(Message.into()),
1862 type_name: Some(".google.protobuf.EnumValueDescriptorProto".into()),
1863 extendee: None,
1864 default_value: None,
1865 oneof_index: None,
1866 json_name: Some("value".into()),
1867 options: None,
1868 proto3_optional: None,
1869 },
1870 FieldDescriptorProto {
1871 name: Some("options".into()),
1872 number: Some(3),
1873 label: Some(Optional.into()),
1874 r#type: Some(Message.into()),
1875 type_name: Some(".google.protobuf.EnumOptions".into()),
1876 extendee: None,
1877 default_value: None,
1878 oneof_index: None,
1879 json_name: Some("options".into()),
1880 options: None,
1881 proto3_optional: None,
1882 },
1883 FieldDescriptorProto {
1884 name: Some("reserved_range".into()),
1885 number: Some(4),
1886 label: Some(Repeated.into()),
1887 r#type: Some(Message.into()),
1888 type_name: Some(
1889 ".google.protobuf.EnumDescriptorProto.EnumReservedRange".into(),
1890 ),
1891 extendee: None,
1892 default_value: None,
1893 oneof_index: None,
1894 json_name: Some("reservedRange".into()),
1895 options: None,
1896 proto3_optional: None,
1897 },
1898 FieldDescriptorProto {
1899 name: Some("reserved_name".into()),
1900 number: Some(5),
1901 label: Some(Repeated.into()),
1902 r#type: Some(String.into()),
1903 type_name: None,
1904 extendee: None,
1905 default_value: None,
1906 oneof_index: None,
1907 json_name: Some("reservedName".into()),
1908 options: None,
1909 proto3_optional: None,
1910 },
1911 ],
1912 extension: vec![],
1913 nested_type: vec![DescriptorProto {
1914 name: Some("EnumReservedRange".into()),
1915 field: vec![
1916 FieldDescriptorProto {
1917 name: Some("start".into()),
1918 number: Some(1),
1919 label: Some(Optional.into()),
1920 r#type: Some(Int32.into()),
1921 type_name: None,
1922 extendee: None,
1923 default_value: None,
1924 oneof_index: None,
1925 json_name: Some("start".into()),
1926 options: None,
1927 proto3_optional: None,
1928 },
1929 FieldDescriptorProto {
1930 name: Some("end".into()),
1931 number: Some(2),
1932 label: Some(Optional.into()),
1933 r#type: Some(Int32.into()),
1934 type_name: None,
1935 extendee: None,
1936 default_value: None,
1937 oneof_index: None,
1938 json_name: Some("end".into()),
1939 options: None,
1940 proto3_optional: None,
1941 },
1942 ],
1943 extension: vec![],
1944 nested_type: vec![],
1945 enum_type: vec![],
1946 extension_range: vec![],
1947 oneof_decl: vec![],
1948 options: None,
1949 reserved_range: vec![],
1950 reserved_name: vec![],
1951 }],
1952 enum_type: vec![],
1953 extension_range: vec![],
1954 oneof_decl: vec![],
1955 options: None,
1956 reserved_range: vec![],
1957 reserved_name: vec![],
1958 },
1959 DescriptorProto {
1960 name: Some("EnumValueDescriptorProto".into()),
1961 field: vec![
1962 FieldDescriptorProto {
1963 name: Some("name".into()),
1964 number: Some(1),
1965 label: Some(Optional.into()),
1966 r#type: Some(String.into()),
1967 type_name: None,
1968 extendee: None,
1969 default_value: None,
1970 oneof_index: None,
1971 json_name: Some("name".into()),
1972 options: None,
1973 proto3_optional: None,
1974 },
1975 FieldDescriptorProto {
1976 name: Some("number".into()),
1977 number: Some(2),
1978 label: Some(Optional.into()),
1979 r#type: Some(Int32.into()),
1980 type_name: None,
1981 extendee: None,
1982 default_value: None,
1983 oneof_index: None,
1984 json_name: Some("number".into()),
1985 options: None,
1986 proto3_optional: None,
1987 },
1988 FieldDescriptorProto {
1989 name: Some("options".into()),
1990 number: Some(3),
1991 label: Some(Optional.into()),
1992 r#type: Some(Message.into()),
1993 type_name: Some(".google.protobuf.EnumValueOptions".into()),
1994 extendee: None,
1995 default_value: None,
1996 oneof_index: None,
1997 json_name: Some("options".into()),
1998 options: None,
1999 proto3_optional: None,
2000 },
2001 ],
2002 extension: vec![],
2003 nested_type: vec![],
2004 enum_type: vec![],
2005 extension_range: vec![],
2006 oneof_decl: vec![],
2007 options: None,
2008 reserved_range: vec![],
2009 reserved_name: vec![],
2010 },
2011 DescriptorProto {
2012 name: Some("ServiceDescriptorProto".into()),
2013 field: vec![
2014 FieldDescriptorProto {
2015 name: Some("name".into()),
2016 number: Some(1),
2017 label: Some(Optional.into()),
2018 r#type: Some(String.into()),
2019 type_name: None,
2020 extendee: None,
2021 default_value: None,
2022 oneof_index: None,
2023 json_name: Some("name".into()),
2024 options: None,
2025 proto3_optional: None,
2026 },
2027 FieldDescriptorProto {
2028 name: Some("method".into()),
2029 number: Some(2),
2030 label: Some(Repeated.into()),
2031 r#type: Some(Message.into()),
2032 type_name: Some(".google.protobuf.MethodDescriptorProto".into()),
2033 extendee: None,
2034 default_value: None,
2035 oneof_index: None,
2036 json_name: Some("method".into()),
2037 options: None,
2038 proto3_optional: None,
2039 },
2040 FieldDescriptorProto {
2041 name: Some("options".into()),
2042 number: Some(3),
2043 label: Some(Optional.into()),
2044 r#type: Some(Message.into()),
2045 type_name: Some(".google.protobuf.ServiceOptions".into()),
2046 extendee: None,
2047 default_value: None,
2048 oneof_index: None,
2049 json_name: Some("options".into()),
2050 options: None,
2051 proto3_optional: None,
2052 },
2053 ],
2054 extension: vec![],
2055 nested_type: vec![],
2056 enum_type: vec![],
2057 extension_range: vec![],
2058 oneof_decl: vec![],
2059 options: None,
2060 reserved_range: vec![],
2061 reserved_name: vec![],
2062 },
2063 DescriptorProto {
2064 name: Some("MethodDescriptorProto".into()),
2065 field: vec![
2066 FieldDescriptorProto {
2067 name: Some("name".into()),
2068 number: Some(1),
2069 label: Some(Optional.into()),
2070 r#type: Some(String.into()),
2071 type_name: None,
2072 extendee: None,
2073 default_value: None,
2074 oneof_index: None,
2075 json_name: Some("name".into()),
2076 options: None,
2077 proto3_optional: None,
2078 },
2079 FieldDescriptorProto {
2080 name: Some("input_type".into()),
2081 number: Some(2),
2082 label: Some(Optional.into()),
2083 r#type: Some(String.into()),
2084 type_name: None,
2085 extendee: None,
2086 default_value: None,
2087 oneof_index: None,
2088 json_name: Some("inputType".into()),
2089 options: None,
2090 proto3_optional: None,
2091 },
2092 FieldDescriptorProto {
2093 name: Some("output_type".into()),
2094 number: Some(3),
2095 label: Some(Optional.into()),
2096 r#type: Some(String.into()),
2097 type_name: None,
2098 extendee: None,
2099 default_value: None,
2100 oneof_index: None,
2101 json_name: Some("outputType".into()),
2102 options: None,
2103 proto3_optional: None,
2104 },
2105 FieldDescriptorProto {
2106 name: Some("options".into()),
2107 number: Some(4),
2108 label: Some(Optional.into()),
2109 r#type: Some(Message.into()),
2110 type_name: Some(".google.protobuf.MethodOptions".into()),
2111 extendee: None,
2112 default_value: None,
2113 oneof_index: None,
2114 json_name: Some("options".into()),
2115 options: None,
2116 proto3_optional: None,
2117 },
2118 FieldDescriptorProto {
2119 name: Some("client_streaming".into()),
2120 number: Some(5),
2121 label: Some(Optional.into()),
2122 r#type: Some(Bool.into()),
2123 type_name: None,
2124 extendee: None,
2125 default_value: Some("false".into()),
2126 oneof_index: None,
2127 json_name: Some("clientStreaming".into()),
2128 options: None,
2129 proto3_optional: None,
2130 },
2131 FieldDescriptorProto {
2132 name: Some("server_streaming".into()),
2133 number: Some(6),
2134 label: Some(Optional.into()),
2135 r#type: Some(Bool.into()),
2136 type_name: None,
2137 extendee: None,
2138 default_value: Some("false".into()),
2139 oneof_index: None,
2140 json_name: Some("serverStreaming".into()),
2141 options: None,
2142 proto3_optional: None,
2143 },
2144 ],
2145 extension: vec![],
2146 nested_type: vec![],
2147 enum_type: vec![],
2148 extension_range: vec![],
2149 oneof_decl: vec![],
2150 options: None,
2151 reserved_range: vec![],
2152 reserved_name: vec![],
2153 },
2154 DescriptorProto {
2155 name: Some("FileOptions".into()),
2156 field: vec![
2157 FieldDescriptorProto {
2158 name: Some("java_package".into()),
2159 number: Some(1),
2160 label: Some(Optional.into()),
2161 r#type: Some(String.into()),
2162 type_name: None,
2163 extendee: None,
2164 default_value: None,
2165 oneof_index: None,
2166 json_name: Some("javaPackage".into()),
2167 options: None,
2168 proto3_optional: None,
2169 },
2170 FieldDescriptorProto {
2171 name: Some("java_outer_classname".into()),
2172 number: Some(8),
2173 label: Some(Optional.into()),
2174 r#type: Some(String.into()),
2175 type_name: None,
2176 extendee: None,
2177 default_value: None,
2178 oneof_index: None,
2179 json_name: Some("javaOuterClassname".into()),
2180 options: None,
2181 proto3_optional: None,
2182 },
2183 FieldDescriptorProto {
2184 name: Some("java_multiple_files".into()),
2185 number: Some(10),
2186 label: Some(Optional.into()),
2187 r#type: Some(Bool.into()),
2188 type_name: None,
2189 extendee: None,
2190 default_value: Some("false".into()),
2191 oneof_index: None,
2192 json_name: Some("javaMultipleFiles".into()),
2193 options: None,
2194 proto3_optional: None,
2195 },
2196 FieldDescriptorProto {
2197 name: Some("java_generate_equals_and_hash".into()),
2198 number: Some(20),
2199 label: Some(Optional.into()),
2200 r#type: Some(Bool.into()),
2201 type_name: None,
2202 extendee: None,
2203 default_value: None,
2204 oneof_index: None,
2205 json_name: Some("javaGenerateEqualsAndHash".into()),
2206 options: Some(Options::from_prost(FieldOptions {
2207 ctype: None,
2208 packed: None,
2209 jstype: None,
2210 lazy: None,
2211 deprecated: Some(true),
2212 weak: None,
2213 uninterpreted_option: vec![],
2214 })),
2215 proto3_optional: None,
2216 },
2217 FieldDescriptorProto {
2218 name: Some("java_string_check_utf8".into()),
2219 number: Some(27),
2220 label: Some(Optional.into()),
2221 r#type: Some(Bool.into()),
2222 type_name: None,
2223 extendee: None,
2224 default_value: Some("false".into()),
2225 oneof_index: None,
2226 json_name: Some("javaStringCheckUtf8".into()),
2227 options: None,
2228 proto3_optional: None,
2229 },
2230 FieldDescriptorProto {
2231 name: Some("optimize_for".into()),
2232 number: Some(9),
2233 label: Some(Optional.into()),
2234 r#type: Some(Enum.into()),
2235 type_name: Some(".google.protobuf.FileOptions.OptimizeMode".into()),
2236 extendee: None,
2237 default_value: Some("SPEED".into()),
2238 oneof_index: None,
2239 json_name: Some("optimizeFor".into()),
2240 options: None,
2241 proto3_optional: None,
2242 },
2243 FieldDescriptorProto {
2244 name: Some("go_package".into()),
2245 number: Some(11),
2246 label: Some(Optional.into()),
2247 r#type: Some(String.into()),
2248 type_name: None,
2249 extendee: None,
2250 default_value: None,
2251 oneof_index: None,
2252 json_name: Some("goPackage".into()),
2253 options: None,
2254 proto3_optional: None,
2255 },
2256 FieldDescriptorProto {
2257 name: Some("cc_generic_services".into()),
2258 number: Some(16),
2259 label: Some(Optional.into()),
2260 r#type: Some(Bool.into()),
2261 type_name: None,
2262 extendee: None,
2263 default_value: Some("false".into()),
2264 oneof_index: None,
2265 json_name: Some("ccGenericServices".into()),
2266 options: None,
2267 proto3_optional: None,
2268 },
2269 FieldDescriptorProto {
2270 name: Some("java_generic_services".into()),
2271 number: Some(17),
2272 label: Some(Optional.into()),
2273 r#type: Some(Bool.into()),
2274 type_name: None,
2275 extendee: None,
2276 default_value: Some("false".into()),
2277 oneof_index: None,
2278 json_name: Some("javaGenericServices".into()),
2279 options: None,
2280 proto3_optional: None,
2281 },
2282 FieldDescriptorProto {
2283 name: Some("py_generic_services".into()),
2284 number: Some(18),
2285 label: Some(Optional.into()),
2286 r#type: Some(Bool.into()),
2287 type_name: None,
2288 extendee: None,
2289 default_value: Some("false".into()),
2290 oneof_index: None,
2291 json_name: Some("pyGenericServices".into()),
2292 options: None,
2293 proto3_optional: None,
2294 },
2295 FieldDescriptorProto {
2296 name: Some("php_generic_services".into()),
2297 number: Some(42),
2298 label: Some(Optional.into()),
2299 r#type: Some(Bool.into()),
2300 type_name: None,
2301 extendee: None,
2302 default_value: Some("false".into()),
2303 oneof_index: None,
2304 json_name: Some("phpGenericServices".into()),
2305 options: None,
2306 proto3_optional: None,
2307 },
2308 FieldDescriptorProto {
2309 name: Some("deprecated".into()),
2310 number: Some(23),
2311 label: Some(Optional.into()),
2312 r#type: Some(Bool.into()),
2313 type_name: None,
2314 extendee: None,
2315 default_value: Some("false".into()),
2316 oneof_index: None,
2317 json_name: Some("deprecated".into()),
2318 options: None,
2319 proto3_optional: None,
2320 },
2321 FieldDescriptorProto {
2322 name: Some("cc_enable_arenas".into()),
2323 number: Some(31),
2324 label: Some(Optional.into()),
2325 r#type: Some(Bool.into()),
2326 type_name: None,
2327 extendee: None,
2328 default_value: Some("true".into()),
2329 oneof_index: None,
2330 json_name: Some("ccEnableArenas".into()),
2331 options: None,
2332 proto3_optional: None,
2333 },
2334 FieldDescriptorProto {
2335 name: Some("objc_class_prefix".into()),
2336 number: Some(36),
2337 label: Some(Optional.into()),
2338 r#type: Some(String.into()),
2339 type_name: None,
2340 extendee: None,
2341 default_value: None,
2342 oneof_index: None,
2343 json_name: Some("objcClassPrefix".into()),
2344 options: None,
2345 proto3_optional: None,
2346 },
2347 FieldDescriptorProto {
2348 name: Some("csharp_namespace".into()),
2349 number: Some(37),
2350 label: Some(Optional.into()),
2351 r#type: Some(String.into()),
2352 type_name: None,
2353 extendee: None,
2354 default_value: None,
2355 oneof_index: None,
2356 json_name: Some("csharpNamespace".into()),
2357 options: None,
2358 proto3_optional: None,
2359 },
2360 FieldDescriptorProto {
2361 name: Some("swift_prefix".into()),
2362 number: Some(39),
2363 label: Some(Optional.into()),
2364 r#type: Some(String.into()),
2365 type_name: None,
2366 extendee: None,
2367 default_value: None,
2368 oneof_index: None,
2369 json_name: Some("swiftPrefix".into()),
2370 options: None,
2371 proto3_optional: None,
2372 },
2373 FieldDescriptorProto {
2374 name: Some("php_class_prefix".into()),
2375 number: Some(40),
2376 label: Some(Optional.into()),
2377 r#type: Some(String.into()),
2378 type_name: None,
2379 extendee: None,
2380 default_value: None,
2381 oneof_index: None,
2382 json_name: Some("phpClassPrefix".into()),
2383 options: None,
2384 proto3_optional: None,
2385 },
2386 FieldDescriptorProto {
2387 name: Some("php_namespace".into()),
2388 number: Some(41),
2389 label: Some(Optional.into()),
2390 r#type: Some(String.into()),
2391 type_name: None,
2392 extendee: None,
2393 default_value: None,
2394 oneof_index: None,
2395 json_name: Some("phpNamespace".into()),
2396 options: None,
2397 proto3_optional: None,
2398 },
2399 FieldDescriptorProto {
2400 name: Some("php_metadata_namespace".into()),
2401 number: Some(44),
2402 label: Some(Optional.into()),
2403 r#type: Some(String.into()),
2404 type_name: None,
2405 extendee: None,
2406 default_value: None,
2407 oneof_index: None,
2408 json_name: Some("phpMetadataNamespace".into()),
2409 options: None,
2410 proto3_optional: None,
2411 },
2412 FieldDescriptorProto {
2413 name: Some("ruby_package".into()),
2414 number: Some(45),
2415 label: Some(Optional.into()),
2416 r#type: Some(String.into()),
2417 type_name: None,
2418 extendee: None,
2419 default_value: None,
2420 oneof_index: None,
2421 json_name: Some("rubyPackage".into()),
2422 options: None,
2423 proto3_optional: None,
2424 },
2425 FieldDescriptorProto {
2426 name: Some("uninterpreted_option".into()),
2427 number: Some(999),
2428 label: Some(Repeated.into()),
2429 r#type: Some(Message.into()),
2430 type_name: Some(".google.protobuf.UninterpretedOption".into()),
2431 extendee: None,
2432 default_value: None,
2433 oneof_index: None,
2434 json_name: Some("uninterpretedOption".into()),
2435 options: None,
2436 proto3_optional: None,
2437 },
2438 ],
2439 extension: vec![],
2440 nested_type: vec![],
2441 enum_type: vec![EnumDescriptorProto {
2442 name: Some("OptimizeMode".into()),
2443 value: vec![
2444 EnumValueDescriptorProto {
2445 name: Some("SPEED".into()),
2446 number: Some(1),
2447 options: None,
2448 },
2449 EnumValueDescriptorProto {
2450 name: Some("CODE_SIZE".into()),
2451 number: Some(2),
2452 options: None,
2453 },
2454 EnumValueDescriptorProto {
2455 name: Some("LITE_RUNTIME".into()),
2456 number: Some(3),
2457 options: None,
2458 },
2459 ],
2460 options: None,
2461 reserved_range: vec![],
2462 reserved_name: vec![],
2463 }],
2464 extension_range: vec![ExtensionRange {
2465 start: Some(1000),
2466 end: Some(536870912),
2467 options: None,
2468 }],
2469 oneof_decl: vec![],
2470 options: None,
2471 reserved_range: vec![ReservedRange {
2472 start: Some(38),
2473 end: Some(39),
2474 }],
2475 reserved_name: vec![],
2476 },
2477 DescriptorProto {
2478 name: Some("MessageOptions".into()),
2479 field: vec![
2480 FieldDescriptorProto {
2481 name: Some("message_set_wire_format".into()),
2482 number: Some(1),
2483 label: Some(Optional.into()),
2484 r#type: Some(Bool.into()),
2485 type_name: None,
2486 extendee: None,
2487 default_value: Some("false".into()),
2488 oneof_index: None,
2489 json_name: Some("messageSetWireFormat".into()),
2490 options: None,
2491 proto3_optional: None,
2492 },
2493 FieldDescriptorProto {
2494 name: Some("no_standard_descriptor_accessor".into()),
2495 number: Some(2),
2496 label: Some(Optional.into()),
2497 r#type: Some(Bool.into()),
2498 type_name: None,
2499 extendee: None,
2500 default_value: Some("false".into()),
2501 oneof_index: None,
2502 json_name: Some("noStandardDescriptorAccessor".into()),
2503 options: None,
2504 proto3_optional: None,
2505 },
2506 FieldDescriptorProto {
2507 name: Some("deprecated".into()),
2508 number: Some(3),
2509 label: Some(Optional.into()),
2510 r#type: Some(Bool.into()),
2511 type_name: None,
2512 extendee: None,
2513 default_value: Some("false".into()),
2514 oneof_index: None,
2515 json_name: Some("deprecated".into()),
2516 options: None,
2517 proto3_optional: None,
2518 },
2519 FieldDescriptorProto {
2520 name: Some("map_entry".into()),
2521 number: Some(7),
2522 label: Some(Optional.into()),
2523 r#type: Some(Bool.into()),
2524 type_name: None,
2525 extendee: None,
2526 default_value: None,
2527 oneof_index: None,
2528 json_name: Some("mapEntry".into()),
2529 options: None,
2530 proto3_optional: None,
2531 },
2532 FieldDescriptorProto {
2533 name: Some("uninterpreted_option".into()),
2534 number: Some(999),
2535 label: Some(Repeated.into()),
2536 r#type: Some(Message.into()),
2537 type_name: Some(".google.protobuf.UninterpretedOption".into()),
2538 extendee: None,
2539 default_value: None,
2540 oneof_index: None,
2541 json_name: Some("uninterpretedOption".into()),
2542 options: None,
2543 proto3_optional: None,
2544 },
2545 ],
2546 extension: vec![],
2547 nested_type: vec![],
2548 enum_type: vec![],
2549 extension_range: vec![ExtensionRange {
2550 start: Some(1000),
2551 end: Some(536870912),
2552 options: None,
2553 }],
2554 oneof_decl: vec![],
2555 options: None,
2556 reserved_range: vec![
2557 ReservedRange {
2558 start: Some(4),
2559 end: Some(5),
2560 },
2561 ReservedRange {
2562 start: Some(5),
2563 end: Some(6),
2564 },
2565 ReservedRange {
2566 start: Some(6),
2567 end: Some(7),
2568 },
2569 ReservedRange {
2570 start: Some(8),
2571 end: Some(9),
2572 },
2573 ReservedRange {
2574 start: Some(9),
2575 end: Some(10),
2576 },
2577 ],
2578 reserved_name: vec![],
2579 },
2580 DescriptorProto {
2581 name: Some("FieldOptions".into()),
2582 field: vec![
2583 FieldDescriptorProto {
2584 name: Some("ctype".into()),
2585 number: Some(1),
2586 label: Some(Optional.into()),
2587 r#type: Some(Enum.into()),
2588 type_name: Some(".google.protobuf.FieldOptions.CType".into()),
2589 extendee: None,
2590 default_value: Some("STRING".into()),
2591 oneof_index: None,
2592 json_name: Some("ctype".into()),
2593 options: None,
2594 proto3_optional: None,
2595 },
2596 FieldDescriptorProto {
2597 name: Some("packed".into()),
2598 number: Some(2),
2599 label: Some(Optional.into()),
2600 r#type: Some(Bool.into()),
2601 type_name: None,
2602 extendee: None,
2603 default_value: None,
2604 oneof_index: None,
2605 json_name: Some("packed".into()),
2606 options: None,
2607 proto3_optional: None,
2608 },
2609 FieldDescriptorProto {
2610 name: Some("jstype".into()),
2611 number: Some(6),
2612 label: Some(Optional.into()),
2613 r#type: Some(Enum.into()),
2614 type_name: Some(".google.protobuf.FieldOptions.JSType".into()),
2615 extendee: None,
2616 default_value: Some("JS_NORMAL".into()),
2617 oneof_index: None,
2618 json_name: Some("jstype".into()),
2619 options: None,
2620 proto3_optional: None,
2621 },
2622 FieldDescriptorProto {
2623 name: Some("lazy".into()),
2624 number: Some(5),
2625 label: Some(Optional.into()),
2626 r#type: Some(Bool.into()),
2627 type_name: None,
2628 extendee: None,
2629 default_value: Some("false".into()),
2630 oneof_index: None,
2631 json_name: Some("lazy".into()),
2632 options: None,
2633 proto3_optional: None,
2634 },
2635 FieldDescriptorProto {
2636 name: Some("unverified_lazy".into()),
2637 number: Some(15),
2638 label: Some(Optional.into()),
2639 r#type: Some(Bool.into()),
2640 type_name: None,
2641 extendee: None,
2642 default_value: Some("false".into()),
2643 oneof_index: None,
2644 json_name: Some("unverifiedLazy".into()),
2645 options: None,
2646 proto3_optional: None,
2647 },
2648 FieldDescriptorProto {
2649 name: Some("deprecated".into()),
2650 number: Some(3),
2651 label: Some(Optional.into()),
2652 r#type: Some(Bool.into()),
2653 type_name: None,
2654 extendee: None,
2655 default_value: Some("false".into()),
2656 oneof_index: None,
2657 json_name: Some("deprecated".into()),
2658 options: None,
2659 proto3_optional: None,
2660 },
2661 FieldDescriptorProto {
2662 name: Some("weak".into()),
2663 number: Some(10),
2664 label: Some(Optional.into()),
2665 r#type: Some(Bool.into()),
2666 type_name: None,
2667 extendee: None,
2668 default_value: Some("false".into()),
2669 oneof_index: None,
2670 json_name: Some("weak".into()),
2671 options: None,
2672 proto3_optional: None,
2673 },
2674 FieldDescriptorProto {
2675 name: Some("uninterpreted_option".into()),
2676 number: Some(999),
2677 label: Some(Repeated.into()),
2678 r#type: Some(Message.into()),
2679 type_name: Some(".google.protobuf.UninterpretedOption".into()),
2680 extendee: None,
2681 default_value: None,
2682 oneof_index: None,
2683 json_name: Some("uninterpretedOption".into()),
2684 options: None,
2685 proto3_optional: None,
2686 },
2687 ],
2688 extension: vec![],
2689 nested_type: vec![],
2690 enum_type: vec![
2691 EnumDescriptorProto {
2692 name: Some("CType".into()),
2693 value: vec![
2694 EnumValueDescriptorProto {
2695 name: Some("STRING".into()),
2696 number: Some(0),
2697 options: None,
2698 },
2699 EnumValueDescriptorProto {
2700 name: Some("CORD".into()),
2701 number: Some(1),
2702 options: None,
2703 },
2704 EnumValueDescriptorProto {
2705 name: Some("STRING_PIECE".into()),
2706 number: Some(2),
2707 options: None,
2708 },
2709 ],
2710 options: None,
2711 reserved_range: vec![],
2712 reserved_name: vec![],
2713 },
2714 EnumDescriptorProto {
2715 name: Some("JSType".into()),
2716 value: vec![
2717 EnumValueDescriptorProto {
2718 name: Some("JS_NORMAL".into()),
2719 number: Some(0),
2720 options: None,
2721 },
2722 EnumValueDescriptorProto {
2723 name: Some("JS_STRING".into()),
2724 number: Some(1),
2725 options: None,
2726 },
2727 EnumValueDescriptorProto {
2728 name: Some("JS_NUMBER".into()),
2729 number: Some(2),
2730 options: None,
2731 },
2732 ],
2733 options: None,
2734 reserved_range: vec![],
2735 reserved_name: vec![],
2736 },
2737 ],
2738 extension_range: vec![ExtensionRange {
2739 start: Some(1000),
2740 end: Some(536870912),
2741 options: None,
2742 }],
2743 oneof_decl: vec![],
2744 options: None,
2745 reserved_range: vec![ReservedRange {
2746 start: Some(4),
2747 end: Some(5),
2748 }],
2749 reserved_name: vec![],
2750 },
2751 DescriptorProto {
2752 name: Some("OneofOptions".into()),
2753 field: vec![FieldDescriptorProto {
2754 name: Some("uninterpreted_option".into()),
2755 number: Some(999),
2756 label: Some(Repeated.into()),
2757 r#type: Some(Message.into()),
2758 type_name: Some(".google.protobuf.UninterpretedOption".into()),
2759 extendee: None,
2760 default_value: None,
2761 oneof_index: None,
2762 json_name: Some("uninterpretedOption".into()),
2763 options: None,
2764 proto3_optional: None,
2765 }],
2766 extension: vec![],
2767 nested_type: vec![],
2768 enum_type: vec![],
2769 extension_range: vec![ExtensionRange {
2770 start: Some(1000),
2771 end: Some(536870912),
2772 options: None,
2773 }],
2774 oneof_decl: vec![],
2775 options: None,
2776 reserved_range: vec![],
2777 reserved_name: vec![],
2778 },
2779 DescriptorProto {
2780 name: Some("EnumOptions".into()),
2781 field: vec![
2782 FieldDescriptorProto {
2783 name: Some("allow_alias".into()),
2784 number: Some(2),
2785 label: Some(Optional.into()),
2786 r#type: Some(Bool.into()),
2787 type_name: None,
2788 extendee: None,
2789 default_value: None,
2790 oneof_index: None,
2791 json_name: Some("allowAlias".into()),
2792 options: None,
2793 proto3_optional: None,
2794 },
2795 FieldDescriptorProto {
2796 name: Some("deprecated".into()),
2797 number: Some(3),
2798 label: Some(Optional.into()),
2799 r#type: Some(Bool.into()),
2800 type_name: None,
2801 extendee: None,
2802 default_value: Some("false".into()),
2803 oneof_index: None,
2804 json_name: Some("deprecated".into()),
2805 options: None,
2806 proto3_optional: None,
2807 },
2808 FieldDescriptorProto {
2809 name: Some("uninterpreted_option".into()),
2810 number: Some(999),
2811 label: Some(Repeated.into()),
2812 r#type: Some(Message.into()),
2813 type_name: Some(".google.protobuf.UninterpretedOption".into()),
2814 extendee: None,
2815 default_value: None,
2816 oneof_index: None,
2817 json_name: Some("uninterpretedOption".into()),
2818 options: None,
2819 proto3_optional: None,
2820 },
2821 ],
2822 extension: vec![],
2823 nested_type: vec![],
2824 enum_type: vec![],
2825 extension_range: vec![ExtensionRange {
2826 start: Some(1000),
2827 end: Some(536870912),
2828 options: None,
2829 }],
2830 oneof_decl: vec![],
2831 options: None,
2832 reserved_range: vec![ReservedRange {
2833 start: Some(5),
2834 end: Some(6),
2835 }],
2836 reserved_name: vec![],
2837 },
2838 DescriptorProto {
2839 name: Some("EnumValueOptions".into()),
2840 field: vec![
2841 FieldDescriptorProto {
2842 name: Some("deprecated".into()),
2843 number: Some(1),
2844 label: Some(Optional.into()),
2845 r#type: Some(Bool.into()),
2846 type_name: None,
2847 extendee: None,
2848 default_value: Some("false".into()),
2849 oneof_index: None,
2850 json_name: Some("deprecated".into()),
2851 options: None,
2852 proto3_optional: None,
2853 },
2854 FieldDescriptorProto {
2855 name: Some("uninterpreted_option".into()),
2856 number: Some(999),
2857 label: Some(Repeated.into()),
2858 r#type: Some(Message.into()),
2859 type_name: Some(".google.protobuf.UninterpretedOption".into()),
2860 extendee: None,
2861 default_value: None,
2862 oneof_index: None,
2863 json_name: Some("uninterpretedOption".into()),
2864 options: None,
2865 proto3_optional: None,
2866 },
2867 ],
2868 extension: vec![],
2869 nested_type: vec![],
2870 enum_type: vec![],
2871 extension_range: vec![ExtensionRange {
2872 start: Some(1000),
2873 end: Some(536870912),
2874 options: None,
2875 }],
2876 oneof_decl: vec![],
2877 options: None,
2878 reserved_range: vec![],
2879 reserved_name: vec![],
2880 },
2881 DescriptorProto {
2882 name: Some("ServiceOptions".into()),
2883 field: vec![
2884 FieldDescriptorProto {
2885 name: Some("deprecated".into()),
2886 number: Some(33),
2887 label: Some(Optional.into()),
2888 r#type: Some(Bool.into()),
2889 type_name: None,
2890 extendee: None,
2891 default_value: Some("false".into()),
2892 oneof_index: None,
2893 json_name: Some("deprecated".into()),
2894 options: None,
2895 proto3_optional: None,
2896 },
2897 FieldDescriptorProto {
2898 name: Some("uninterpreted_option".into()),
2899 number: Some(999),
2900 label: Some(Repeated.into()),
2901 r#type: Some(Message.into()),
2902 type_name: Some(".google.protobuf.UninterpretedOption".into()),
2903 extendee: None,
2904 default_value: None,
2905 oneof_index: None,
2906 json_name: Some("uninterpretedOption".into()),
2907 options: None,
2908 proto3_optional: None,
2909 },
2910 ],
2911 extension: vec![],
2912 nested_type: vec![],
2913 enum_type: vec![],
2914 extension_range: vec![ExtensionRange {
2915 start: Some(1000),
2916 end: Some(536870912),
2917 options: None,
2918 }],
2919 oneof_decl: vec![],
2920 options: None,
2921 reserved_range: vec![],
2922 reserved_name: vec![],
2923 },
2924 DescriptorProto {
2925 name: Some("MethodOptions".into()),
2926 field: vec![
2927 FieldDescriptorProto {
2928 name: Some("deprecated".into()),
2929 number: Some(33),
2930 label: Some(Optional.into()),
2931 r#type: Some(Bool.into()),
2932 type_name: None,
2933 extendee: None,
2934 default_value: Some("false".into()),
2935 oneof_index: None,
2936 json_name: Some("deprecated".into()),
2937 options: None,
2938 proto3_optional: None,
2939 },
2940 FieldDescriptorProto {
2941 name: Some("idempotency_level".into()),
2942 number: Some(34),
2943 label: Some(Optional.into()),
2944 r#type: Some(Enum.into()),
2945 type_name: Some(
2946 ".google.protobuf.MethodOptions.IdempotencyLevel".into(),
2947 ),
2948 extendee: None,
2949 default_value: Some("IDEMPOTENCY_UNKNOWN".into()),
2950 oneof_index: None,
2951 json_name: Some("idempotencyLevel".into()),
2952 options: None,
2953 proto3_optional: None,
2954 },
2955 FieldDescriptorProto {
2956 name: Some("uninterpreted_option".into()),
2957 number: Some(999),
2958 label: Some(Repeated.into()),
2959 r#type: Some(Message.into()),
2960 type_name: Some(".google.protobuf.UninterpretedOption".into()),
2961 extendee: None,
2962 default_value: None,
2963 oneof_index: None,
2964 json_name: Some("uninterpretedOption".into()),
2965 options: None,
2966 proto3_optional: None,
2967 },
2968 ],
2969 extension: vec![],
2970 nested_type: vec![],
2971 enum_type: vec![EnumDescriptorProto {
2972 name: Some("IdempotencyLevel".into()),
2973 value: vec![
2974 EnumValueDescriptorProto {
2975 name: Some("IDEMPOTENCY_UNKNOWN".into()),
2976 number: Some(0),
2977 options: None,
2978 },
2979 EnumValueDescriptorProto {
2980 name: Some("NO_SIDE_EFFECTS".into()),
2981 number: Some(1),
2982 options: None,
2983 },
2984 EnumValueDescriptorProto {
2985 name: Some("IDEMPOTENT".into()),
2986 number: Some(2),
2987 options: None,
2988 },
2989 ],
2990 options: None,
2991 reserved_range: vec![],
2992 reserved_name: vec![],
2993 }],
2994 extension_range: vec![ExtensionRange {
2995 start: Some(1000),
2996 end: Some(536870912),
2997 options: None,
2998 }],
2999 oneof_decl: vec![],
3000 options: None,
3001 reserved_range: vec![],
3002 reserved_name: vec![],
3003 },
3004 DescriptorProto {
3005 name: Some("UninterpretedOption".into()),
3006 field: vec![
3007 FieldDescriptorProto {
3008 name: Some("name".into()),
3009 number: Some(2),
3010 label: Some(Repeated.into()),
3011 r#type: Some(Message.into()),
3012 type_name: Some(
3013 ".google.protobuf.UninterpretedOption.NamePart".into(),
3014 ),
3015 extendee: None,
3016 default_value: None,
3017 oneof_index: None,
3018 json_name: Some("name".into()),
3019 options: None,
3020 proto3_optional: None,
3021 },
3022 FieldDescriptorProto {
3023 name: Some("identifier_value".into()),
3024 number: Some(3),
3025 label: Some(Optional.into()),
3026 r#type: Some(String.into()),
3027 type_name: None,
3028 extendee: None,
3029 default_value: None,
3030 oneof_index: None,
3031 json_name: Some("identifierValue".into()),
3032 options: None,
3033 proto3_optional: None,
3034 },
3035 FieldDescriptorProto {
3036 name: Some("positive_int_value".into()),
3037 number: Some(4),
3038 label: Some(Optional.into()),
3039 r#type: Some(Uint64.into()),
3040 type_name: None,
3041 extendee: None,
3042 default_value: None,
3043 oneof_index: None,
3044 json_name: Some("positiveIntValue".into()),
3045 options: None,
3046 proto3_optional: None,
3047 },
3048 FieldDescriptorProto {
3049 name: Some("negative_int_value".into()),
3050 number: Some(5),
3051 label: Some(Optional.into()),
3052 r#type: Some(Int64.into()),
3053 type_name: None,
3054 extendee: None,
3055 default_value: None,
3056 oneof_index: None,
3057 json_name: Some("negativeIntValue".into()),
3058 options: None,
3059 proto3_optional: None,
3060 },
3061 FieldDescriptorProto {
3062 name: Some("double_value".into()),
3063 number: Some(6),
3064 label: Some(Optional.into()),
3065 r#type: Some(Double.into()),
3066 type_name: None,
3067 extendee: None,
3068 default_value: None,
3069 oneof_index: None,
3070 json_name: Some("doubleValue".into()),
3071 options: None,
3072 proto3_optional: None,
3073 },
3074 FieldDescriptorProto {
3075 name: Some("string_value".into()),
3076 number: Some(7),
3077 label: Some(Optional.into()),
3078 r#type: Some(Bytes.into()),
3079 type_name: None,
3080 extendee: None,
3081 default_value: None,
3082 oneof_index: None,
3083 json_name: Some("stringValue".into()),
3084 options: None,
3085 proto3_optional: None,
3086 },
3087 FieldDescriptorProto {
3088 name: Some("aggregate_value".into()),
3089 number: Some(8),
3090 label: Some(Optional.into()),
3091 r#type: Some(String.into()),
3092 type_name: None,
3093 extendee: None,
3094 default_value: None,
3095 oneof_index: None,
3096 json_name: Some("aggregateValue".into()),
3097 options: None,
3098 proto3_optional: None,
3099 },
3100 ],
3101 extension: vec![],
3102 nested_type: vec![DescriptorProto {
3103 name: Some("NamePart".into()),
3104 field: vec![
3105 FieldDescriptorProto {
3106 name: Some("name_part".into()),
3107 number: Some(1),
3108 label: Some(Required.into()),
3109 r#type: Some(String.into()),
3110 type_name: None,
3111 extendee: None,
3112 default_value: None,
3113 oneof_index: None,
3114 json_name: Some("namePart".into()),
3115 options: None,
3116 proto3_optional: None,
3117 },
3118 FieldDescriptorProto {
3119 name: Some("is_extension".into()),
3120 number: Some(2),
3121 label: Some(Required.into()),
3122 r#type: Some(Bool.into()),
3123 type_name: None,
3124 extendee: None,
3125 default_value: None,
3126 oneof_index: None,
3127 json_name: Some("isExtension".into()),
3128 options: None,
3129 proto3_optional: None,
3130 },
3131 ],
3132 extension: vec![],
3133 nested_type: vec![],
3134 enum_type: vec![],
3135 extension_range: vec![],
3136 oneof_decl: vec![],
3137 options: None,
3138 reserved_range: vec![],
3139 reserved_name: vec![],
3140 }],
3141 enum_type: vec![],
3142 extension_range: vec![],
3143 oneof_decl: vec![],
3144 options: None,
3145 reserved_range: vec![],
3146 reserved_name: vec![],
3147 },
3148 DescriptorProto {
3149 name: Some("SourceCodeInfo".into()),
3150 field: vec![FieldDescriptorProto {
3151 name: Some("location".into()),
3152 number: Some(1),
3153 label: Some(Repeated.into()),
3154 r#type: Some(Message.into()),
3155 type_name: Some(".google.protobuf.SourceCodeInfo.Location".into()),
3156 extendee: None,
3157 default_value: None,
3158 oneof_index: None,
3159 json_name: Some("location".into()),
3160 options: None,
3161 proto3_optional: None,
3162 }],
3163 extension: vec![],
3164 nested_type: vec![DescriptorProto {
3165 name: Some("Location".into()),
3166 field: vec![
3167 FieldDescriptorProto {
3168 name: Some("path".into()),
3169 number: Some(1),
3170 label: Some(Repeated.into()),
3171 r#type: Some(Int32.into()),
3172 type_name: None,
3173 extendee: None,
3174 default_value: None,
3175 oneof_index: None,
3176 json_name: Some("path".into()),
3177 options: Some(Options::from_prost(FieldOptions {
3178 ctype: None,
3179 packed: Some(true),
3180 jstype: None,
3181 lazy: None,
3182 deprecated: None,
3183 weak: None,
3184 uninterpreted_option: vec![],
3185 })),
3186 proto3_optional: None,
3187 },
3188 FieldDescriptorProto {
3189 name: Some("span".into()),
3190 number: Some(2),
3191 label: Some(Repeated.into()),
3192 r#type: Some(Int32.into()),
3193 type_name: None,
3194 extendee: None,
3195 default_value: None,
3196 oneof_index: None,
3197 json_name: Some("span".into()),
3198 options: Some(Options::from_prost(FieldOptions {
3199 ctype: None,
3200 packed: Some(true),
3201 jstype: None,
3202 lazy: None,
3203 deprecated: None,
3204 weak: None,
3205 uninterpreted_option: vec![],
3206 })),
3207 proto3_optional: None,
3208 },
3209 FieldDescriptorProto {
3210 name: Some("leading_comments".into()),
3211 number: Some(3),
3212 label: Some(Optional.into()),
3213 r#type: Some(String.into()),
3214 type_name: None,
3215 extendee: None,
3216 default_value: None,
3217 oneof_index: None,
3218 json_name: Some("leadingComments".into()),
3219 options: None,
3220 proto3_optional: None,
3221 },
3222 FieldDescriptorProto {
3223 name: Some("trailing_comments".into()),
3224 number: Some(4),
3225 label: Some(Optional.into()),
3226 r#type: Some(String.into()),
3227 type_name: None,
3228 extendee: None,
3229 default_value: None,
3230 oneof_index: None,
3231 json_name: Some("trailingComments".into()),
3232 options: None,
3233 proto3_optional: None,
3234 },
3235 FieldDescriptorProto {
3236 name: Some("leading_detached_comments".into()),
3237 number: Some(6),
3238 label: Some(Repeated.into()),
3239 r#type: Some(String.into()),
3240 type_name: None,
3241 extendee: None,
3242 default_value: None,
3243 oneof_index: None,
3244 json_name: Some("leadingDetachedComments".into()),
3245 options: None,
3246 proto3_optional: None,
3247 },
3248 ],
3249 extension: vec![],
3250 nested_type: vec![],
3251 enum_type: vec![],
3252 extension_range: vec![],
3253 oneof_decl: vec![],
3254 options: None,
3255 reserved_range: vec![],
3256 reserved_name: vec![],
3257 }],
3258 enum_type: vec![],
3259 extension_range: vec![],
3260 oneof_decl: vec![],
3261 options: None,
3262 reserved_range: vec![],
3263 reserved_name: vec![],
3264 },
3265 DescriptorProto {
3266 name: Some("GeneratedCodeInfo".into()),
3267 field: vec![FieldDescriptorProto {
3268 name: Some("annotation".into()),
3269 number: Some(1),
3270 label: Some(Repeated.into()),
3271 r#type: Some(Message.into()),
3272 type_name: Some(".google.protobuf.GeneratedCodeInfo.Annotation".into()),
3273 extendee: None,
3274 default_value: None,
3275 oneof_index: None,
3276 json_name: Some("annotation".into()),
3277 options: None,
3278 proto3_optional: None,
3279 }],
3280 extension: vec![],
3281 nested_type: vec![DescriptorProto {
3282 name: Some("Annotation".into()),
3283 field: vec![
3284 FieldDescriptorProto {
3285 name: Some("path".into()),
3286 number: Some(1),
3287 label: Some(Repeated.into()),
3288 r#type: Some(Int32.into()),
3289 type_name: None,
3290 extendee: None,
3291 default_value: None,
3292 oneof_index: None,
3293 json_name: Some("path".into()),
3294 options: Some(Options::from_prost(FieldOptions {
3295 ctype: None,
3296 packed: Some(true),
3297 jstype: None,
3298 lazy: None,
3299 deprecated: None,
3300 weak: None,
3301 uninterpreted_option: vec![],
3302 })),
3303 proto3_optional: None,
3304 },
3305 FieldDescriptorProto {
3306 name: Some("source_file".into()),
3307 number: Some(2),
3308 label: Some(Optional.into()),
3309 r#type: Some(String.into()),
3310 type_name: None,
3311 extendee: None,
3312 default_value: None,
3313 oneof_index: None,
3314 json_name: Some("sourceFile".into()),
3315 options: None,
3316 proto3_optional: None,
3317 },
3318 FieldDescriptorProto {
3319 name: Some("begin".into()),
3320 number: Some(3),
3321 label: Some(Optional.into()),
3322 r#type: Some(Int32.into()),
3323 type_name: None,
3324 extendee: None,
3325 default_value: None,
3326 oneof_index: None,
3327 json_name: Some("begin".into()),
3328 options: None,
3329 proto3_optional: None,
3330 },
3331 FieldDescriptorProto {
3332 name: Some("end".into()),
3333 number: Some(4),
3334 label: Some(Optional.into()),
3335 r#type: Some(Int32.into()),
3336 type_name: None,
3337 extendee: None,
3338 default_value: None,
3339 oneof_index: None,
3340 json_name: Some("end".into()),
3341 options: None,
3342 proto3_optional: None,
3343 },
3344 FieldDescriptorProto {
3345 name: Some("semantic".into()),
3346 number: Some(5),
3347 label: Some(Optional.into()),
3348 r#type: Some(Enum.into()),
3349 type_name: Some(
3350 ".google.protobuf.GeneratedCodeInfo.Annotation.Semantic"
3351 .into(),
3352 ),
3353 extendee: None,
3354 default_value: None,
3355 oneof_index: None,
3356 json_name: Some("semantic".into()),
3357 options: None,
3358 proto3_optional: None,
3359 },
3360 ],
3361 extension: vec![],
3362 nested_type: vec![],
3363 enum_type: vec![EnumDescriptorProto {
3364 name: Some("Semantic".into()),
3365 value: vec![
3366 EnumValueDescriptorProto {
3367 name: Some("NONE".into()),
3368 number: Some(0),
3369 options: None,
3370 },
3371 EnumValueDescriptorProto {
3372 name: Some("SET".into()),
3373 number: Some(1),
3374 options: None,
3375 },
3376 EnumValueDescriptorProto {
3377 name: Some("ALIAS".into()),
3378 number: Some(2),
3379 options: None,
3380 },
3381 ],
3382 options: None,
3383 reserved_range: vec![],
3384 reserved_name: vec![],
3385 }],
3386 extension_range: vec![],
3387 oneof_decl: vec![],
3388 options: None,
3389 reserved_range: vec![],
3390 reserved_name: vec![],
3391 }],
3392 enum_type: vec![],
3393 extension_range: vec![],
3394 oneof_decl: vec![],
3395 options: None,
3396 reserved_range: vec![],
3397 reserved_name: vec![],
3398 },
3399 ],
3400 enum_type: vec![],
3401 service: vec![],
3402 extension: vec![],
3403 options: Some(Options::from_prost(FileOptions {
3404 java_package: Some("com.google.protobuf".into()),
3405 java_outer_classname: Some("DescriptorProtos".into()),
3406 java_multiple_files: None,
3407 java_generate_equals_and_hash: None,
3408 java_string_check_utf8: None,
3409 optimize_for: Some(Speed.into()),
3410 go_package: Some("google.golang.org/protobuf/types/descriptorpb".into()),
3411 cc_generic_services: None,
3412 java_generic_services: None,
3413 py_generic_services: None,
3414 php_generic_services: None,
3415 deprecated: None,
3416 cc_enable_arenas: Some(true),
3417 objc_class_prefix: Some("GPB".into()),
3418 csharp_namespace: Some("Google.Protobuf.Reflection".into()),
3419 swift_prefix: None,
3420 php_class_prefix: None,
3421 php_namespace: None,
3422 php_metadata_namespace: None,
3423 ruby_package: None,
3424 uninterpreted_option: vec![],
3425 })),
3426 source_code_info: None,
3427 syntax: None,
3428 },
3429 FileDescriptorProto {
3430 name: Some("google/protobuf/duration.proto".into()),
3431 package: Some("google.protobuf".into()),
3432 dependency: vec![],
3433 public_dependency: vec![],
3434 weak_dependency: vec![],
3435 message_type: vec![DescriptorProto {
3436 name: Some("Duration".into()),
3437 field: vec![
3438 FieldDescriptorProto {
3439 name: Some("seconds".into()),
3440 number: Some(1),
3441 label: Some(Optional.into()),
3442 r#type: Some(Int64.into()),
3443 type_name: None,
3444 extendee: None,
3445 default_value: None,
3446 oneof_index: None,
3447 json_name: Some("seconds".into()),
3448 options: None,
3449 proto3_optional: None,
3450 },
3451 FieldDescriptorProto {
3452 name: Some("nanos".into()),
3453 number: Some(2),
3454 label: Some(Optional.into()),
3455 r#type: Some(Int32.into()),
3456 type_name: None,
3457 extendee: None,
3458 default_value: None,
3459 oneof_index: None,
3460 json_name: Some("nanos".into()),
3461 options: None,
3462 proto3_optional: None,
3463 },
3464 ],
3465 extension: vec![],
3466 nested_type: vec![],
3467 enum_type: vec![],
3468 extension_range: vec![],
3469 oneof_decl: vec![],
3470 options: None,
3471 reserved_range: vec![],
3472 reserved_name: vec![],
3473 }],
3474 enum_type: vec![],
3475 service: vec![],
3476 extension: vec![],
3477 options: Some(Options::from_prost(FileOptions {
3478 java_package: Some("com.google.protobuf".into()),
3479 java_outer_classname: Some("DurationProto".into()),
3480 java_multiple_files: Some(true),
3481 java_generate_equals_and_hash: None,
3482 java_string_check_utf8: None,
3483 optimize_for: None,
3484 go_package: Some("google.golang.org/protobuf/types/known/durationpb".into()),
3485 cc_generic_services: None,
3486 java_generic_services: None,
3487 py_generic_services: None,
3488 php_generic_services: None,
3489 deprecated: None,
3490 cc_enable_arenas: Some(true),
3491 objc_class_prefix: Some("GPB".into()),
3492 csharp_namespace: Some("Google.Protobuf.WellKnownTypes".into()),
3493 swift_prefix: None,
3494 php_class_prefix: None,
3495 php_namespace: None,
3496 php_metadata_namespace: None,
3497 ruby_package: None,
3498 uninterpreted_option: vec![],
3499 })),
3500 source_code_info: None,
3501 syntax: Some("proto3".into()),
3502 },
3503 FileDescriptorProto {
3504 name: Some("google/protobuf/empty.proto".into()),
3505 package: Some("google.protobuf".into()),
3506 dependency: vec![],
3507 public_dependency: vec![],
3508 weak_dependency: vec![],
3509 message_type: vec![DescriptorProto {
3510 name: Some("Empty".into()),
3511 field: vec![],
3512 extension: vec![],
3513 nested_type: vec![],
3514 enum_type: vec![],
3515 extension_range: vec![],
3516 oneof_decl: vec![],
3517 options: None,
3518 reserved_range: vec![],
3519 reserved_name: vec![],
3520 }],
3521 enum_type: vec![],
3522 service: vec![],
3523 extension: vec![],
3524 options: Some(Options::from_prost(FileOptions {
3525 java_package: Some("com.google.protobuf".into()),
3526 java_outer_classname: Some("EmptyProto".into()),
3527 java_multiple_files: Some(true),
3528 java_generate_equals_and_hash: None,
3529 java_string_check_utf8: None,
3530 optimize_for: None,
3531 go_package: Some("google.golang.org/protobuf/types/known/emptypb".into()),
3532 cc_generic_services: None,
3533 java_generic_services: None,
3534 py_generic_services: None,
3535 php_generic_services: None,
3536 deprecated: None,
3537 cc_enable_arenas: Some(true),
3538 objc_class_prefix: Some("GPB".into()),
3539 csharp_namespace: Some("Google.Protobuf.WellKnownTypes".into()),
3540 swift_prefix: None,
3541 php_class_prefix: None,
3542 php_namespace: None,
3543 php_metadata_namespace: None,
3544 ruby_package: None,
3545 uninterpreted_option: vec![],
3546 })),
3547 source_code_info: None,
3548 syntax: Some("proto3".into()),
3549 },
3550 FileDescriptorProto {
3551 name: Some("google/protobuf/field_mask.proto".into()),
3552 package: Some("google.protobuf".into()),
3553 dependency: vec![],
3554 public_dependency: vec![],
3555 weak_dependency: vec![],
3556 message_type: vec![DescriptorProto {
3557 name: Some("FieldMask".into()),
3558 field: vec![FieldDescriptorProto {
3559 name: Some("paths".into()),
3560 number: Some(1),
3561 label: Some(Repeated.into()),
3562 r#type: Some(String.into()),
3563 type_name: None,
3564 extendee: None,
3565 default_value: None,
3566 oneof_index: None,
3567 json_name: Some("paths".into()),
3568 options: None,
3569 proto3_optional: None,
3570 }],
3571 extension: vec![],
3572 nested_type: vec![],
3573 enum_type: vec![],
3574 extension_range: vec![],
3575 oneof_decl: vec![],
3576 options: None,
3577 reserved_range: vec![],
3578 reserved_name: vec![],
3579 }],
3580 enum_type: vec![],
3581 service: vec![],
3582 extension: vec![],
3583 options: Some(Options::from_prost(FileOptions {
3584 java_package: Some("com.google.protobuf".into()),
3585 java_outer_classname: Some("FieldMaskProto".into()),
3586 java_multiple_files: Some(true),
3587 java_generate_equals_and_hash: None,
3588 java_string_check_utf8: None,
3589 optimize_for: None,
3590 go_package: Some("google.golang.org/protobuf/types/known/fieldmaskpb".into()),
3591 cc_generic_services: None,
3592 java_generic_services: None,
3593 py_generic_services: None,
3594 php_generic_services: None,
3595 deprecated: None,
3596 cc_enable_arenas: Some(true),
3597 objc_class_prefix: Some("GPB".into()),
3598 csharp_namespace: Some("Google.Protobuf.WellKnownTypes".into()),
3599 swift_prefix: None,
3600 php_class_prefix: None,
3601 php_namespace: None,
3602 php_metadata_namespace: None,
3603 ruby_package: None,
3604 uninterpreted_option: vec![],
3605 })),
3606 source_code_info: None,
3607 syntax: Some("proto3".into()),
3608 },
3609 FileDescriptorProto {
3610 name: Some("google/protobuf/struct.proto".into()),
3611 package: Some("google.protobuf".into()),
3612 dependency: vec![],
3613 public_dependency: vec![],
3614 weak_dependency: vec![],
3615 message_type: vec![
3616 DescriptorProto {
3617 name: Some("Struct".into()),
3618 field: vec![FieldDescriptorProto {
3619 name: Some("fields".into()),
3620 number: Some(1),
3621 label: Some(Repeated.into()),
3622 r#type: Some(Message.into()),
3623 type_name: Some(".google.protobuf.Struct.FieldsEntry".into()),
3624 extendee: None,
3625 default_value: None,
3626 oneof_index: None,
3627 json_name: Some("fields".into()),
3628 options: None,
3629 proto3_optional: None,
3630 }],
3631 extension: vec![],
3632 nested_type: vec![DescriptorProto {
3633 name: Some("FieldsEntry".into()),
3634 field: vec![
3635 FieldDescriptorProto {
3636 name: Some("key".into()),
3637 number: Some(1),
3638 label: Some(Optional.into()),
3639 r#type: Some(String.into()),
3640 type_name: None,
3641 extendee: None,
3642 default_value: None,
3643 oneof_index: None,
3644 json_name: Some("key".into()),
3645 options: None,
3646 proto3_optional: None,
3647 },
3648 FieldDescriptorProto {
3649 name: Some("value".into()),
3650 number: Some(2),
3651 label: Some(Optional.into()),
3652 r#type: Some(Message.into()),
3653 type_name: Some(".google.protobuf.Value".into()),
3654 extendee: None,
3655 default_value: None,
3656 oneof_index: None,
3657 json_name: Some("value".into()),
3658 options: None,
3659 proto3_optional: None,
3660 },
3661 ],
3662 extension: vec![],
3663 nested_type: vec![],
3664 enum_type: vec![],
3665 extension_range: vec![],
3666 oneof_decl: vec![],
3667 options: Some(Options::from_prost(MessageOptions {
3668 message_set_wire_format: None,
3669 no_standard_descriptor_accessor: None,
3670 deprecated: None,
3671 map_entry: Some(true),
3672 uninterpreted_option: vec![],
3673 })),
3674 reserved_range: vec![],
3675 reserved_name: vec![],
3676 }],
3677 enum_type: vec![],
3678 extension_range: vec![],
3679 oneof_decl: vec![],
3680 options: None,
3681 reserved_range: vec![],
3682 reserved_name: vec![],
3683 },
3684 DescriptorProto {
3685 name: Some("Value".into()),
3686 field: vec![
3687 FieldDescriptorProto {
3688 name: Some("null_value".into()),
3689 number: Some(1),
3690 label: Some(Optional.into()),
3691 r#type: Some(Enum.into()),
3692 type_name: Some(".google.protobuf.NullValue".into()),
3693 extendee: None,
3694 default_value: None,
3695 oneof_index: Some(0),
3696 json_name: Some("nullValue".into()),
3697 options: None,
3698 proto3_optional: None,
3699 },
3700 FieldDescriptorProto {
3701 name: Some("number_value".into()),
3702 number: Some(2),
3703 label: Some(Optional.into()),
3704 r#type: Some(Double.into()),
3705 type_name: None,
3706 extendee: None,
3707 default_value: None,
3708 oneof_index: Some(0),
3709 json_name: Some("numberValue".into()),
3710 options: None,
3711 proto3_optional: None,
3712 },
3713 FieldDescriptorProto {
3714 name: Some("string_value".into()),
3715 number: Some(3),
3716 label: Some(Optional.into()),
3717 r#type: Some(String.into()),
3718 type_name: None,
3719 extendee: None,
3720 default_value: None,
3721 oneof_index: Some(0),
3722 json_name: Some("stringValue".into()),
3723 options: None,
3724 proto3_optional: None,
3725 },
3726 FieldDescriptorProto {
3727 name: Some("bool_value".into()),
3728 number: Some(4),
3729 label: Some(Optional.into()),
3730 r#type: Some(Bool.into()),
3731 type_name: None,
3732 extendee: None,
3733 default_value: None,
3734 oneof_index: Some(0),
3735 json_name: Some("boolValue".into()),
3736 options: None,
3737 proto3_optional: None,
3738 },
3739 FieldDescriptorProto {
3740 name: Some("struct_value".into()),
3741 number: Some(5),
3742 label: Some(Optional.into()),
3743 r#type: Some(Message.into()),
3744 type_name: Some(".google.protobuf.Struct".into()),
3745 extendee: None,
3746 default_value: None,
3747 oneof_index: Some(0),
3748 json_name: Some("structValue".into()),
3749 options: None,
3750 proto3_optional: None,
3751 },
3752 FieldDescriptorProto {
3753 name: Some("list_value".into()),
3754 number: Some(6),
3755 label: Some(Optional.into()),
3756 r#type: Some(Message.into()),
3757 type_name: Some(".google.protobuf.ListValue".into()),
3758 extendee: None,
3759 default_value: None,
3760 oneof_index: Some(0),
3761 json_name: Some("listValue".into()),
3762 options: None,
3763 proto3_optional: None,
3764 },
3765 ],
3766 extension: vec![],
3767 nested_type: vec![],
3768 enum_type: vec![],
3769 extension_range: vec![],
3770 oneof_decl: vec![OneofDescriptorProto {
3771 name: Some("kind".into()),
3772 options: None,
3773 }],
3774 options: None,
3775 reserved_range: vec![],
3776 reserved_name: vec![],
3777 },
3778 DescriptorProto {
3779 name: Some("ListValue".into()),
3780 field: vec![FieldDescriptorProto {
3781 name: Some("values".into()),
3782 number: Some(1),
3783 label: Some(Repeated.into()),
3784 r#type: Some(Message.into()),
3785 type_name: Some(".google.protobuf.Value".into()),
3786 extendee: None,
3787 default_value: None,
3788 oneof_index: None,
3789 json_name: Some("values".into()),
3790 options: None,
3791 proto3_optional: None,
3792 }],
3793 extension: vec![],
3794 nested_type: vec![],
3795 enum_type: vec![],
3796 extension_range: vec![],
3797 oneof_decl: vec![],
3798 options: None,
3799 reserved_range: vec![],
3800 reserved_name: vec![],
3801 },
3802 ],
3803 enum_type: vec![EnumDescriptorProto {
3804 name: Some("NullValue".into()),
3805 value: vec![EnumValueDescriptorProto {
3806 name: Some("NULL_VALUE".into()),
3807 number: Some(0),
3808 options: None,
3809 }],
3810 options: None,
3811 reserved_range: vec![],
3812 reserved_name: vec![],
3813 }],
3814 service: vec![],
3815 extension: vec![],
3816 options: Some(Options::from_prost(FileOptions {
3817 java_package: Some("com.google.protobuf".into()),
3818 java_outer_classname: Some("StructProto".into()),
3819 java_multiple_files: Some(true),
3820 java_generate_equals_and_hash: None,
3821 java_string_check_utf8: None,
3822 optimize_for: None,
3823 go_package: Some("google.golang.org/protobuf/types/known/structpb".into()),
3824 cc_generic_services: None,
3825 java_generic_services: None,
3826 py_generic_services: None,
3827 php_generic_services: None,
3828 deprecated: None,
3829 cc_enable_arenas: Some(true),
3830 objc_class_prefix: Some("GPB".into()),
3831 csharp_namespace: Some("Google.Protobuf.WellKnownTypes".into()),
3832 swift_prefix: None,
3833 php_class_prefix: None,
3834 php_namespace: None,
3835 php_metadata_namespace: None,
3836 ruby_package: None,
3837 uninterpreted_option: vec![],
3838 })),
3839 source_code_info: None,
3840 syntax: Some("proto3".into()),
3841 },
3842 FileDescriptorProto {
3843 name: Some("google/protobuf/timestamp.proto".into()),
3844 package: Some("google.protobuf".into()),
3845 dependency: vec![],
3846 public_dependency: vec![],
3847 weak_dependency: vec![],
3848 message_type: vec![DescriptorProto {
3849 name: Some("Timestamp".into()),
3850 field: vec![
3851 FieldDescriptorProto {
3852 name: Some("seconds".into()),
3853 number: Some(1),
3854 label: Some(Optional.into()),
3855 r#type: Some(Int64.into()),
3856 type_name: None,
3857 extendee: None,
3858 default_value: None,
3859 oneof_index: None,
3860 json_name: Some("seconds".into()),
3861 options: None,
3862 proto3_optional: None,
3863 },
3864 FieldDescriptorProto {
3865 name: Some("nanos".into()),
3866 number: Some(2),
3867 label: Some(Optional.into()),
3868 r#type: Some(Int32.into()),
3869 type_name: None,
3870 extendee: None,
3871 default_value: None,
3872 oneof_index: None,
3873 json_name: Some("nanos".into()),
3874 options: None,
3875 proto3_optional: None,
3876 },
3877 ],
3878 extension: vec![],
3879 nested_type: vec![],
3880 enum_type: vec![],
3881 extension_range: vec![],
3882 oneof_decl: vec![],
3883 options: None,
3884 reserved_range: vec![],
3885 reserved_name: vec![],
3886 }],
3887 enum_type: vec![],
3888 service: vec![],
3889 extension: vec![],
3890 options: Some(Options::from_prost(FileOptions {
3891 java_package: Some("com.google.protobuf".into()),
3892 java_outer_classname: Some("TimestampProto".into()),
3893 java_multiple_files: Some(true),
3894 java_generate_equals_and_hash: None,
3895 java_string_check_utf8: None,
3896 optimize_for: None,
3897 go_package: Some("google.golang.org/protobuf/types/known/timestamppb".into()),
3898 cc_generic_services: None,
3899 java_generic_services: None,
3900 py_generic_services: None,
3901 php_generic_services: None,
3902 deprecated: None,
3903 cc_enable_arenas: Some(true),
3904 objc_class_prefix: Some("GPB".into()),
3905 csharp_namespace: Some("Google.Protobuf.WellKnownTypes".into()),
3906 swift_prefix: None,
3907 php_class_prefix: None,
3908 php_namespace: None,
3909 php_metadata_namespace: None,
3910 ruby_package: None,
3911 uninterpreted_option: vec![],
3912 })),
3913 source_code_info: None,
3914 syntax: Some("proto3".into()),
3915 },
3916 FileDescriptorProto {
3917 name: Some("google/protobuf/wrappers.proto".into()),
3918 package: Some("google.protobuf".into()),
3919 dependency: vec![],
3920 public_dependency: vec![],
3921 weak_dependency: vec![],
3922 message_type: vec![
3923 DescriptorProto {
3924 name: Some("DoubleValue".into()),
3925 field: vec![FieldDescriptorProto {
3926 name: Some("value".into()),
3927 number: Some(1),
3928 label: Some(Optional.into()),
3929 r#type: Some(Double.into()),
3930 type_name: None,
3931 extendee: None,
3932 default_value: None,
3933 oneof_index: None,
3934 json_name: Some("value".into()),
3935 options: None,
3936 proto3_optional: None,
3937 }],
3938 extension: vec![],
3939 nested_type: vec![],
3940 enum_type: vec![],
3941 extension_range: vec![],
3942 oneof_decl: vec![],
3943 options: None,
3944 reserved_range: vec![],
3945 reserved_name: vec![],
3946 },
3947 DescriptorProto {
3948 name: Some("FloatValue".into()),
3949 field: vec![FieldDescriptorProto {
3950 name: Some("value".into()),
3951 number: Some(1),
3952 label: Some(Optional.into()),
3953 r#type: Some(Float.into()),
3954 type_name: None,
3955 extendee: None,
3956 default_value: None,
3957 oneof_index: None,
3958 json_name: Some("value".into()),
3959 options: None,
3960 proto3_optional: None,
3961 }],
3962 extension: vec![],
3963 nested_type: vec![],
3964 enum_type: vec![],
3965 extension_range: vec![],
3966 oneof_decl: vec![],
3967 options: None,
3968 reserved_range: vec![],
3969 reserved_name: vec![],
3970 },
3971 DescriptorProto {
3972 name: Some("Int64Value".into()),
3973 field: vec![FieldDescriptorProto {
3974 name: Some("value".into()),
3975 number: Some(1),
3976 label: Some(Optional.into()),
3977 r#type: Some(Int64.into()),
3978 type_name: None,
3979 extendee: None,
3980 default_value: None,
3981 oneof_index: None,
3982 json_name: Some("value".into()),
3983 options: None,
3984 proto3_optional: None,
3985 }],
3986 extension: vec![],
3987 nested_type: vec![],
3988 enum_type: vec![],
3989 extension_range: vec![],
3990 oneof_decl: vec![],
3991 options: None,
3992 reserved_range: vec![],
3993 reserved_name: vec![],
3994 },
3995 DescriptorProto {
3996 name: Some("UInt64Value".into()),
3997 field: vec![FieldDescriptorProto {
3998 name: Some("value".into()),
3999 number: Some(1),
4000 label: Some(Optional.into()),
4001 r#type: Some(Uint64.into()),
4002 type_name: None,
4003 extendee: None,
4004 default_value: None,
4005 oneof_index: None,
4006 json_name: Some("value".into()),
4007 options: None,
4008 proto3_optional: None,
4009 }],
4010 extension: vec![],
4011 nested_type: vec![],
4012 enum_type: vec![],
4013 extension_range: vec![],
4014 oneof_decl: vec![],
4015 options: None,
4016 reserved_range: vec![],
4017 reserved_name: vec![],
4018 },
4019 DescriptorProto {
4020 name: Some("Int32Value".into()),
4021 field: vec![FieldDescriptorProto {
4022 name: Some("value".into()),
4023 number: Some(1),
4024 label: Some(Optional.into()),
4025 r#type: Some(Int32.into()),
4026 type_name: None,
4027 extendee: None,
4028 default_value: None,
4029 oneof_index: None,
4030 json_name: Some("value".into()),
4031 options: None,
4032 proto3_optional: None,
4033 }],
4034 extension: vec![],
4035 nested_type: vec![],
4036 enum_type: vec![],
4037 extension_range: vec![],
4038 oneof_decl: vec![],
4039 options: None,
4040 reserved_range: vec![],
4041 reserved_name: vec![],
4042 },
4043 DescriptorProto {
4044 name: Some("UInt32Value".into()),
4045 field: vec![FieldDescriptorProto {
4046 name: Some("value".into()),
4047 number: Some(1),
4048 label: Some(Optional.into()),
4049 r#type: Some(Uint32.into()),
4050 type_name: None,
4051 extendee: None,
4052 default_value: None,
4053 oneof_index: None,
4054 json_name: Some("value".into()),
4055 options: None,
4056 proto3_optional: None,
4057 }],
4058 extension: vec![],
4059 nested_type: vec![],
4060 enum_type: vec![],
4061 extension_range: vec![],
4062 oneof_decl: vec![],
4063 options: None,
4064 reserved_range: vec![],
4065 reserved_name: vec![],
4066 },
4067 DescriptorProto {
4068 name: Some("BoolValue".into()),
4069 field: vec![FieldDescriptorProto {
4070 name: Some("value".into()),
4071 number: Some(1),
4072 label: Some(Optional.into()),
4073 r#type: Some(Bool.into()),
4074 type_name: None,
4075 extendee: None,
4076 default_value: None,
4077 oneof_index: None,
4078 json_name: Some("value".into()),
4079 options: None,
4080 proto3_optional: None,
4081 }],
4082 extension: vec![],
4083 nested_type: vec![],
4084 enum_type: vec![],
4085 extension_range: vec![],
4086 oneof_decl: vec![],
4087 options: None,
4088 reserved_range: vec![],
4089 reserved_name: vec![],
4090 },
4091 DescriptorProto {
4092 name: Some("StringValue".into()),
4093 field: vec![FieldDescriptorProto {
4094 name: Some("value".into()),
4095 number: Some(1),
4096 label: Some(Optional.into()),
4097 r#type: Some(String.into()),
4098 type_name: None,
4099 extendee: None,
4100 default_value: None,
4101 oneof_index: None,
4102 json_name: Some("value".into()),
4103 options: None,
4104 proto3_optional: None,
4105 }],
4106 extension: vec![],
4107 nested_type: vec![],
4108 enum_type: vec![],
4109 extension_range: vec![],
4110 oneof_decl: vec![],
4111 options: None,
4112 reserved_range: vec![],
4113 reserved_name: vec![],
4114 },
4115 DescriptorProto {
4116 name: Some("BytesValue".into()),
4117 field: vec![FieldDescriptorProto {
4118 name: Some("value".into()),
4119 number: Some(1),
4120 label: Some(Optional.into()),
4121 r#type: Some(Bytes.into()),
4122 type_name: None,
4123 extendee: None,
4124 default_value: None,
4125 oneof_index: None,
4126 json_name: Some("value".into()),
4127 options: None,
4128 proto3_optional: None,
4129 }],
4130 extension: vec![],
4131 nested_type: vec![],
4132 enum_type: vec![],
4133 extension_range: vec![],
4134 oneof_decl: vec![],
4135 options: None,
4136 reserved_range: vec![],
4137 reserved_name: vec![],
4138 },
4139 ],
4140 enum_type: vec![],
4141 service: vec![],
4142 extension: vec![],
4143 options: Some(Options::from_prost(FileOptions {
4144 java_package: Some("com.google.protobuf".into()),
4145 java_outer_classname: Some("WrappersProto".into()),
4146 java_multiple_files: Some(true),
4147 java_generate_equals_and_hash: None,
4148 java_string_check_utf8: None,
4149 optimize_for: None,
4150 go_package: Some("google.golang.org/protobuf/types/known/wrapperspb".into()),
4151 cc_generic_services: None,
4152 java_generic_services: None,
4153 py_generic_services: None,
4154 php_generic_services: None,
4155 deprecated: None,
4156 cc_enable_arenas: Some(true),
4157 objc_class_prefix: Some("GPB".into()),
4158 csharp_namespace: Some("Google.Protobuf.WellKnownTypes".into()),
4159 swift_prefix: None,
4160 php_class_prefix: None,
4161 php_namespace: None,
4162 php_metadata_namespace: None,
4163 ruby_package: None,
4164 uninterpreted_option: vec![],
4165 })),
4166 source_code_info: None,
4167 syntax: Some("proto3".into()),
4168 },
4169 FileDescriptorProto {
4170 name: Some("google/protobuf/compiler/plugin.proto".into()),
4171 package: Some("google.protobuf.compiler".into()),
4172 dependency: vec!["google/protobuf/descriptor.proto".into()],
4173 public_dependency: vec![],
4174 weak_dependency: vec![],
4175 message_type: vec![
4176 DescriptorProto {
4177 name: Some("Version".into()),
4178 field: vec![
4179 FieldDescriptorProto {
4180 name: Some("major".into()),
4181 number: Some(1),
4182 label: Some(Optional.into()),
4183 r#type: Some(Int32.into()),
4184 type_name: None,
4185 extendee: None,
4186 default_value: None,
4187 oneof_index: None,
4188 json_name: Some("major".into()),
4189 options: None,
4190 proto3_optional: None,
4191 },
4192 FieldDescriptorProto {
4193 name: Some("minor".into()),
4194 number: Some(2),
4195 label: Some(Optional.into()),
4196 r#type: Some(Int32.into()),
4197 type_name: None,
4198 extendee: None,
4199 default_value: None,
4200 oneof_index: None,
4201 json_name: Some("minor".into()),
4202 options: None,
4203 proto3_optional: None,
4204 },
4205 FieldDescriptorProto {
4206 name: Some("patch".into()),
4207 number: Some(3),
4208 label: Some(Optional.into()),
4209 r#type: Some(Int32.into()),
4210 type_name: None,
4211 extendee: None,
4212 default_value: None,
4213 oneof_index: None,
4214 json_name: Some("patch".into()),
4215 options: None,
4216 proto3_optional: None,
4217 },
4218 FieldDescriptorProto {
4219 name: Some("suffix".into()),
4220 number: Some(4),
4221 label: Some(Optional.into()),
4222 r#type: Some(String.into()),
4223 type_name: None,
4224 extendee: None,
4225 default_value: None,
4226 oneof_index: None,
4227 json_name: Some("suffix".into()),
4228 options: None,
4229 proto3_optional: None,
4230 },
4231 ],
4232 extension: vec![],
4233 nested_type: vec![],
4234 enum_type: vec![],
4235 extension_range: vec![],
4236 oneof_decl: vec![],
4237 options: None,
4238 reserved_range: vec![],
4239 reserved_name: vec![],
4240 },
4241 DescriptorProto {
4242 name: Some("CodeGeneratorRequest".into()),
4243 field: vec![
4244 FieldDescriptorProto {
4245 name: Some("file_to_generate".into()),
4246 number: Some(1),
4247 label: Some(Repeated.into()),
4248 r#type: Some(String.into()),
4249 type_name: None,
4250 extendee: None,
4251 default_value: None,
4252 oneof_index: None,
4253 json_name: Some("fileToGenerate".into()),
4254 options: None,
4255 proto3_optional: None,
4256 },
4257 FieldDescriptorProto {
4258 name: Some("parameter".into()),
4259 number: Some(2),
4260 label: Some(Optional.into()),
4261 r#type: Some(String.into()),
4262 type_name: None,
4263 extendee: None,
4264 default_value: None,
4265 oneof_index: None,
4266 json_name: Some("parameter".into()),
4267 options: None,
4268 proto3_optional: None,
4269 },
4270 FieldDescriptorProto {
4271 name: Some("proto_file".into()),
4272 number: Some(15),
4273 label: Some(Repeated.into()),
4274 r#type: Some(Message.into()),
4275 type_name: Some(".google.protobuf.FileDescriptorProto".into()),
4276 extendee: None,
4277 default_value: None,
4278 oneof_index: None,
4279 json_name: Some("protoFile".into()),
4280 options: None,
4281 proto3_optional: None,
4282 },
4283 FieldDescriptorProto {
4284 name: Some("compiler_version".into()),
4285 number: Some(3),
4286 label: Some(Optional.into()),
4287 r#type: Some(Message.into()),
4288 type_name: Some(".google.protobuf.compiler.Version".into()),
4289 extendee: None,
4290 default_value: None,
4291 oneof_index: None,
4292 json_name: Some("compilerVersion".into()),
4293 options: None,
4294 proto3_optional: None,
4295 },
4296 ],
4297 extension: vec![],
4298 nested_type: vec![],
4299 enum_type: vec![],
4300 extension_range: vec![],
4301 oneof_decl: vec![],
4302 options: None,
4303 reserved_range: vec![],
4304 reserved_name: vec![],
4305 },
4306 DescriptorProto {
4307 name: Some("CodeGeneratorResponse".into()),
4308 field: vec![
4309 FieldDescriptorProto {
4310 name: Some("error".into()),
4311 number: Some(1),
4312 label: Some(Optional.into()),
4313 r#type: Some(String.into()),
4314 type_name: None,
4315 extendee: None,
4316 default_value: None,
4317 oneof_index: None,
4318 json_name: Some("error".into()),
4319 options: None,
4320 proto3_optional: None,
4321 },
4322 FieldDescriptorProto {
4323 name: Some("supported_features".into()),
4324 number: Some(2),
4325 label: Some(Optional.into()),
4326 r#type: Some(Uint64.into()),
4327 type_name: None,
4328 extendee: None,
4329 default_value: None,
4330 oneof_index: None,
4331 json_name: Some("supportedFeatures".into()),
4332 options: None,
4333 proto3_optional: None,
4334 },
4335 FieldDescriptorProto {
4336 name: Some("file".into()),
4337 number: Some(15),
4338 label: Some(Repeated.into()),
4339 r#type: Some(Message.into()),
4340 type_name: Some(
4341 ".google.protobuf.compiler.CodeGeneratorResponse.File".into(),
4342 ),
4343 extendee: None,
4344 default_value: None,
4345 oneof_index: None,
4346 json_name: Some("file".into()),
4347 options: None,
4348 proto3_optional: None,
4349 },
4350 ],
4351 extension: vec![],
4352 nested_type: vec![DescriptorProto {
4353 name: Some("File".into()),
4354 field: vec![
4355 FieldDescriptorProto {
4356 name: Some("name".into()),
4357 number: Some(1),
4358 label: Some(Optional.into()),
4359 r#type: Some(String.into()),
4360 type_name: None,
4361 extendee: None,
4362 default_value: None,
4363 oneof_index: None,
4364 json_name: Some("name".into()),
4365 options: None,
4366 proto3_optional: None,
4367 },
4368 FieldDescriptorProto {
4369 name: Some("insertion_point".into()),
4370 number: Some(2),
4371 label: Some(Optional.into()),
4372 r#type: Some(String.into()),
4373 type_name: None,
4374 extendee: None,
4375 default_value: None,
4376 oneof_index: None,
4377 json_name: Some("insertionPoint".into()),
4378 options: None,
4379 proto3_optional: None,
4380 },
4381 FieldDescriptorProto {
4382 name: Some("content".into()),
4383 number: Some(15),
4384 label: Some(Optional.into()),
4385 r#type: Some(String.into()),
4386 type_name: None,
4387 extendee: None,
4388 default_value: None,
4389 oneof_index: None,
4390 json_name: Some("content".into()),
4391 options: None,
4392 proto3_optional: None,
4393 },
4394 FieldDescriptorProto {
4395 name: Some("generated_code_info".into()),
4396 number: Some(16),
4397 label: Some(Optional.into()),
4398 r#type: Some(Message.into()),
4399 type_name: Some(".google.protobuf.GeneratedCodeInfo".into()),
4400 extendee: None,
4401 default_value: None,
4402 oneof_index: None,
4403 json_name: Some("generatedCodeInfo".into()),
4404 options: None,
4405 proto3_optional: None,
4406 },
4407 ],
4408 extension: vec![],
4409 nested_type: vec![],
4410 enum_type: vec![],
4411 extension_range: vec![],
4412 oneof_decl: vec![],
4413 options: None,
4414 reserved_range: vec![],
4415 reserved_name: vec![],
4416 }],
4417 enum_type: vec![EnumDescriptorProto {
4418 name: Some("Feature".into()),
4419 value: vec![
4420 EnumValueDescriptorProto {
4421 name: Some("FEATURE_NONE".into()),
4422 number: Some(0),
4423 options: None,
4424 },
4425 EnumValueDescriptorProto {
4426 name: Some("FEATURE_PROTO3_OPTIONAL".into()),
4427 number: Some(1),
4428 options: None,
4429 },
4430 ],
4431 options: None,
4432 reserved_range: vec![],
4433 reserved_name: vec![],
4434 }],
4435 extension_range: vec![],
4436 oneof_decl: vec![],
4437 options: None,
4438 reserved_range: vec![],
4439 reserved_name: vec![],
4440 },
4441 ],
4442 enum_type: vec![],
4443 service: vec![],
4444 extension: vec![],
4445 options: Some(Options::from_prost(FileOptions {
4446 java_package: Some("com.google.protobuf.compiler".into()),
4447 java_outer_classname: Some("PluginProtos".into()),
4448 java_multiple_files: None,
4449 java_generate_equals_and_hash: None,
4450 java_string_check_utf8: None,
4451 optimize_for: None,
4452 go_package: Some("google.golang.org/protobuf/types/pluginpb".into()),
4453 cc_generic_services: None,
4454 java_generic_services: None,
4455 py_generic_services: None,
4456 php_generic_services: None,
4457 deprecated: None,
4458 cc_enable_arenas: None,
4459 objc_class_prefix: None,
4460 csharp_namespace: None,
4461 swift_prefix: None,
4462 php_class_prefix: None,
4463 php_namespace: None,
4464 php_metadata_namespace: None,
4465 ruby_package: None,
4466 uninterpreted_option: vec![],
4467 })),
4468 source_code_info: None,
4469 syntax: None,
4470 },
4471 ],
4472 }
4473}
4474
4475pub fn make_wkt_descriptor_pool() -> Result<DescriptorPool, DescriptorError> {
4476 let file_descriptor_set = make_descriptor();
4477 let mut pool = DescriptorPool::new();
4478 pool.build_files(file_descriptor_set.file.into_iter())?;
4479 Ok(pool)
4480}
4481
4482macro_rules! impl_reflect_message {
4483 ($($ty:ty => $name:literal;)*) => {
4484 $(
4485 impl ReflectMessage for $ty {
4486 #[doc = concat!("Returns a descriptor for the `", $name, "` message type.")]
4487 fn descriptor(&self) -> MessageDescriptor {
4488 match DescriptorPool::global().get_message_by_name($name) {
4489 Some(desc) => desc,
4490 None => panic!("descriptor for well-known type `{}` not found", $name),
4491 }
4492 }
4493 }
4494 )*
4495
4496 #[test]
4497 fn test_reflect_message_impls() {
4498 $(
4499 assert_eq!(<$ty>::default().descriptor().full_name(), $name);
4500 )*
4501 }
4502 };
4503}
4504
4505impl_reflect_message! {
4506 () => "google.protobuf.Empty";
4507 bool => "google.protobuf.BoolValue";
4508 f32 => "google.protobuf.FloatValue";
4509 f64 => "google.protobuf.DoubleValue";
4510 i32 => "google.protobuf.Int32Value";
4511 i64 => "google.protobuf.Int64Value";
4512 std::string::String => "google.protobuf.StringValue";
4513 u32 => "google.protobuf.UInt32Value";
4514 u64 => "google.protobuf.UInt64Value";
4515 Vec<u8> => "google.protobuf.BytesValue";
4516 prost_types::Any => "google.protobuf.Any";
4517 prost_types::Api => "google.protobuf.Api";
4518 prost_types::compiler::CodeGeneratorRequest => "google.protobuf.compiler.CodeGeneratorRequest";
4519 prost_types::compiler::CodeGeneratorResponse => "google.protobuf.compiler.CodeGeneratorResponse";
4520 prost_types::compiler::code_generator_response::File => "google.protobuf.compiler.CodeGeneratorResponse.File";
4521 prost_types::compiler::Version => "google.protobuf.compiler.Version";
4522 prost_types::DescriptorProto => "google.protobuf.DescriptorProto";
4523 prost_types::descriptor_proto::ExtensionRange => "google.protobuf.DescriptorProto.ExtensionRange";
4524 prost_types::descriptor_proto::ReservedRange => "google.protobuf.DescriptorProto.ReservedRange";
4525 prost_types::Duration => "google.protobuf.Duration";
4526 prost_types::Enum => "google.protobuf.Enum";
4527 prost_types::EnumDescriptorProto => "google.protobuf.EnumDescriptorProto";
4528 prost_types::enum_descriptor_proto::EnumReservedRange => "google.protobuf.EnumDescriptorProto.EnumReservedRange";
4529 prost_types::EnumOptions => "google.protobuf.EnumOptions";
4530 prost_types::EnumValue => "google.protobuf.EnumValue";
4531 prost_types::EnumValueDescriptorProto => "google.protobuf.EnumValueDescriptorProto";
4532 prost_types::EnumValueOptions => "google.protobuf.EnumValueOptions";
4533 prost_types::ExtensionRangeOptions => "google.protobuf.ExtensionRangeOptions";
4534 prost_types::Field => "google.protobuf.Field";
4535 prost_types::FieldDescriptorProto => "google.protobuf.FieldDescriptorProto";
4536 prost_types::FieldMask => "google.protobuf.FieldMask";
4537 prost_types::FieldOptions => "google.protobuf.FieldOptions";
4538 prost_types::FileDescriptorProto => "google.protobuf.FileDescriptorProto";
4539 prost_types::FileDescriptorSet => "google.protobuf.FileDescriptorSet";
4540 prost_types::FileOptions => "google.protobuf.FileOptions";
4541 prost_types::GeneratedCodeInfo => "google.protobuf.GeneratedCodeInfo";
4542 prost_types::generated_code_info::Annotation => "google.protobuf.GeneratedCodeInfo.Annotation";
4543 prost_types::ListValue => "google.protobuf.ListValue";
4544 prost_types::MessageOptions => "google.protobuf.MessageOptions";
4545 prost_types::Method => "google.protobuf.Method";
4546 prost_types::MethodDescriptorProto => "google.protobuf.MethodDescriptorProto";
4547 prost_types::MethodOptions => "google.protobuf.MethodOptions";
4548 prost_types::Mixin => "google.protobuf.Mixin";
4549 prost_types::OneofDescriptorProto => "google.protobuf.OneofDescriptorProto";
4550 prost_types::OneofOptions => "google.protobuf.OneofOptions";
4551 prost_types::Option => "google.protobuf.Option";
4552 prost_types::ServiceDescriptorProto => "google.protobuf.ServiceDescriptorProto";
4553 prost_types::ServiceOptions => "google.protobuf.ServiceOptions";
4554 prost_types::SourceCodeInfo => "google.protobuf.SourceCodeInfo";
4555 prost_types::source_code_info::Location => "google.protobuf.SourceCodeInfo.Location";
4556 prost_types::SourceContext => "google.protobuf.SourceContext";
4557 prost_types::Struct => "google.protobuf.Struct";
4558 prost_types::Timestamp => "google.protobuf.Timestamp";
4559 prost_types::Type => "google.protobuf.Type";
4560 prost_types::UninterpretedOption => "google.protobuf.UninterpretedOption";
4561 prost_types::uninterpreted_option::NamePart => "google.protobuf.UninterpretedOption.NamePart";
4562 prost_types::Value => "google.protobuf.Value";
4563 prost::bytes::Bytes => "google.protobuf.BytesValue";
4564}
4565
4566#[test]
4567fn compare_parsed_and_coded_default_descriptors() {
4568 use prost::Message;
4569
4570 let desc =
4571 crate::descriptor::types::FileDescriptorSet::decode(expected_well_known_types().as_slice())
4572 .unwrap();
4573 let built_in_desc = make_descriptor();
4574
4575 if desc != built_in_desc {
4576 let actual = format!("{built_in_desc:#?}");
4577 let expected = format!("{desc:#?}");
4578 let diff = similar_asserts::SimpleDiff::from_str(&actual, &expected, "actual", "expected");
4579
4580 panic!(
4595 "The well known file descriptor returned by `make_description()` \
4596 does not match the expected file descriptor parsed from `src/well_known_types_bytes.bin`: \
4597 {diff}"
4598 );
4599 }
4600}
4601
4602#[cfg(test)]
4603fn expected_well_known_types() -> Vec<u8> {
4604 use protox::{file::GoogleFileResolver, Compiler};
4605
4606 Compiler::with_file_resolver(GoogleFileResolver::new())
4609 .include_source_info(false)
4610 .open_files([
4611 "google/protobuf/any.proto",
4612 "google/protobuf/api.proto",
4613 "google/protobuf/descriptor.proto",
4614 "google/protobuf/duration.proto",
4615 "google/protobuf/empty.proto",
4616 "google/protobuf/field_mask.proto",
4617 "google/protobuf/source_context.proto",
4618 "google/protobuf/struct.proto",
4619 "google/protobuf/timestamp.proto",
4620 "google/protobuf/type.proto",
4621 "google/protobuf/wrappers.proto",
4622 "google/protobuf/compiler/plugin.proto",
4623 ])
4624 .unwrap()
4625 .encode_file_descriptor_set()
4626}