|
|
|
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;
|
|
|
|
}
|