| // 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 = "proto3"; | 
 |  | 
 | package goproto.proto.test3; | 
 |  | 
 | import "test3/test_import.proto"; | 
 |  | 
 | option go_package = "github.com/golang/protobuf/v2/internal/testprotos/test3"; | 
 |  | 
 | message TestAllTypes { | 
 |   message NestedMessage { | 
 |     int32 a = 1; | 
 |     TestAllTypes corecursive = 2; | 
 |   } | 
 |  | 
 |   enum NestedEnum { | 
 |     FOO = 0; | 
 |     BAR = 1; | 
 |     BAZ = 2; | 
 |     NEG = -1;  // Intentionally negative. | 
 |   } | 
 |  | 
 |   int32         optional_int32    =  1; | 
 |   int64         optional_int64    =  2; | 
 |   uint32        optional_uint32   =  3; | 
 |   uint64        optional_uint64   =  4; | 
 |   sint32        optional_sint32   =  5; | 
 |   sint64        optional_sint64   =  6; | 
 |   fixed32       optional_fixed32  =  7; | 
 |   fixed64       optional_fixed64  =  8; | 
 |   sfixed32      optional_sfixed32 =  9; | 
 |   sfixed64      optional_sfixed64 = 10; | 
 |   float         optional_float    = 11; | 
 |   double        optional_double   = 12; | 
 |   bool          optional_bool     = 13; | 
 |   string        optional_string   = 14; | 
 |   bytes         optional_bytes    = 15; | 
 |   NestedMessage  optional_nested_message  = 18; | 
 |   ForeignMessage optional_foreign_message = 19; | 
 |   ImportMessage  optional_import_message  = 20; | 
 |   NestedEnum     optional_nested_enum     = 21; | 
 |   ForeignEnum    optional_foreign_enum    = 22; | 
 |   ImportEnum     optional_import_enum     = 23; | 
 |  | 
 |   repeated int32         repeated_int32    = 31; | 
 |   repeated int64         repeated_int64    = 32; | 
 |   repeated uint32        repeated_uint32   = 33; | 
 |   repeated uint64        repeated_uint64   = 34; | 
 |   repeated sint32        repeated_sint32   = 35; | 
 |   repeated sint64        repeated_sint64   = 36; | 
 |   repeated fixed32       repeated_fixed32  = 37; | 
 |   repeated fixed64       repeated_fixed64  = 38; | 
 |   repeated sfixed32      repeated_sfixed32 = 39; | 
 |   repeated sfixed64      repeated_sfixed64 = 40; | 
 |   repeated float         repeated_float    = 41; | 
 |   repeated double        repeated_double   = 42; | 
 |   repeated bool          repeated_bool     = 43; | 
 |   repeated string        repeated_string   = 44; | 
 |   repeated bytes         repeated_bytes    = 45; | 
 |   repeated NestedMessage  repeated_nested_message  = 48; | 
 |   repeated ForeignMessage repeated_foreign_message = 49; | 
 |   repeated ImportMessage  repeated_importmessage   = 50; | 
 |   repeated NestedEnum     repeated_nested_enum     = 51; | 
 |   repeated ForeignEnum    repeated_foreign_enum    = 52; | 
 |   repeated ImportEnum     repeated_importenum      = 53; | 
 |  | 
 |   map <   int32, int32>         map_int32_int32           = 56; | 
 |   map <   int64, int64>         map_int64_int64           = 57; | 
 |   map <  uint32, uint32>        map_uint32_uint32         = 58; | 
 |   map <  uint64, uint64>        map_uint64_uint64         = 59; | 
 |   map <  sint32, sint32>        map_sint32_sint32         = 60; | 
 |   map <  sint64, sint64>        map_sint64_sint64         = 61; | 
 |   map < fixed32, fixed32>       map_fixed32_fixed32       = 62; | 
 |   map < fixed64, fixed64>       map_fixed64_fixed64       = 63; | 
 |   map <sfixed32, sfixed32>      map_sfixed32_sfixed32     = 64; | 
 |   map <sfixed64, sfixed64>      map_sfixed64_sfixed64     = 65; | 
 |   map <   int32, float>         map_int32_float           = 66; | 
 |   map <   int32, double>        map_int32_double          = 67; | 
 |   map <    bool, bool>          map_bool_bool             = 68; | 
 |   map <  string, string>        map_string_string         = 69; | 
 |   map <  string, bytes>         map_string_bytes          = 70; | 
 |   map <  string, NestedMessage> map_string_nested_message = 71; | 
 |   map <  string, NestedEnum>    map_string_nested_enum    = 73; | 
 |  | 
 |   oneof oneof_field { | 
 |     uint32        oneof_uint32         = 111; | 
 |     NestedMessage oneof_nested_message = 112; | 
 |     string        oneof_string         = 113; | 
 |     bytes         oneof_bytes          = 114; | 
 |     bool          oneof_bool           = 115; | 
 |     uint64        oneof_uint64         = 116; | 
 |     float         oneof_float          = 117; | 
 |     double        oneof_double         = 118; | 
 |     NestedEnum    oneof_enum           = 119; | 
 |   } | 
 | } | 
 |  | 
 | message ForeignMessage { | 
 |   int32 c = 1; | 
 |   int32 d = 2; | 
 | } | 
 |  | 
 | enum ForeignEnum { | 
 |   FOREIGN_ZERO = 0; | 
 |   FOREIGN_FOO = 4; | 
 |   FOREIGN_BAR = 5; | 
 |   FOREIGN_BAZ = 6; | 
 | } |