protobuf-go/cmd/protoc-gen-go/testdata/proto2/fields.proto
Joe Tsai bce82b8e0d reflect/protoreflect: add HasJSONName, ReservedRanges, and ReservedNames
These properties of descriptors are currently missing and makes it impossible
to convert a FileDescriptorProto into one of the structured Go representations
and convert it back to a proto message without loss of information.

Furthermore, ReservedRanges and ReservedNames has semantic importance
to text serialization.

Change-Id: Ic33c30020ad51912b143156b95f47a4fb8da3503
Reviewed-on: https://go-review.googlesource.com/c/153019
Reviewed-by: Damien Neil <dneil@google.com>
2018-12-07 20:10:15 +00:00

144 lines
5.3 KiB
Protocol Buffer

// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
syntax = "proto2";
package goproto.protoc.proto2;
option go_package = "github.com/golang/protobuf/v2/cmd/protoc-gen-go/testdata/proto2";
message FieldTestMessage {
optional bool optional_bool = 1;
optional Enum optional_enum = 2;
optional int32 optional_int32 = 3;
optional sint32 optional_sint32 = 4;
optional uint32 optional_uint32 = 5;
optional int64 optional_int64 = 6;
optional sint64 optional_sint64 = 7;
optional uint64 optional_uint64 = 8;
optional sfixed32 optional_sfixed32 = 9;
optional fixed32 optional_fixed32 = 10;
optional float optional_float = 11;
optional sfixed64 optional_sfixed64 = 12;
optional fixed64 optional_fixed64 = 13;
optional double optional_double = 14;
optional string optional_string = 15;
optional bytes optional_bytes = 16;
optional Message optional_Message = 17;
optional group OptionalGroup = 18 {
optional string optional_group = 19;
}
required bool required_bool = 101;
required Enum required_enum = 102;
required int32 required_int32 = 103;
required sint32 required_sint32 = 104;
required uint32 required_uint32 = 105;
required int64 required_int64 = 106;
required sint64 required_sint64 = 107;
required uint64 required_uint64 = 108;
required sfixed32 required_sfixed32 = 109;
required fixed32 required_fixed32 = 110;
required float required_float = 111;
required sfixed64 required_sfixed64 = 112;
required fixed64 required_fixed64 = 113;
required double required_double = 114;
required string required_string = 115;
required bytes required_bytes = 116;
required Message required_Message = 117;
required group RequiredGroup = 118 {
required string required_group = 119;
}
repeated bool repeated_bool = 201;
repeated Enum repeated_enum = 202;
repeated int32 repeated_int32 = 203;
repeated sint32 repeated_sint32 = 204;
repeated uint32 repeated_uint32 = 205;
repeated int64 repeated_int64 = 206;
repeated sint64 repeated_sint64 = 207;
repeated uint64 repeated_uint64 = 208;
repeated sfixed32 repeated_sfixed32 = 209;
repeated fixed32 repeated_fixed32 = 210;
repeated float repeated_float = 211;
repeated sfixed64 repeated_sfixed64 = 212;
repeated fixed64 repeated_fixed64 = 213;
repeated double repeated_double = 214;
repeated string repeated_string = 215;
repeated bytes repeated_bytes = 216;
repeated Message repeated_Message = 217;
repeated group RepeatedGroup = 218 {
repeated string repeated_group = 219;
}
optional bool default_bool = 301 [default=true];
optional Enum default_enum = 302 [default=ONE];
optional int32 default_int32 = 303 [default=1];
optional sint32 default_sint32 = 304 [default=1];
optional uint32 default_uint32 = 305 [default=1];
optional int64 default_int64 = 306 [default=1];
optional sint64 default_sint64 = 307 [default=1];
optional uint64 default_uint64 = 308 [default=1];
optional sfixed32 default_sfixed32 = 309 [default=1];
optional fixed32 default_fixed32 = 310 [default=1];
optional float default_float = 311 [default=3.14];
optional sfixed64 default_sfixed64 = 312 [default=1];
optional fixed64 default_fixed64 = 313 [default=1];
optional double default_double = 314 [default=3.1415];
optional string default_string = 315 [default="hello,\"world!\"\n"];
optional bytes default_bytes = 316 [default="hello,\xde\xad\xbe\xef"];
optional string default_zero_string = 350 [default=""];
optional bytes default_zero_bytes = 351 [default=""];
optional float default_float_neginf = 400 [default=-inf];
optional float default_float_posinf = 401 [default=inf];
optional float default_float_nan = 402 [default=nan];
optional double default_double_neginf = 403 [default=-inf];
optional double default_double_posinf = 404 [default=inf];
optional double default_double_nan = 405 [default=nan];
map<int32, int64> map_int32_int64 = 500;
map<string,Message> map_string_message = 501;
map<fixed64,Enum> map_fixed64_enum = 502;
oneof oneof_field {
bool oneof_bool = 601;
Enum oneof_enum = 602;
int32 oneof_int32 = 603;
sint32 oneof_sint32 = 604;
uint32 oneof_uint32 = 605;
int64 oneof_int64 = 606;
sint64 oneof_sint64 = 607;
uint64 oneof_uint64 = 608;
sfixed32 oneof_sfixed32 = 609;
fixed32 oneof_fixed32 = 610;
float oneof_float = 611;
sfixed64 oneof_sfixed64 = 612;
fixed64 oneof_fixed64 = 613;
double oneof_double = 614;
string oneof_string = 615;
bytes oneof_bytes = 616;
Message oneof_Message = 617;
group OneofGroup = 618 {
optional string oneof_group_field = 619;
}
int32 oneof_largest_tag = 536870911;
}
oneof oneof_two {
int32 oneof_two_1 = 700;
int64 oneof_two_2 = 701;
}
enum Enum {
ZERO = 0;
ONE = 1;
}
message Message {}
reserved 10000, 10001;
reserved "TEN_THOUSAND", "TEN_THOUSAND_AND_ONE";
}