syntax = "proto2";
package basic;
message Test1 {
required int32 a = 1;
}
message Test2 {
required string b = 2;
}
message Test3 {
required Test1 c = 3;
}
message Test4 {
repeated int32 d = 4 [packed=true];
}
message TestPackedUnpacked {
repeated int32 unpacked = 4;
repeated int32 packed = 5 [packed=true];
}
message TestEmpty {
optional int32 foo = 10;
}
message TestUnknownFields {
required int32 a = 1;
}
// just check it compiles
message TestSelfReference {
required TestSelfReference r1 = 1;
optional TestSelfReference r2 = 2;
}
message TestDefaultInstanceField {
optional string s = 1;
}
message TestDefaultInstance {
optional TestDefaultInstanceField field = 1;
}
message TestDescriptor {
optional int32 stuff = 10;
}
enum TestEnumDescriptor {
RED = 1;
BLUE = 2;
GREEN = 3;
}
message TestTypesSingular {
optional double double_field = 1;
optional float float_field = 2;
optional int32 int32_field = 3;
optional int64 int64_field = 4;
optional uint32 uint32_field = 5;
optional uint64 uint64_field = 6;
optional sint32 sint32_field = 7;
optional sint64 sint64_field = 8;
optional fixed32 fixed32_field = 9;
optional fixed64 fixed64_field = 10;
optional sfixed32 sfixed32_field = 11;
optional sfixed64 sfixed64_field = 12;
optional bool bool_field = 13;
optional string string_field = 14;
optional bytes bytes_field = 15;
optional TestEnumDescriptor enum_field = 16;
}
message TestTypesRepeated {
repeated double double_field = 1 [packed=false];
repeated float float_field = 2 [packed=false];
repeated int32 int32_field = 3 [packed=false];
repeated int64 int64_field = 4 [packed=false];
repeated uint32 uint32_field = 5 [packed=false];
repeated uint64 uint64_field = 6 [packed=false];
repeated sint32 sint32_field = 7 [packed=false];
repeated sint64 sint64_field = 8 [packed=false];
repeated fixed32 fixed32_field = 9 [packed=false];
repeated fixed64 fixed64_field = 10 [packed=false];
repeated sfixed32 sfixed32_field = 11 [packed=false];
repeated sfixed64 sfixed64_field = 12 [packed=false];
repeated bool bool_field = 13 [packed=false];
repeated string string_field = 14;
repeated bytes bytes_field = 15;
repeated TestEnumDescriptor enum_field = 16 [packed=false];
}
message TestTypesRepeatedPacked {
repeated double double_field = 1 [packed=true];
repeated float float_field = 2 [packed=true];
repeated int32 int32_field = 3 [packed=true];
repeated int64 int64_field = 4 [packed=true];
repeated uint32 uint32_field = 5 [packed=true];
repeated uint64 uint64_field = 6 [packed=true];
repeated sint32 sint32_field = 7 [packed=true];
repeated sint64 sint64_field = 8 [packed=true];
repeated fixed32 fixed32_field = 9 [packed=true];
repeated fixed64 fixed64_field = 10 [packed=true];
repeated sfixed32 sfixed32_field = 11 [packed=true];
repeated sfixed64 sfixed64_field = 12 [packed=true];
repeated bool bool_field = 13 [packed=true];
repeated string string_field = 14;
repeated bytes bytes_field = 15;
repeated TestEnumDescriptor enum_field = 16 [packed=true];
}
message TestInvalidTag {
}
message TestTruncated {
repeated fixed32 ints = 2 [packed=true];
}
message TestBugSint {
optional sint32 s32 = 1;
optional sint64 s64 = 2;
}