| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | syntax = "proto2";package protobuf_unittest_extra;option csharp_namespace = "Google.ProtocolBuffers.TestProtos";option optimize_for = LITE_RUNTIME;option java_package = "com.google.protobuf";message TestRequiredLite {  required int32 d = 1;  required ExtraEnum en = 2 [default = DEFAULT];}enum ExtraEnum {  DEFAULT = 10;  EXLITE_FOO = 7;  EXLITE_BAR = 8;  EXLITE_BAZ = 9;}message TestInteropPersonLite {  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  TestInteropEmployeeIdLite {  required string number = 1;}  extend TestInteropPersonLite {  // 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 TestInteropEmployeeIdLite employee_id_lite = 126;}/* Removed from unittest_lite.proto and added back here */message TestUnpackedExtensionsLite {  extensions 1 to max;}message TestUnpackedTypesLite {  repeated    int32 unpacked_int32    =  90;  repeated    int64 unpacked_int64    =  91;  repeated   uint32 unpacked_uint32   =  92;  repeated   uint64 unpacked_uint64   =  93;  repeated   sint32 unpacked_sint32   =  94;  repeated   sint64 unpacked_sint64   =  95;  repeated  fixed32 unpacked_fixed32  =  96;  repeated  fixed64 unpacked_fixed64  =  97;  repeated sfixed32 unpacked_sfixed32 =  98;  repeated sfixed64 unpacked_sfixed64 =  99;  repeated    float unpacked_float    = 100;  repeated   double unpacked_double   = 101;  repeated     bool unpacked_bool     = 102;  repeated UnpackedTypesForeignEnumLite unpacked_enum  = 103;}extend TestUnpackedExtensionsLite {  repeated    int32 unpacked_int32_extension_lite    =  90;  repeated    int64 unpacked_int64_extension_lite    =  91;  repeated   uint32 unpacked_uint32_extension_lite   =  92;  repeated   uint64 unpacked_uint64_extension_lite   =  93;  repeated   sint32 unpacked_sint32_extension_lite   =  94;  repeated   sint64 unpacked_sint64_extension_lite   =  95;  repeated  fixed32 unpacked_fixed32_extension_lite  =  96;  repeated  fixed64 unpacked_fixed64_extension_lite  =  97;  repeated sfixed32 unpacked_sfixed32_extension_lite =  98;  repeated sfixed64 unpacked_sfixed64_extension_lite =  99;  repeated    float unpacked_float_extension_lite    = 100;  repeated   double unpacked_double_extension_lite   = 101;  repeated     bool unpacked_bool_extension_lite     = 102;  repeated UnpackedTypesForeignEnumLite unpacked_enum_extension_lite = 103;}enum UnpackedTypesForeignEnumLite {  FOREIGN_LITE_FOO = 4;  FOREIGN_LITE_BAR = 5;  FOREIGN_LITE_BAZ = 6;}message BucketOfBytes {    optional bytes value = 1;    }message BucketOfBytesEx {    optional bytes value = 1;    optional bytes value2 = 255;}
 |