1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- syntax = "proto2";
- package protobuf_unittest_extra;
- option csharp_namespace = "Google.ProtocolBuffers.TestProtos";
- option optimize_for = CODE_SIZE;
- option java_package = "com.google.protobuf";
- message TestInteropPerson {
- required string name = 1;
- required int32 id = 2;
- optional string email = 3;
- repeated int32 codes = 10 [packed=true];
- enum PhoneType {
- MOBILE = 0;
- HOME = 1;
- WORK = 2;
- }
- message PhoneNumber {
- required string number = 1;
- optional PhoneType type = 2 [default = HOME];
- }
- repeated PhoneNumber phone = 4;
-
- repeated group Addresses = 5 {
- required string address = 1;
- optional string address2 = 2;
- required string city = 3;
- required string state = 4;
- required fixed32 zip = 5;
- }
- extensions 100 to 199;
- }
- message TestInteropEmployeeId {
- required string number = 1;
- }
-
- extend TestInteropPerson {
- // Note: changed from required to optional, as required fields are not
- // permitted in extensions. (The fact that this was allowed in protogen
- // before was almost certainly a bug.)
- optional TestInteropEmployeeId employee_id = 126;
- }
- message TestMissingFieldsA {
- required string name = 1;
- required int32 id = 2;
- optional string email = 3;
-
- message SubA {
- required int32 count = 5;
- repeated string values = 6;
- }
- optional SubA testA = 11;
- }
- message TestMissingFieldsB {
- required string name = 1;
- required int32 id = 2;
- optional string website = 4;
-
- message SubB {
- repeated string values = 7;
- }
- optional SubB testB = 12;
- }
|