|  | // 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 google.golang.org.proto2_20190205; | 
|  |  | 
|  | option go_package = "google.golang.org/protobuf/internal/testprotos/legacy/proto2_20190205_c823c79e"; | 
|  |  | 
|  | enum SiblingEnum { | 
|  | ALPHA = 0; | 
|  | BRAVO = 10; | 
|  | CHARLIE = 200; | 
|  | } | 
|  |  | 
|  | message SiblingMessage { | 
|  | optional string f1 = 1; | 
|  | required string f2 = 2; | 
|  | repeated string f3 = 3; | 
|  | optional Message f4 = 4; | 
|  | } | 
|  |  | 
|  | message Message { | 
|  | enum ChildEnum { | 
|  | ALPHA = 0; | 
|  | BRAVO = 1; | 
|  | CHARLIE = 2; | 
|  | } | 
|  | message ChildMessage { | 
|  | optional string f1 = 1; | 
|  | required string f2 = 2; | 
|  | repeated string f3 = 3; | 
|  | optional Message f4 = 4; | 
|  | } | 
|  | optional group NamedGroup = 1 { | 
|  | optional string f1 = 1; | 
|  | required string f2 = 2; | 
|  | repeated string f3 = 3; | 
|  | optional Message f4 = 4; | 
|  | } | 
|  |  | 
|  | // Optional fields. | 
|  | optional bool optional_bool = 100; | 
|  | optional int32 optional_int32 = 101; | 
|  | optional sint32 optional_sint32 = 102; | 
|  | optional uint32 optional_uint32 = 103; | 
|  | optional int64 optional_int64 = 104; | 
|  | optional sint64 optional_sint64 = 105; | 
|  | optional uint64 optional_uint64 = 106; | 
|  | optional fixed32 optional_fixed32 = 107; | 
|  | optional sfixed32 optional_sfixed32 = 108; | 
|  | optional float optional_float = 109; | 
|  | optional fixed64 optional_fixed64 = 110; | 
|  | optional sfixed64 optional_sfixed64 = 111; | 
|  | optional double optional_double = 112; | 
|  | optional string optional_string = 113; | 
|  | optional bytes optional_bytes = 114; | 
|  |  | 
|  | optional ChildEnum optional_child_enum = 115; | 
|  | optional ChildMessage optional_child_message = 116; | 
|  | optional NamedGroup optional_named_group = 117; | 
|  | optional SiblingEnum optional_sibling_enum = 118; | 
|  | optional SiblingMessage optional_sibling_message = 119; | 
|  | optional group OptionalGroup = 120 { | 
|  | optional string f1 = 1; | 
|  | required string f2 = 2; | 
|  | repeated string f3 = 3; | 
|  | } | 
|  |  | 
|  | // Optional default fields. | 
|  | optional bool defaulted_bool = 200 [default = true]; | 
|  | optional int32 defaulted_int32 = 201 [default = -12345]; | 
|  | optional sint32 defaulted_sint32 = 202 [default = -3200]; | 
|  | optional uint32 defaulted_uint32 = 203 [default = 3200]; | 
|  | optional int64 defaulted_int64 = 204 [default = -123456789]; | 
|  | optional sint64 defaulted_sint64 = 205 [default = -6400]; | 
|  | optional uint64 defaulted_uint64 = 206 [default = 6400]; | 
|  | optional fixed32 defaulted_fixed32 = 207 [default = 320000]; | 
|  | optional sfixed32 defaulted_sfixed32 = 208 [default = -320000]; | 
|  | optional float defaulted_float = 209 [default = 3.14159]; | 
|  | optional fixed64 defaulted_fixed64 = 210 [default = 640000]; | 
|  | optional sfixed64 defaulted_sfixed64 = 211 [default = -640000]; | 
|  | optional double defaulted_double = 212 [default = 3.14159265359]; | 
|  | optional string defaulted_string = 213 [default = "hello, \"world!\"\n"]; | 
|  | optional bytes defaulted_bytes = 214 [default = "dead\xde\xad\xbe\xefbeef"]; | 
|  |  | 
|  | optional ChildEnum defaulted_child_enum = 215 [default = ALPHA]; | 
|  | optional SiblingEnum defaulted_sibling_enum = 216 [default = ALPHA]; | 
|  |  | 
|  | // Required fields. | 
|  | required bool required_bool = 300; | 
|  | required int32 required_int32 = 301; | 
|  | required sint32 required_sint32 = 302; | 
|  | required uint32 required_uint32 = 303; | 
|  | required int64 required_int64 = 304; | 
|  | required sint64 required_sint64 = 305; | 
|  | required uint64 required_uint64 = 306; | 
|  | required fixed32 required_fixed32 = 307; | 
|  | required sfixed32 required_sfixed32 = 308; | 
|  | required float required_float = 309; | 
|  | required fixed64 required_fixed64 = 310; | 
|  | required sfixed64 required_sfixed64 = 311; | 
|  | required double required_double = 312; | 
|  | required string required_string = 313; | 
|  | required bytes required_bytes = 314; | 
|  |  | 
|  | required ChildEnum required_child_enum = 315; | 
|  | required ChildMessage required_child_message = 316; | 
|  | required NamedGroup required_named_group = 317; | 
|  | required SiblingEnum required_sibling_enum = 318; | 
|  | required SiblingMessage required_sibling_message = 319; | 
|  | required group RequiredGroup = 320 { | 
|  | optional string f1 = 1; | 
|  | required string f2 = 2; | 
|  | repeated string f3 = 3; | 
|  | } | 
|  | // Required default fields. | 
|  | required bool required_defaulted_bool = 400 [default = true]; | 
|  | required int32 required_defaulted_int32 = 401 [default = -12345]; | 
|  | required sint32 required_defaulted_sint32 = 402 [default = -3200]; | 
|  | required uint32 required_defaulted_uint32 = 403 [default = 3200]; | 
|  | required int64 required_defaulted_int64 = 404 [default = -123456789]; | 
|  | required sint64 required_defaulted_sint64 = 405 [default = -6400]; | 
|  | required uint64 required_defaulted_uint64 = 406 [default = 6400]; | 
|  | required fixed32 required_defaulted_fixed32 = 407 [default = 320000]; | 
|  | required sfixed32 required_defaulted_sfixed32 = 408 [default = -320000]; | 
|  | required float required_defaulted_float = 409 [default = 3.14159]; | 
|  | required fixed64 required_defaulted_fixed64 = 410 [default = 640000]; | 
|  | required sfixed64 required_defaulted_sfixed64 = 411 [default = -640000]; | 
|  | required double required_defaulted_double = 412 [default = 3.14159265359]; | 
|  | required string required_defaulted_string = 413 | 
|  | [default = "hello, \"world!\"\n"]; | 
|  | required bytes required_defaulted_bytes = 414 | 
|  | [default = "dead\xde\xad\xbe\xefbeef"]; | 
|  |  | 
|  | required ChildEnum required_defaulted_child_enum = 415 [default = ALPHA]; | 
|  | required SiblingEnum required_defaulted_sibling_enum = 416 [default = ALPHA]; | 
|  |  | 
|  | // Repeated fields. | 
|  | repeated bool repeated_bool = 500; | 
|  | repeated int32 repeated_int32 = 501; | 
|  | repeated sint32 repeated_sint32 = 502; | 
|  | repeated uint32 repeated_uint32 = 503; | 
|  | repeated int64 repeated_int64 = 504; | 
|  | repeated sint64 repeated_sint64 = 505; | 
|  | repeated uint64 repeated_uint64 = 506; | 
|  | repeated fixed32 repeated_fixed32 = 507; | 
|  | repeated sfixed32 repeated_sfixed32 = 508; | 
|  | repeated float repeated_float = 509; | 
|  | repeated fixed64 repeated_fixed64 = 510; | 
|  | repeated sfixed64 repeated_sfixed64 = 511; | 
|  | repeated double repeated_double = 512; | 
|  | repeated string repeated_string = 513; | 
|  | repeated bytes repeated_bytes = 514; | 
|  |  | 
|  | repeated ChildEnum repeated_child_enum = 515; | 
|  | repeated ChildMessage repeated_child_message = 516; | 
|  | repeated NamedGroup repeated_named_group = 517; | 
|  | repeated SiblingEnum repeated_sibling_enum = 518; | 
|  | repeated SiblingMessage repeated_sibling_message = 519; | 
|  | repeated group RepeatedGroup = 520 { | 
|  | optional string f1 = 1; | 
|  | required string f2 = 2; | 
|  | repeated string f3 = 3; | 
|  | } | 
|  |  | 
|  | // Map fields. | 
|  | map<bool, bool> map_bool_bool = 600; | 
|  | map<bool, int32> map_bool_int32 = 601; | 
|  | map<bool, sint32> map_bool_sint32 = 602; | 
|  | map<bool, uint32> map_bool_uint32 = 603; | 
|  | map<bool, int64> map_bool_int64 = 604; | 
|  | map<bool, sint64> map_bool_sint64 = 605; | 
|  | map<bool, uint64> map_bool_uint64 = 606; | 
|  | map<bool, fixed32> map_bool_fixed32 = 607; | 
|  | map<bool, sfixed32> map_bool_sfixed32 = 608; | 
|  | map<bool, float> map_bool_float = 609; | 
|  | map<bool, fixed64> map_bool_fixed64 = 610; | 
|  | map<bool, sfixed64> map_bool_sfixed64 = 611; | 
|  | map<bool, double> map_bool_double = 612; | 
|  | map<bool, string> map_bool_string = 613; | 
|  | map<bool, bytes> map_bool_bytes = 614; | 
|  |  | 
|  | map<bool, ChildEnum> map_bool_child_enum = 615; | 
|  | map<bool, ChildMessage> map_bool_child_message = 616; | 
|  | map<bool, NamedGroup> map_bool_named_group = 617; | 
|  | map<bool, SiblingEnum> map_bool_sibling_enum = 618; | 
|  | map<bool, SiblingMessage> map_bool_sibling_message = 619; | 
|  |  | 
|  | map<int32, bool> map_int32_bool = 620; | 
|  | map<sint32, bool> map_sint32_bool = 621; | 
|  | map<uint32, bool> map_uint32_bool = 622; | 
|  | map<int64, bool> map_int64_bool = 623; | 
|  | map<sint64, bool> map_sint64_bool = 624; | 
|  | map<uint64, bool> map_uint64_bool = 625; | 
|  | map<fixed32, bool> map_fixed32_bool = 626; | 
|  | map<string, bool> map_string_bool = 627; | 
|  |  | 
|  | // Oneof fields. | 
|  | oneof oneof_union { | 
|  | bool oneof_bool = 700; | 
|  | int32 oneof_int32 = 701; | 
|  | sint32 oneof_sint32 = 702; | 
|  | uint32 oneof_uint32 = 703; | 
|  | int64 oneof_int64 = 704; | 
|  | sint64 oneof_sint64 = 705; | 
|  | uint64 oneof_uint64 = 706; | 
|  | fixed32 oneof_fixed32 = 707; | 
|  | sfixed32 oneof_sfixed32 = 708; | 
|  | float oneof_float = 709; | 
|  | fixed64 oneof_fixed64 = 710; | 
|  | sfixed64 oneof_sfixed64 = 711; | 
|  | double oneof_double = 712; | 
|  | string oneof_string = 713; | 
|  | bytes oneof_bytes = 714; | 
|  |  | 
|  | ChildEnum oneof_child_enum = 715; | 
|  | ChildMessage oneof_child_message = 716; | 
|  | NamedGroup oneof_named_group = 717; | 
|  | SiblingEnum oneof_sibling_enum = 718; | 
|  | SiblingMessage oneof_sibling_message = 719; | 
|  | group OneofGroup = 720 { | 
|  | optional string f1 = 1; | 
|  | required string f2 = 2; | 
|  | repeated string f3 = 3; | 
|  | } | 
|  |  | 
|  | string oneof_string1 = 721; | 
|  | string oneof_string2 = 722; | 
|  | string oneof_string3 = 723; | 
|  | } | 
|  |  | 
|  | // Oneof default fields. | 
|  | oneof oneof_defaulted_union { | 
|  | bool oneof_defaulted_bool = 800 [default = true]; | 
|  | int32 oneof_defaulted_int32 = 801 [default = -12345]; | 
|  | sint32 oneof_defaulted_sint32 = 802 [default = -3200]; | 
|  | uint32 oneof_defaulted_uint32 = 803 [default = 3200]; | 
|  | int64 oneof_defaulted_int64 = 804 [default = -123456789]; | 
|  | sint64 oneof_defaulted_sint64 = 805 [default = -6400]; | 
|  | uint64 oneof_defaulted_uint64 = 806 [default = 6400]; | 
|  | fixed32 oneof_defaulted_fixed32 = 807 [default = 320000]; | 
|  | sfixed32 oneof_defaulted_sfixed32 = 808 [default = -320000]; | 
|  | float oneof_defaulted_float = 809 [default = 3.14159]; | 
|  | fixed64 oneof_defaulted_fixed64 = 810 [default = 640000]; | 
|  | sfixed64 oneof_defaulted_sfixed64 = 811 [default = -640000]; | 
|  | double oneof_defaulted_double = 812 [default = 3.14159265359]; | 
|  | string oneof_defaulted_string = 813 [default = "hello, \"world!\"\n"]; | 
|  | bytes oneof_defaulted_bytes = 814 [default = "dead\xde\xad\xbe\xefbeef"]; | 
|  |  | 
|  | ChildEnum oneof_defaulted_child_enum = 815 [default = ALPHA]; | 
|  | SiblingEnum oneof_defaulted_sibling_enum = 816 [default = ALPHA]; | 
|  | } | 
|  |  | 
|  | // Extension fields. | 
|  | extend Message { | 
|  | // Optional fields. | 
|  | optional bool extension_optional_bool = 10000; | 
|  | optional int32 extension_optional_int32 = 10001; | 
|  | optional sint32 extension_optional_sint32 = 10002; | 
|  | optional uint32 extension_optional_uint32 = 10003; | 
|  | optional int64 extension_optional_int64 = 10004; | 
|  | optional sint64 extension_optional_sint64 = 10005; | 
|  | optional uint64 extension_optional_uint64 = 10006; | 
|  | optional fixed32 extension_optional_fixed32 = 10007; | 
|  | optional sfixed32 extension_optional_sfixed32 = 10008; | 
|  | optional float extension_optional_float = 10009; | 
|  | optional fixed64 extension_optional_fixed64 = 10010; | 
|  | optional sfixed64 extension_optional_sfixed64 = 10011; | 
|  | optional double extension_optional_double = 10012; | 
|  | optional string extension_optional_string = 10013; | 
|  | optional bytes extension_optional_bytes = 10014; | 
|  |  | 
|  | optional ChildEnum extension_optional_child_enum = 10015; | 
|  | optional ChildMessage extension_optional_child_message = 10016; | 
|  | optional NamedGroup extension_optional_named_group = 10017; | 
|  | optional SiblingEnum extension_optional_sibling_enum = 10018; | 
|  | optional SiblingMessage extension_optional_sibling_message = 10019; | 
|  | optional group ExtensionOptionalGroup = 10020 { | 
|  | optional string f1 = 1; | 
|  | required string f2 = 2; | 
|  | repeated string f3 = 3; | 
|  | } | 
|  |  | 
|  | // Optional default fields. | 
|  | optional bool extension_defaulted_bool = 20000 [default = true]; | 
|  | optional int32 extension_defaulted_int32 = 20001 [default = -12345]; | 
|  | optional sint32 extension_defaulted_sint32 = 20002 [default = -3200]; | 
|  | optional uint32 extension_defaulted_uint32 = 20003 [default = 3200]; | 
|  | optional int64 extension_defaulted_int64 = 20004 [default = -123456789]; | 
|  | optional sint64 extension_defaulted_sint64 = 20005 [default = -6400]; | 
|  | optional uint64 extension_defaulted_uint64 = 20006 [default = 6400]; | 
|  | optional fixed32 extension_defaulted_fixed32 = 20007 [default = 320000]; | 
|  | optional sfixed32 extension_defaulted_sfixed32 = 20008 [default = -320000]; | 
|  | optional float extension_defaulted_float = 20009 [default = 3.14159]; | 
|  | optional fixed64 extension_defaulted_fixed64 = 20010 [default = 640000]; | 
|  | optional sfixed64 extension_defaulted_sfixed64 = 20011 [default = -640000]; | 
|  | optional double extension_defaulted_double = 20012 | 
|  | [default = 3.14159265359]; | 
|  | optional string extension_defaulted_string = 20013 | 
|  | [default = "hello, \"world!\"\n"]; | 
|  | optional bytes extension_defaulted_bytes = 20014 | 
|  | [default = "dead\xde\xad\xbe\xefbeef"]; | 
|  |  | 
|  | optional ChildEnum extension_defaulted_child_enum = 20015 [default = ALPHA]; | 
|  | optional SiblingEnum extension_defaulted_sibling_enum = 20016 | 
|  | [default = ALPHA]; | 
|  |  | 
|  | // Repeated fields. | 
|  | repeated bool extension_repeated_bool = 30000; | 
|  | repeated int32 extension_repeated_int32 = 30001; | 
|  | repeated sint32 extension_repeated_sint32 = 30002; | 
|  | repeated uint32 extension_repeated_uint32 = 30003; | 
|  | repeated int64 extension_repeated_int64 = 30004; | 
|  | repeated sint64 extension_repeated_sint64 = 30005; | 
|  | repeated uint64 extension_repeated_uint64 = 30006; | 
|  | repeated fixed32 extension_repeated_fixed32 = 30007; | 
|  | repeated sfixed32 extension_repeated_sfixed32 = 30008; | 
|  | repeated float extension_repeated_float = 30009; | 
|  | repeated fixed64 extension_repeated_fixed64 = 30010; | 
|  | repeated sfixed64 extension_repeated_sfixed64 = 30011; | 
|  | repeated double extension_repeated_double = 30012; | 
|  | repeated string extension_repeated_string = 30013; | 
|  | repeated bytes extension_repeated_bytes = 30014; | 
|  |  | 
|  | repeated ChildEnum extension_repeated_child_enum = 30015; | 
|  | repeated ChildMessage extension_repeated_child_message = 30016; | 
|  | repeated NamedGroup extension_repeated_named_group = 30017; | 
|  | repeated SiblingEnum extension_repeated_sibling_enum = 30018; | 
|  | repeated SiblingMessage extension_repeated_sibling_message = 30019; | 
|  | repeated group ExtensionRepeatedGroup = 30020 { | 
|  | optional string f1 = 1; | 
|  | required string f2 = 2; | 
|  | repeated string f3 = 3; | 
|  | } | 
|  | } | 
|  |  | 
|  | extensions 10000 to max; | 
|  | } |