1*1c12ee1eSDan Willemsen// Copyright 2018 The Go Authors. All rights reserved. 2*1c12ee1eSDan Willemsen// Use of this source code is governed by a BSD-style 3*1c12ee1eSDan Willemsen// license that can be found in the LICENSE file. 4*1c12ee1eSDan Willemsen 5*1c12ee1eSDan Willemsensyntax = "proto2"; 6*1c12ee1eSDan Willemsen 7*1c12ee1eSDan Willemsenpackage goproto.protoc.proto2; 8*1c12ee1eSDan Willemsen 9*1c12ee1eSDan Willemsenoption go_package = "google.golang.org/protobuf/cmd/protoc-gen-go/testdata/proto2"; 10*1c12ee1eSDan Willemsen 11*1c12ee1eSDan Willemsenmessage FieldTestMessage { 12*1c12ee1eSDan Willemsen optional bool optional_bool = 1; 13*1c12ee1eSDan Willemsen optional Enum optional_enum = 2; 14*1c12ee1eSDan Willemsen optional int32 optional_int32 = 3; 15*1c12ee1eSDan Willemsen optional sint32 optional_sint32 = 4; 16*1c12ee1eSDan Willemsen optional uint32 optional_uint32 = 5; 17*1c12ee1eSDan Willemsen optional int64 optional_int64 = 6; 18*1c12ee1eSDan Willemsen optional sint64 optional_sint64 = 7; 19*1c12ee1eSDan Willemsen optional uint64 optional_uint64 = 8; 20*1c12ee1eSDan Willemsen optional sfixed32 optional_sfixed32 = 9; 21*1c12ee1eSDan Willemsen optional fixed32 optional_fixed32 = 10; 22*1c12ee1eSDan Willemsen optional float optional_float = 11; 23*1c12ee1eSDan Willemsen optional sfixed64 optional_sfixed64 = 12; 24*1c12ee1eSDan Willemsen optional fixed64 optional_fixed64 = 13; 25*1c12ee1eSDan Willemsen optional double optional_double = 14; 26*1c12ee1eSDan Willemsen optional string optional_string = 15; 27*1c12ee1eSDan Willemsen optional bytes optional_bytes = 16; 28*1c12ee1eSDan Willemsen optional Message optional_Message = 17; 29*1c12ee1eSDan Willemsen optional group OptionalGroup = 18 { 30*1c12ee1eSDan Willemsen optional string optional_group = 19; 31*1c12ee1eSDan Willemsen } 32*1c12ee1eSDan Willemsen 33*1c12ee1eSDan Willemsen required bool required_bool = 101; 34*1c12ee1eSDan Willemsen required Enum required_enum = 102; 35*1c12ee1eSDan Willemsen required int32 required_int32 = 103; 36*1c12ee1eSDan Willemsen required sint32 required_sint32 = 104; 37*1c12ee1eSDan Willemsen required uint32 required_uint32 = 105; 38*1c12ee1eSDan Willemsen required int64 required_int64 = 106; 39*1c12ee1eSDan Willemsen required sint64 required_sint64 = 107; 40*1c12ee1eSDan Willemsen required uint64 required_uint64 = 108; 41*1c12ee1eSDan Willemsen required sfixed32 required_sfixed32 = 109; 42*1c12ee1eSDan Willemsen required fixed32 required_fixed32 = 110; 43*1c12ee1eSDan Willemsen required float required_float = 111; 44*1c12ee1eSDan Willemsen required sfixed64 required_sfixed64 = 112; 45*1c12ee1eSDan Willemsen required fixed64 required_fixed64 = 113; 46*1c12ee1eSDan Willemsen required double required_double = 114; 47*1c12ee1eSDan Willemsen required string required_string = 115; 48*1c12ee1eSDan Willemsen required bytes required_bytes = 116; 49*1c12ee1eSDan Willemsen required Message required_Message = 117; 50*1c12ee1eSDan Willemsen required group RequiredGroup = 118 { 51*1c12ee1eSDan Willemsen required string required_group = 119; 52*1c12ee1eSDan Willemsen } 53*1c12ee1eSDan Willemsen 54*1c12ee1eSDan Willemsen repeated bool repeated_bool = 201; 55*1c12ee1eSDan Willemsen repeated Enum repeated_enum = 202; 56*1c12ee1eSDan Willemsen repeated int32 repeated_int32 = 203; 57*1c12ee1eSDan Willemsen repeated sint32 repeated_sint32 = 204; 58*1c12ee1eSDan Willemsen repeated uint32 repeated_uint32 = 205; 59*1c12ee1eSDan Willemsen repeated int64 repeated_int64 = 206; 60*1c12ee1eSDan Willemsen repeated sint64 repeated_sint64 = 207; 61*1c12ee1eSDan Willemsen repeated uint64 repeated_uint64 = 208; 62*1c12ee1eSDan Willemsen repeated sfixed32 repeated_sfixed32 = 209; 63*1c12ee1eSDan Willemsen repeated fixed32 repeated_fixed32 = 210; 64*1c12ee1eSDan Willemsen repeated float repeated_float = 211; 65*1c12ee1eSDan Willemsen repeated sfixed64 repeated_sfixed64 = 212; 66*1c12ee1eSDan Willemsen repeated fixed64 repeated_fixed64 = 213; 67*1c12ee1eSDan Willemsen repeated double repeated_double = 214; 68*1c12ee1eSDan Willemsen repeated string repeated_string = 215; 69*1c12ee1eSDan Willemsen repeated bytes repeated_bytes = 216; 70*1c12ee1eSDan Willemsen repeated Message repeated_Message = 217; 71*1c12ee1eSDan Willemsen repeated group RepeatedGroup = 218 { 72*1c12ee1eSDan Willemsen repeated string repeated_group = 219; 73*1c12ee1eSDan Willemsen } 74*1c12ee1eSDan Willemsen 75*1c12ee1eSDan Willemsen optional bool default_bool = 301 [default=true]; 76*1c12ee1eSDan Willemsen optional Enum default_enum = 302 [default=ONE]; 77*1c12ee1eSDan Willemsen optional int32 default_int32 = 303 [default=1]; 78*1c12ee1eSDan Willemsen optional sint32 default_sint32 = 304 [default=1]; 79*1c12ee1eSDan Willemsen optional uint32 default_uint32 = 305 [default=1]; 80*1c12ee1eSDan Willemsen optional int64 default_int64 = 306 [default=1]; 81*1c12ee1eSDan Willemsen optional sint64 default_sint64 = 307 [default=1]; 82*1c12ee1eSDan Willemsen optional uint64 default_uint64 = 308 [default=1]; 83*1c12ee1eSDan Willemsen optional sfixed32 default_sfixed32 = 309 [default=1]; 84*1c12ee1eSDan Willemsen optional fixed32 default_fixed32 = 310 [default=1]; 85*1c12ee1eSDan Willemsen optional float default_float = 311 [default=3.14]; 86*1c12ee1eSDan Willemsen optional sfixed64 default_sfixed64 = 312 [default=1]; 87*1c12ee1eSDan Willemsen optional fixed64 default_fixed64 = 313 [default=1]; 88*1c12ee1eSDan Willemsen optional double default_double = 314 [default=3.1415]; 89*1c12ee1eSDan Willemsen optional string default_string = 315 [default="hello,\"world!\"\n"]; 90*1c12ee1eSDan Willemsen optional bytes default_bytes = 316 [default="hello,\xde\xad\xbe\xef"]; 91*1c12ee1eSDan Willemsen 92*1c12ee1eSDan Willemsen optional string default_zero_string = 350 [default=""]; 93*1c12ee1eSDan Willemsen optional bytes default_zero_bytes = 351 [default=""]; 94*1c12ee1eSDan Willemsen 95*1c12ee1eSDan Willemsen optional float default_float_neginf = 400 [default=-inf]; 96*1c12ee1eSDan Willemsen optional float default_float_posinf = 401 [default=inf]; 97*1c12ee1eSDan Willemsen optional float default_float_nan = 402 [default=nan]; 98*1c12ee1eSDan Willemsen optional double default_double_neginf = 403 [default=-inf]; 99*1c12ee1eSDan Willemsen optional double default_double_posinf = 404 [default=inf]; 100*1c12ee1eSDan Willemsen optional double default_double_nan = 405 [default=nan]; 101*1c12ee1eSDan Willemsen 102*1c12ee1eSDan Willemsen map<int32, int64> map_int32_int64 = 500; 103*1c12ee1eSDan Willemsen map<string,Message> map_string_message = 501; 104*1c12ee1eSDan Willemsen map<fixed64,Enum> map_fixed64_enum = 502; 105*1c12ee1eSDan Willemsen 106*1c12ee1eSDan Willemsen oneof oneof_field { 107*1c12ee1eSDan Willemsen bool oneof_bool = 601; 108*1c12ee1eSDan Willemsen Enum oneof_enum = 602; 109*1c12ee1eSDan Willemsen int32 oneof_int32 = 603; 110*1c12ee1eSDan Willemsen sint32 oneof_sint32 = 604; 111*1c12ee1eSDan Willemsen uint32 oneof_uint32 = 605; 112*1c12ee1eSDan Willemsen int64 oneof_int64 = 606; 113*1c12ee1eSDan Willemsen sint64 oneof_sint64 = 607; 114*1c12ee1eSDan Willemsen uint64 oneof_uint64 = 608; 115*1c12ee1eSDan Willemsen sfixed32 oneof_sfixed32 = 609; 116*1c12ee1eSDan Willemsen fixed32 oneof_fixed32 = 610; 117*1c12ee1eSDan Willemsen float oneof_float = 611; 118*1c12ee1eSDan Willemsen sfixed64 oneof_sfixed64 = 612; 119*1c12ee1eSDan Willemsen fixed64 oneof_fixed64 = 613; 120*1c12ee1eSDan Willemsen double oneof_double = 614; 121*1c12ee1eSDan Willemsen string oneof_string = 615; 122*1c12ee1eSDan Willemsen bytes oneof_bytes = 616; 123*1c12ee1eSDan Willemsen Message oneof_Message = 617; 124*1c12ee1eSDan Willemsen group OneofGroup = 618 { 125*1c12ee1eSDan Willemsen optional string oneof_group_field = 619; 126*1c12ee1eSDan Willemsen } 127*1c12ee1eSDan Willemsen int32 oneof_largest_tag = 536870911; 128*1c12ee1eSDan Willemsen } 129*1c12ee1eSDan Willemsen 130*1c12ee1eSDan Willemsen oneof oneof_two { 131*1c12ee1eSDan Willemsen int32 oneof_two_1 = 700; 132*1c12ee1eSDan Willemsen int64 oneof_two_2 = 701; 133*1c12ee1eSDan Willemsen } 134*1c12ee1eSDan Willemsen 135*1c12ee1eSDan Willemsen enum Enum { 136*1c12ee1eSDan Willemsen ZERO = 0; 137*1c12ee1eSDan Willemsen ONE = 1; 138*1c12ee1eSDan Willemsen } 139*1c12ee1eSDan Willemsen message Message {} 140*1c12ee1eSDan Willemsen 141*1c12ee1eSDan Willemsen reserved 10000, 10001; 142*1c12ee1eSDan Willemsen reserved "TEN_THOUSAND", "TEN_THOUSAND_AND_ONE"; 143*1c12ee1eSDan Willemsen} 144