github.com/whiteCcinn/protobuf-go@v1.0.9/cmd/protoc-gen-go/testdata/extensions/ext/ext.proto (about)

     1  // Copyright 2018 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  syntax = "proto2";
     6  
     7  import "cmd/protoc-gen-go/testdata/extensions/base/base.proto";
     8  import "cmd/protoc-gen-go/testdata/extensions/extra/extra.proto";
     9  
    10  package goproto.protoc.extension.ext;
    11  
    12  option go_package = "github.com/whiteCcinn/protobuf-go/cmd/protoc-gen-go/testdata/extensions/ext";
    13  
    14  message Message {
    15    optional bytes data = 1;
    16  
    17    message M {}
    18  }
    19  
    20  enum Enum {
    21    ZERO = 0;
    22  }
    23  
    24  // Extend with various types.
    25  extend goproto.protoc.extension.base.BaseMessage {
    26    optional bool      extension_bool     = 101;
    27    optional Enum      extension_enum     = 102;
    28    optional int32     extension_int32    = 103;
    29    optional sint32    extension_sint32   = 104;
    30    optional uint32    extension_uint32   = 105;
    31    optional int64     extension_int64    = 106;
    32    optional sint64    extension_sint64   = 107;
    33    optional uint64    extension_uint64   = 108;
    34    optional sfixed32  extension_sfixed32 = 109;
    35    optional fixed32   extension_fixed32  = 110;
    36    optional float     extension_float    = 111;
    37    optional sfixed64  extension_sfixed64 = 112;
    38    optional fixed64   extension_fixed64  = 113;
    39    optional double    extension_double   = 114;
    40    optional string    extension_string   = 115;
    41    optional bytes     extension_bytes    = 116;
    42    optional Message   extension_Message  = 117;
    43    optional Message.M extension_MessageM = 118;
    44    optional group ExtensionGroup = 119 {
    45      optional string extension_group = 120;
    46    }
    47  }
    48  
    49  // Extend with a foreign message.
    50  extend goproto.protoc.extension.base.BaseMessage {
    51    optional goproto.protoc.extension.extra.ExtraMessage extra_message = 9;
    52  }
    53  
    54  // Extend in the scope of another type.
    55  message ExtendingMessage {
    56    extend goproto.protoc.extension.base.BaseMessage {
    57      optional string extending_message_string = 200;
    58      optional ExtendingMessageSubmessage extending_message_submessage = 201;
    59    }
    60    message ExtendingMessageSubmessage {}
    61  }
    62  
    63  // Extend with repeated fields.
    64  extend goproto.protoc.extension.base.BaseMessage {
    65    repeated bool     repeated_x_bool     = 301;
    66    repeated Enum     repeated_x_enum     = 302;
    67    repeated int32    repeated_x_int32    = 303;
    68    repeated sint32   repeated_x_sint32   = 304;
    69    repeated uint32   repeated_x_uint32   = 305;
    70    repeated int64    repeated_x_int64    = 306;
    71    repeated sint64   repeated_x_sint64   = 307;
    72    repeated uint64   repeated_x_uint64   = 308;
    73    repeated sfixed32 repeated_x_sfixed32 = 309;
    74    repeated fixed32  repeated_x_fixed32  = 310;
    75    repeated float    repeated_x_float    = 311;
    76    repeated sfixed64 repeated_x_sfixed64 = 312;
    77    repeated fixed64  repeated_x_fixed64  = 313;
    78    repeated double   repeated_x_double   = 314;
    79    repeated string   repeated_x_string   = 315;
    80    repeated bytes    repeated_x_bytes    = 316;
    81    repeated Message  repeated_x_Message  = 317;
    82    repeated group RepeatedGroup = 318 {
    83      repeated string repeated_x_group = 319;
    84    }
    85  }
    86  
    87  // An extension of an extension.
    88  message Extendable {
    89    extensions 1 to max;
    90  }
    91  extend goproto.protoc.extension.base.BaseMessage {
    92    optional Extendable extendable_field = 400;
    93  }
    94  extend Extendable {
    95    optional string extendable_string_field = 1;
    96  }
    97  
    98  // Message set wire format.
    99  message MessageSetWireFormatExtension {
   100    extend goproto.protoc.extension.base.MessageSetWireFormatMessage {
   101      optional MessageSetWireFormatExtension message_set_extension = 100;
   102    }
   103  }
   104  
   105  // Message set extension, not nested in a message.
   106  extend goproto.protoc.extension.base.MessageSetWireFormatMessage {
   107    optional MessageSetWireFormatExtension message_set_extension = 101;
   108  }