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