ext.proto 3.5 KB

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