prepor-protobuf 3.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (182) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/.rubocop.yml +51 -0
  4. data/.rubocop_todo.yml +89 -0
  5. data/.travis.yml +25 -0
  6. data/.yardopts +5 -0
  7. data/CHANGES.md +256 -0
  8. data/CONTRIBUTING.md +16 -0
  9. data/Gemfile +3 -0
  10. data/LICENSE.txt +22 -0
  11. data/README.md +33 -0
  12. data/Rakefile +64 -0
  13. data/bin/protoc-gen-ruby +16 -0
  14. data/bin/rpc_server +5 -0
  15. data/install-protobuf.sh +28 -0
  16. data/lib/protobuf.rb +100 -0
  17. data/lib/protobuf/cli.rb +242 -0
  18. data/lib/protobuf/code_generator.rb +44 -0
  19. data/lib/protobuf/decoder.rb +73 -0
  20. data/lib/protobuf/deprecation.rb +112 -0
  21. data/lib/protobuf/descriptors.rb +3 -0
  22. data/lib/protobuf/descriptors/google/protobuf/compiler/plugin.pb.rb +48 -0
  23. data/lib/protobuf/descriptors/google/protobuf/descriptor.pb.rb +251 -0
  24. data/lib/protobuf/encoder.rb +67 -0
  25. data/lib/protobuf/enum.rb +303 -0
  26. data/lib/protobuf/exceptions.rb +9 -0
  27. data/lib/protobuf/field.rb +74 -0
  28. data/lib/protobuf/field/base_field.rb +267 -0
  29. data/lib/protobuf/field/bool_field.rb +59 -0
  30. data/lib/protobuf/field/bytes_field.rb +82 -0
  31. data/lib/protobuf/field/double_field.rb +25 -0
  32. data/lib/protobuf/field/enum_field.rb +68 -0
  33. data/lib/protobuf/field/field_array.rb +87 -0
  34. data/lib/protobuf/field/fixed32_field.rb +25 -0
  35. data/lib/protobuf/field/fixed64_field.rb +28 -0
  36. data/lib/protobuf/field/float_field.rb +41 -0
  37. data/lib/protobuf/field/int32_field.rb +21 -0
  38. data/lib/protobuf/field/int64_field.rb +21 -0
  39. data/lib/protobuf/field/integer_field.rb +23 -0
  40. data/lib/protobuf/field/message_field.rb +65 -0
  41. data/lib/protobuf/field/sfixed32_field.rb +27 -0
  42. data/lib/protobuf/field/sfixed64_field.rb +28 -0
  43. data/lib/protobuf/field/signed_integer_field.rb +29 -0
  44. data/lib/protobuf/field/sint32_field.rb +21 -0
  45. data/lib/protobuf/field/sint64_field.rb +21 -0
  46. data/lib/protobuf/field/string_field.rb +34 -0
  47. data/lib/protobuf/field/uint32_field.rb +21 -0
  48. data/lib/protobuf/field/uint64_field.rb +21 -0
  49. data/lib/protobuf/field/varint_field.rb +73 -0
  50. data/lib/protobuf/generators/base.rb +70 -0
  51. data/lib/protobuf/generators/enum_generator.rb +41 -0
  52. data/lib/protobuf/generators/extension_generator.rb +27 -0
  53. data/lib/protobuf/generators/field_generator.rb +131 -0
  54. data/lib/protobuf/generators/file_generator.rb +135 -0
  55. data/lib/protobuf/generators/group_generator.rb +112 -0
  56. data/lib/protobuf/generators/message_generator.rb +98 -0
  57. data/lib/protobuf/generators/printable.rb +160 -0
  58. data/lib/protobuf/generators/service_generator.rb +26 -0
  59. data/lib/protobuf/lifecycle.rb +33 -0
  60. data/lib/protobuf/logging.rb +39 -0
  61. data/lib/protobuf/message.rb +193 -0
  62. data/lib/protobuf/message/fields.rb +133 -0
  63. data/lib/protobuf/message/serialization.rb +89 -0
  64. data/lib/protobuf/optionable.rb +23 -0
  65. data/lib/protobuf/rpc/buffer.rb +77 -0
  66. data/lib/protobuf/rpc/client.rb +168 -0
  67. data/lib/protobuf/rpc/connector.rb +19 -0
  68. data/lib/protobuf/rpc/connectors/base.rb +55 -0
  69. data/lib/protobuf/rpc/connectors/common.rb +176 -0
  70. data/lib/protobuf/rpc/connectors/socket.rb +73 -0
  71. data/lib/protobuf/rpc/connectors/zmq.rb +322 -0
  72. data/lib/protobuf/rpc/dynamic_discovery.pb.rb +49 -0
  73. data/lib/protobuf/rpc/env.rb +58 -0
  74. data/lib/protobuf/rpc/error.rb +28 -0
  75. data/lib/protobuf/rpc/error/client_error.rb +31 -0
  76. data/lib/protobuf/rpc/error/server_error.rb +43 -0
  77. data/lib/protobuf/rpc/middleware.rb +25 -0
  78. data/lib/protobuf/rpc/middleware/exception_handler.rb +36 -0
  79. data/lib/protobuf/rpc/middleware/logger.rb +91 -0
  80. data/lib/protobuf/rpc/middleware/request_decoder.rb +83 -0
  81. data/lib/protobuf/rpc/middleware/response_encoder.rb +88 -0
  82. data/lib/protobuf/rpc/middleware/runner.rb +18 -0
  83. data/lib/protobuf/rpc/rpc.pb.rb +55 -0
  84. data/lib/protobuf/rpc/server.rb +39 -0
  85. data/lib/protobuf/rpc/servers/socket/server.rb +123 -0
  86. data/lib/protobuf/rpc/servers/socket/worker.rb +56 -0
  87. data/lib/protobuf/rpc/servers/socket_runner.rb +40 -0
  88. data/lib/protobuf/rpc/servers/zmq/broker.rb +193 -0
  89. data/lib/protobuf/rpc/servers/zmq/server.rb +320 -0
  90. data/lib/protobuf/rpc/servers/zmq/util.rb +48 -0
  91. data/lib/protobuf/rpc/servers/zmq/worker.rb +104 -0
  92. data/lib/protobuf/rpc/servers/zmq_runner.rb +62 -0
  93. data/lib/protobuf/rpc/service.rb +179 -0
  94. data/lib/protobuf/rpc/service_directory.rb +253 -0
  95. data/lib/protobuf/rpc/service_dispatcher.rb +46 -0
  96. data/lib/protobuf/rpc/service_filters.rb +272 -0
  97. data/lib/protobuf/rpc/stat.rb +97 -0
  98. data/lib/protobuf/socket.rb +21 -0
  99. data/lib/protobuf/tasks.rb +1 -0
  100. data/lib/protobuf/tasks/compile.rake +61 -0
  101. data/lib/protobuf/version.rb +3 -0
  102. data/lib/protobuf/wire_type.rb +10 -0
  103. data/lib/protobuf/zmq.rb +21 -0
  104. data/proto/dynamic_discovery.proto +44 -0
  105. data/proto/google/protobuf/compiler/plugin.proto +147 -0
  106. data/proto/google/protobuf/descriptor.proto +620 -0
  107. data/proto/rpc.proto +62 -0
  108. data/protobuf.gemspec +51 -0
  109. data/spec/benchmark/tasks.rb +139 -0
  110. data/spec/bin/protoc-gen-ruby_spec.rb +23 -0
  111. data/spec/data/data.bin +3 -0
  112. data/spec/data/types.bin +0 -0
  113. data/spec/encoding/all_types_spec.rb +105 -0
  114. data/spec/encoding/extreme_values_spec.rb +0 -0
  115. data/spec/functional/class_inheritance_spec.rb +52 -0
  116. data/spec/functional/socket_server_spec.rb +59 -0
  117. data/spec/functional/zmq_server_spec.rb +105 -0
  118. data/spec/lib/protobuf/cli_spec.rb +273 -0
  119. data/spec/lib/protobuf/code_generator_spec.rb +60 -0
  120. data/spec/lib/protobuf/enum_spec.rb +265 -0
  121. data/spec/lib/protobuf/field/bool_field_spec.rb +51 -0
  122. data/spec/lib/protobuf/field/field_array_spec.rb +69 -0
  123. data/spec/lib/protobuf/field/float_field_spec.rb +55 -0
  124. data/spec/lib/protobuf/field/int32_field_spec.rb +89 -0
  125. data/spec/lib/protobuf/field/string_field_spec.rb +45 -0
  126. data/spec/lib/protobuf/field_spec.rb +191 -0
  127. data/spec/lib/protobuf/generators/base_spec.rb +84 -0
  128. data/spec/lib/protobuf/generators/enum_generator_spec.rb +73 -0
  129. data/spec/lib/protobuf/generators/extension_generator_spec.rb +42 -0
  130. data/spec/lib/protobuf/generators/field_generator_spec.rb +102 -0
  131. data/spec/lib/protobuf/generators/file_generator_spec.rb +32 -0
  132. data/spec/lib/protobuf/generators/message_generator_spec.rb +0 -0
  133. data/spec/lib/protobuf/generators/service_generator_spec.rb +46 -0
  134. data/spec/lib/protobuf/lifecycle_spec.rb +94 -0
  135. data/spec/lib/protobuf/message_spec.rb +526 -0
  136. data/spec/lib/protobuf/optionable_spec.rb +46 -0
  137. data/spec/lib/protobuf/rpc/client_spec.rb +66 -0
  138. data/spec/lib/protobuf/rpc/connector_spec.rb +26 -0
  139. data/spec/lib/protobuf/rpc/connectors/base_spec.rb +50 -0
  140. data/spec/lib/protobuf/rpc/connectors/common_spec.rb +170 -0
  141. data/spec/lib/protobuf/rpc/connectors/socket_spec.rb +36 -0
  142. data/spec/lib/protobuf/rpc/connectors/zmq_spec.rb +117 -0
  143. data/spec/lib/protobuf/rpc/middleware/exception_handler_spec.rb +62 -0
  144. data/spec/lib/protobuf/rpc/middleware/logger_spec.rb +49 -0
  145. data/spec/lib/protobuf/rpc/middleware/request_decoder_spec.rb +115 -0
  146. data/spec/lib/protobuf/rpc/middleware/response_encoder_spec.rb +75 -0
  147. data/spec/lib/protobuf/rpc/servers/socket_server_spec.rb +38 -0
  148. data/spec/lib/protobuf/rpc/servers/zmq/server_spec.rb +43 -0
  149. data/spec/lib/protobuf/rpc/servers/zmq/util_spec.rb +55 -0
  150. data/spec/lib/protobuf/rpc/servers/zmq/worker_spec.rb +35 -0
  151. data/spec/lib/protobuf/rpc/service_directory_spec.rb +293 -0
  152. data/spec/lib/protobuf/rpc/service_dispatcher_spec.rb +52 -0
  153. data/spec/lib/protobuf/rpc/service_filters_spec.rb +517 -0
  154. data/spec/lib/protobuf/rpc/service_spec.rb +162 -0
  155. data/spec/lib/protobuf/rpc/stat_spec.rb +68 -0
  156. data/spec/lib/protobuf_spec.rb +98 -0
  157. data/spec/spec_helper.rb +44 -0
  158. data/spec/support/all.rb +6 -0
  159. data/spec/support/packed_field.rb +22 -0
  160. data/spec/support/server.rb +64 -0
  161. data/spec/support/test/all_types.data.bin +0 -0
  162. data/spec/support/test/all_types.data.txt +119 -0
  163. data/spec/support/test/defaults.pb.rb +27 -0
  164. data/spec/support/test/defaults.proto +9 -0
  165. data/spec/support/test/enum.pb.rb +55 -0
  166. data/spec/support/test/enum.proto +34 -0
  167. data/spec/support/test/extended.pb.rb +18 -0
  168. data/spec/support/test/extended.proto +10 -0
  169. data/spec/support/test/extreme_values.data.bin +0 -0
  170. data/spec/support/test/google_unittest.pb.rb +537 -0
  171. data/spec/support/test/google_unittest.proto +713 -0
  172. data/spec/support/test/google_unittest_import.pb.rb +39 -0
  173. data/spec/support/test/google_unittest_import.proto +64 -0
  174. data/spec/support/test/google_unittest_import_public.pb.rb +10 -0
  175. data/spec/support/test/google_unittest_import_public.proto +38 -0
  176. data/spec/support/test/multi_field_extensions.pb.rb +58 -0
  177. data/spec/support/test/multi_field_extensions.proto +33 -0
  178. data/spec/support/test/resource.pb.rb +119 -0
  179. data/spec/support/test/resource.proto +94 -0
  180. data/spec/support/test/resource_service.rb +23 -0
  181. data/spec/support/test_app_file.rb +2 -0
  182. metadata +502 -0
@@ -0,0 +1,119 @@
1
+ optional_int32: 101
2
+ optional_int64: 102
3
+ optional_uint32: 103
4
+ optional_uint64: 104
5
+ optional_sint32: 105
6
+ optional_sint64: 106
7
+ optional_fixed32: 107
8
+ optional_fixed64: 108
9
+ optional_sfixed32: 109
10
+ optional_sfixed64: 110
11
+ optional_float: 111
12
+ optional_double: 112
13
+ optional_bool: true
14
+ optional_string: "115"
15
+ optional_bytes: "116"
16
+ optional_nested_message {
17
+ bb: 118
18
+ }
19
+ optional_foreign_message {
20
+ c: 119
21
+ }
22
+ optional_import_message {
23
+ d: 120
24
+ }
25
+ optional_nested_enum: BAZ
26
+ optional_foreign_enum: FOREIGN_BAZ
27
+ optional_import_enum: IMPORT_BAZ
28
+ optional_string_piece: "124"
29
+ optional_cord: "125"
30
+ optional_public_import_message {
31
+ e: 126
32
+ }
33
+ optional_lazy_message {
34
+ bb: 127
35
+ }
36
+ repeated_int32: 201
37
+ repeated_int32: 301
38
+ repeated_int64: 202
39
+ repeated_int64: 302
40
+ repeated_uint32: 203
41
+ repeated_uint32: 303
42
+ repeated_uint64: 204
43
+ repeated_uint64: 304
44
+ repeated_sint32: 205
45
+ repeated_sint32: 305
46
+ repeated_sint64: 206
47
+ repeated_sint64: 306
48
+ repeated_fixed32: 207
49
+ repeated_fixed32: 307
50
+ repeated_fixed64: 208
51
+ repeated_fixed64: 308
52
+ repeated_sfixed32: 209
53
+ repeated_sfixed32: 309
54
+ repeated_sfixed64: 210
55
+ repeated_sfixed64: 310
56
+ repeated_float: 211
57
+ repeated_float: 311
58
+ repeated_double: 212
59
+ repeated_double: 312
60
+ repeated_bool: true
61
+ repeated_bool: false
62
+ repeated_string: "215"
63
+ repeated_string: "315"
64
+ repeated_bytes: "216"
65
+ repeated_bytes: "316"
66
+ repeated_nested_message {
67
+ bb: 218
68
+ }
69
+ repeated_nested_message {
70
+ bb: 318
71
+ }
72
+ repeated_foreign_message {
73
+ c: 219
74
+ }
75
+ repeated_foreign_message {
76
+ c: 319
77
+ }
78
+ repeated_import_message {
79
+ d: 220
80
+ }
81
+ repeated_import_message {
82
+ d: 320
83
+ }
84
+ repeated_nested_enum: BAR
85
+ repeated_nested_enum: BAZ
86
+ repeated_foreign_enum: FOREIGN_BAR
87
+ repeated_foreign_enum: FOREIGN_BAZ
88
+ repeated_import_enum: IMPORT_BAR
89
+ repeated_import_enum: IMPORT_BAZ
90
+ repeated_string_piece: "224"
91
+ repeated_string_piece: "324"
92
+ repeated_cord: "225"
93
+ repeated_cord: "325"
94
+ repeated_lazy_message {
95
+ bb: 227
96
+ }
97
+ repeated_lazy_message {
98
+ bb: 327
99
+ }
100
+ default_int32: 401
101
+ default_int64: 402
102
+ default_uint32: 403
103
+ default_uint64: 404
104
+ default_sint32: 405
105
+ default_sint64: 406
106
+ default_fixed32: 407
107
+ default_fixed64: 408
108
+ default_sfixed32: 409
109
+ default_sfixed64: 410
110
+ default_float: 411
111
+ default_double: 412
112
+ default_bool: false
113
+ default_string: "415"
114
+ default_bytes: "416"
115
+ default_nested_enum: FOO
116
+ default_foreign_enum: FOREIGN_FOO
117
+ default_import_enum: IMPORT_FOO
118
+ default_string_piece: "424"
119
+ default_cord: "425"
@@ -0,0 +1,27 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+ require 'protobuf/message'
7
+
8
+ module Test
9
+
10
+ ##
11
+ # Message Classes
12
+ #
13
+ class Defaults < ::Protobuf::Message; end
14
+
15
+
16
+ ##
17
+ # Message Fields
18
+ #
19
+ class Defaults
20
+ optional :bytes, :escaped_bytes, 1, :default => "\000\001\007\010\014\n\r\t\013\\\\'\"\376"
21
+ optional :double, :infinity_default, 2, :default => ::Float::INFINITY
22
+ optional :float, :neg_infinity_default, 3, :default => -::Float::INFINITY
23
+ optional :double, :nan_default, 4, :default => ::Float::NAN
24
+ end
25
+
26
+ end
27
+
@@ -0,0 +1,9 @@
1
+ package test;
2
+
3
+ message Defaults {
4
+ optional bytes escaped_bytes = 1 [default = "\0\001\a\b\f\n\r\t\v\\\'\"\xfe"];
5
+ optional double infinity_default = 2 [default = inf];
6
+ optional float neg_infinity_default = 3 [default = -inf];
7
+ optional double nan_default = 4 [default = nan];
8
+ }
9
+
@@ -0,0 +1,55 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+ require 'protobuf/message'
7
+
8
+ module Test
9
+
10
+ ##
11
+ # Enum Classes
12
+ #
13
+ class EnumTestType < ::Protobuf::Enum
14
+ define :ONE, 1
15
+ define :TWO, 2
16
+ end
17
+
18
+ class AliasedEnum < ::Protobuf::Enum
19
+ set_option :allow_alias
20
+
21
+ define :THREE, 3
22
+ define :TRES, 3
23
+ define :FOUR, 4
24
+ define :CUATRO, 4
25
+ end
26
+
27
+
28
+ ##
29
+ # Message Classes
30
+ #
31
+ class EnumTestMessage < ::Protobuf::Message; end
32
+
33
+
34
+ ##
35
+ # Message Fields
36
+ #
37
+ class EnumTestMessage
38
+ optional ::Test::EnumTestType, :non_default_enum, 1
39
+ optional ::Test::EnumTestType, :default_enum, 2, :default => ::Test::EnumTestType::ONE
40
+ repeated ::Test::EnumTestType, :repeated_enums, 3
41
+ optional ::Test::AliasedEnum, :alias_non_default_enum, 4
42
+ optional ::Test::AliasedEnum, :alias_default_enum, 5, :default => ::Test::AliasedEnum::CUATRO
43
+ repeated ::Test::AliasedEnum, :alias_repeated_enums, 6
44
+ end
45
+
46
+
47
+ ##
48
+ # Extended Message Fields
49
+ #
50
+ class ::Test::Resource < ::Protobuf::Message
51
+ optional :int32, :ext_other_file_defined_field, 200, :extension => true
52
+ end
53
+
54
+ end
55
+
@@ -0,0 +1,34 @@
1
+ package test;
2
+ import 'test/resource.proto';
3
+
4
+ // Test extending another message from an imported file.
5
+
6
+ enum EnumTestType {
7
+ ONE = 1;
8
+ TWO = 2;
9
+ }
10
+
11
+ // Uses aliases
12
+ enum AliasedEnum {
13
+ option allow_alias = true;
14
+
15
+ THREE = 3;
16
+ TRES = 3;
17
+
18
+ FOUR = 4;
19
+ CUATRO = 4;
20
+ }
21
+
22
+ message EnumTestMessage {
23
+ optional EnumTestType non_default_enum = 1;
24
+ optional EnumTestType default_enum = 2 [default=ONE];
25
+ repeated EnumTestType repeated_enums = 3;
26
+
27
+ optional AliasedEnum alias_non_default_enum = 4;
28
+ optional AliasedEnum alias_default_enum = 5 [default=CUATRO];
29
+ repeated AliasedEnum alias_repeated_enums = 6;
30
+ }
31
+
32
+ extend test.Resource {
33
+ optional int32 ext_other_file_defined_field = 200;
34
+ }
@@ -0,0 +1,18 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+ require 'protobuf/message'
7
+
8
+ module Test
9
+
10
+ ##
11
+ # Extended Message Fields
12
+ #
13
+ class ::Test::Resource < ::Protobuf::Message
14
+ optional :int64, :deleted_at, 300, :extension => true
15
+ end
16
+
17
+ end
18
+
@@ -0,0 +1,10 @@
1
+ package test;
2
+ import 'test/resource.proto';
3
+
4
+ // Test that we will re-open a class and add
5
+ // extension fields to it even if there are no
6
+ // message or enum definitions in this FileDescriptor.
7
+
8
+ extend test.Resource {
9
+ optional int64 deleted_at = 300;
10
+ }
@@ -0,0 +1,537 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+ require 'protobuf/message'
7
+ require 'protobuf/rpc/service'
8
+
9
+ module GoogleUnittest
10
+
11
+ ##
12
+ # Enum Classes
13
+ #
14
+ class ForeignEnum < ::Protobuf::Enum
15
+ define :FOREIGN_FOO, 4
16
+ define :FOREIGN_BAR, 5
17
+ define :FOREIGN_BAZ, 6
18
+ end
19
+
20
+ class TestSparseEnum < ::Protobuf::Enum
21
+ define :SPARSE_A, 123
22
+ define :SPARSE_B, 62374
23
+ define :SPARSE_C, 12589234
24
+ define :SPARSE_D, -15
25
+ define :SPARSE_E, -53452
26
+ define :SPARSE_F, 0
27
+ define :SPARSE_G, 2
28
+ end
29
+
30
+
31
+ ##
32
+ # Message Classes
33
+ #
34
+ class TestAllTypes < ::Protobuf::Message
35
+ class NestedEnum < ::Protobuf::Enum
36
+ define :FOO, 1
37
+ define :BAR, 2
38
+ define :BAZ, 3
39
+ end
40
+
41
+ class NestedMessage < ::Protobuf::Message; end
42
+
43
+ end
44
+
45
+ class TestDeprecatedFields < ::Protobuf::Message; end
46
+ class ForeignMessage < ::Protobuf::Message; end
47
+ class TestAllExtensions < ::Protobuf::Message; end
48
+ class TestNestedExtension < ::Protobuf::Message; end
49
+ class TestRequired < ::Protobuf::Message; end
50
+ class TestRequiredForeign < ::Protobuf::Message; end
51
+ class TestForeignNested < ::Protobuf::Message; end
52
+ class TestEmptyMessage < ::Protobuf::Message; end
53
+ class TestEmptyMessageWithExtensions < ::Protobuf::Message; end
54
+ class TestMultipleExtensionRanges < ::Protobuf::Message; end
55
+ class TestReallyLargeTagNumber < ::Protobuf::Message; end
56
+ class TestRecursiveMessage < ::Protobuf::Message; end
57
+ class TestMutualRecursionA < ::Protobuf::Message; end
58
+ class TestMutualRecursionB < ::Protobuf::Message; end
59
+ class TestDupFieldNumber < ::Protobuf::Message; end
60
+ class TestEagerMessage < ::Protobuf::Message; end
61
+ class TestLazyMessage < ::Protobuf::Message; end
62
+ class TestNestedMessageHasBits < ::Protobuf::Message
63
+ class NestedMessage < ::Protobuf::Message; end
64
+
65
+ end
66
+
67
+ class TestCamelCaseFieldNames < ::Protobuf::Message; end
68
+ class TestFieldOrderings < ::Protobuf::Message; end
69
+ class TestExtremeDefaultValues < ::Protobuf::Message; end
70
+ class SparseEnumMessage < ::Protobuf::Message; end
71
+ class OneString < ::Protobuf::Message; end
72
+ class MoreString < ::Protobuf::Message; end
73
+ class OneBytes < ::Protobuf::Message; end
74
+ class MoreBytes < ::Protobuf::Message; end
75
+ class TestPackedTypes < ::Protobuf::Message; end
76
+ class TestUnpackedTypes < ::Protobuf::Message; end
77
+ class TestPackedExtensions < ::Protobuf::Message; end
78
+ class TestDynamicExtensions < ::Protobuf::Message
79
+ class DynamicEnumType < ::Protobuf::Enum
80
+ define :DYNAMIC_FOO, 2200
81
+ define :DYNAMIC_BAR, 2201
82
+ define :DYNAMIC_BAZ, 2202
83
+ end
84
+
85
+ class DynamicMessageType < ::Protobuf::Message; end
86
+
87
+ end
88
+
89
+ class TestRepeatedScalarDifferentTagSizes < ::Protobuf::Message; end
90
+ class TestParsingMerge < ::Protobuf::Message
91
+ class RepeatedFieldsGenerator < ::Protobuf::Message; end
92
+
93
+ end
94
+
95
+ class TestCommentInjectionMessage < ::Protobuf::Message; end
96
+ class FooRequest < ::Protobuf::Message; end
97
+ class FooResponse < ::Protobuf::Message; end
98
+ class FooClientMessage < ::Protobuf::Message; end
99
+ class FooServerMessage < ::Protobuf::Message; end
100
+ class BarRequest < ::Protobuf::Message; end
101
+ class BarResponse < ::Protobuf::Message; end
102
+
103
+
104
+ ##
105
+ # Message Fields
106
+ #
107
+ class TestAllTypes
108
+ class NestedMessage
109
+ optional :int32, :bb, 1
110
+ end
111
+
112
+ optional :int32, :optional_int32, 1
113
+ optional :int64, :optional_int64, 2
114
+ optional :uint32, :optional_uint32, 3
115
+ optional :uint64, :optional_uint64, 4
116
+ optional :sint32, :optional_sint32, 5
117
+ optional :sint64, :optional_sint64, 6
118
+ optional :fixed32, :optional_fixed32, 7
119
+ optional :fixed64, :optional_fixed64, 8
120
+ optional :sfixed32, :optional_sfixed32, 9
121
+ optional :sfixed64, :optional_sfixed64, 10
122
+ optional :float, :optional_float, 11
123
+ optional :double, :optional_double, 12
124
+ optional :bool, :optional_bool, 13
125
+ optional :string, :optional_string, 14
126
+ optional :bytes, :optional_bytes, 15
127
+ optional ::GoogleUnittest::TestAllTypes::NestedMessage, :optional_nested_message, 18
128
+ optional ::GoogleUnittest::ForeignMessage, :optional_foreign_message, 19
129
+ optional ::GoogleUnittestImport::ImportMessage, :optional_import_message, 20
130
+ optional ::GoogleUnittest::TestAllTypes::NestedEnum, :optional_nested_enum, 21
131
+ optional ::GoogleUnittest::ForeignEnum, :optional_foreign_enum, 22
132
+ optional ::GoogleUnittestImport::ImportEnum, :optional_import_enum, 23
133
+ optional :string, :optional_string_piece, 24
134
+ optional :string, :optional_cord, 25
135
+ optional ::GoogleUnittestImport::PublicImportMessage, :optional_public_import_message, 26
136
+ optional ::GoogleUnittest::TestAllTypes::NestedMessage, :optional_lazy_message, 27
137
+ repeated :int32, :repeated_int32, 31
138
+ repeated :int64, :repeated_int64, 32
139
+ repeated :uint32, :repeated_uint32, 33
140
+ repeated :uint64, :repeated_uint64, 34
141
+ repeated :sint32, :repeated_sint32, 35
142
+ repeated :sint64, :repeated_sint64, 36
143
+ repeated :fixed32, :repeated_fixed32, 37
144
+ repeated :fixed64, :repeated_fixed64, 38
145
+ repeated :sfixed32, :repeated_sfixed32, 39
146
+ repeated :sfixed64, :repeated_sfixed64, 40
147
+ repeated :float, :repeated_float, 41
148
+ repeated :double, :repeated_double, 42
149
+ repeated :bool, :repeated_bool, 43
150
+ repeated :string, :repeated_string, 44
151
+ repeated :bytes, :repeated_bytes, 45
152
+ repeated ::GoogleUnittest::TestAllTypes::NestedMessage, :repeated_nested_message, 48
153
+ repeated ::GoogleUnittest::ForeignMessage, :repeated_foreign_message, 49
154
+ repeated ::GoogleUnittestImport::ImportMessage, :repeated_import_message, 50
155
+ repeated ::GoogleUnittest::TestAllTypes::NestedEnum, :repeated_nested_enum, 51
156
+ repeated ::GoogleUnittest::ForeignEnum, :repeated_foreign_enum, 52
157
+ repeated ::GoogleUnittestImport::ImportEnum, :repeated_import_enum, 53
158
+ repeated :string, :repeated_string_piece, 54
159
+ repeated :string, :repeated_cord, 55
160
+ repeated ::GoogleUnittest::TestAllTypes::NestedMessage, :repeated_lazy_message, 57
161
+ optional :int32, :default_int32, 61, :default => 41
162
+ optional :int64, :default_int64, 62, :default => 42
163
+ optional :uint32, :default_uint32, 63, :default => 43
164
+ optional :uint64, :default_uint64, 64, :default => 44
165
+ optional :sint32, :default_sint32, 65, :default => -45
166
+ optional :sint64, :default_sint64, 66, :default => 46
167
+ optional :fixed32, :default_fixed32, 67, :default => 47
168
+ optional :fixed64, :default_fixed64, 68, :default => 48
169
+ optional :sfixed32, :default_sfixed32, 69, :default => 49
170
+ optional :sfixed64, :default_sfixed64, 70, :default => -50
171
+ optional :float, :default_float, 71, :default => 51.5
172
+ optional :double, :default_double, 72, :default => 52000
173
+ optional :bool, :default_bool, 73, :default => true
174
+ optional :string, :default_string, 74, :default => "hello"
175
+ optional :bytes, :default_bytes, 75, :default => "world"
176
+ optional ::GoogleUnittest::TestAllTypes::NestedEnum, :default_nested_enum, 81, :default => ::GoogleUnittest::TestAllTypes::NestedEnum::BAR
177
+ optional ::GoogleUnittest::ForeignEnum, :default_foreign_enum, 82, :default => ::GoogleUnittest::ForeignEnum::FOREIGN_BAR
178
+ optional ::GoogleUnittestImport::ImportEnum, :default_import_enum, 83, :default => ::GoogleUnittestImport::ImportEnum::IMPORT_BAR
179
+ optional :string, :default_string_piece, 84, :default => "abc"
180
+ optional :string, :default_cord, 85, :default => "123"
181
+ end
182
+
183
+ class TestDeprecatedFields
184
+ optional :int32, :deprecated_int32, 1, :deprecated => true
185
+ end
186
+
187
+ class ForeignMessage
188
+ optional :int32, :c, 1
189
+ end
190
+
191
+ class TestAllExtensions
192
+ # Extension Fields
193
+ extensions 1...536870912
194
+ optional :int32, :optional_int32_extension, 1, :extension => true
195
+ optional :int64, :optional_int64_extension, 2, :extension => true
196
+ optional :uint32, :optional_uint32_extension, 3, :extension => true
197
+ optional :uint64, :optional_uint64_extension, 4, :extension => true
198
+ optional :sint32, :optional_sint32_extension, 5, :extension => true
199
+ optional :sint64, :optional_sint64_extension, 6, :extension => true
200
+ optional :fixed32, :optional_fixed32_extension, 7, :extension => true
201
+ optional :fixed64, :optional_fixed64_extension, 8, :extension => true
202
+ optional :sfixed32, :optional_sfixed32_extension, 9, :extension => true
203
+ optional :sfixed64, :optional_sfixed64_extension, 10, :extension => true
204
+ optional :float, :optional_float_extension, 11, :extension => true
205
+ optional :double, :optional_double_extension, 12, :extension => true
206
+ optional :bool, :optional_bool_extension, 13, :extension => true
207
+ optional :string, :optional_string_extension, 14, :extension => true
208
+ optional :bytes, :optional_bytes_extension, 15, :extension => true
209
+ optional ::GoogleUnittest::TestAllTypes::NestedMessage, :optional_nested_message_extension, 18, :extension => true
210
+ optional ::GoogleUnittest::ForeignMessage, :optional_foreign_message_extension, 19, :extension => true
211
+ optional ::GoogleUnittestImport::ImportMessage, :optional_import_message_extension, 20, :extension => true
212
+ optional ::GoogleUnittest::TestAllTypes::NestedEnum, :optional_nested_enum_extension, 21, :extension => true
213
+ optional ::GoogleUnittest::ForeignEnum, :optional_foreign_enum_extension, 22, :extension => true
214
+ optional ::GoogleUnittestImport::ImportEnum, :optional_import_enum_extension, 23, :extension => true
215
+ optional :string, :optional_string_piece_extension, 24, :extension => true
216
+ optional :string, :optional_cord_extension, 25, :extension => true
217
+ optional ::GoogleUnittestImport::PublicImportMessage, :optional_public_import_message_extension, 26, :extension => true
218
+ optional ::GoogleUnittest::TestAllTypes::NestedMessage, :optional_lazy_message_extension, 27, :extension => true
219
+ repeated :int32, :repeated_int32_extension, 31, :extension => true
220
+ repeated :int64, :repeated_int64_extension, 32, :extension => true
221
+ repeated :uint32, :repeated_uint32_extension, 33, :extension => true
222
+ repeated :uint64, :repeated_uint64_extension, 34, :extension => true
223
+ repeated :sint32, :repeated_sint32_extension, 35, :extension => true
224
+ repeated :sint64, :repeated_sint64_extension, 36, :extension => true
225
+ repeated :fixed32, :repeated_fixed32_extension, 37, :extension => true
226
+ repeated :fixed64, :repeated_fixed64_extension, 38, :extension => true
227
+ repeated :sfixed32, :repeated_sfixed32_extension, 39, :extension => true
228
+ repeated :sfixed64, :repeated_sfixed64_extension, 40, :extension => true
229
+ repeated :float, :repeated_float_extension, 41, :extension => true
230
+ repeated :double, :repeated_double_extension, 42, :extension => true
231
+ repeated :bool, :repeated_bool_extension, 43, :extension => true
232
+ repeated :string, :repeated_string_extension, 44, :extension => true
233
+ repeated :bytes, :repeated_bytes_extension, 45, :extension => true
234
+ repeated ::GoogleUnittest::TestAllTypes::NestedMessage, :repeated_nested_message_extension, 48, :extension => true
235
+ repeated ::GoogleUnittest::ForeignMessage, :repeated_foreign_message_extension, 49, :extension => true
236
+ repeated ::GoogleUnittestImport::ImportMessage, :repeated_import_message_extension, 50, :extension => true
237
+ repeated ::GoogleUnittest::TestAllTypes::NestedEnum, :repeated_nested_enum_extension, 51, :extension => true
238
+ repeated ::GoogleUnittest::ForeignEnum, :repeated_foreign_enum_extension, 52, :extension => true
239
+ repeated ::GoogleUnittestImport::ImportEnum, :repeated_import_enum_extension, 53, :extension => true
240
+ repeated :string, :repeated_string_piece_extension, 54, :extension => true
241
+ repeated :string, :repeated_cord_extension, 55, :extension => true
242
+ repeated ::GoogleUnittest::TestAllTypes::NestedMessage, :repeated_lazy_message_extension, 57, :extension => true
243
+ optional :int32, :default_int32_extension, 61, :default => 41, :extension => true
244
+ optional :int64, :default_int64_extension, 62, :default => 42, :extension => true
245
+ optional :uint32, :default_uint32_extension, 63, :default => 43, :extension => true
246
+ optional :uint64, :default_uint64_extension, 64, :default => 44, :extension => true
247
+ optional :sint32, :default_sint32_extension, 65, :default => -45, :extension => true
248
+ optional :sint64, :default_sint64_extension, 66, :default => 46, :extension => true
249
+ optional :fixed32, :default_fixed32_extension, 67, :default => 47, :extension => true
250
+ optional :fixed64, :default_fixed64_extension, 68, :default => 48, :extension => true
251
+ optional :sfixed32, :default_sfixed32_extension, 69, :default => 49, :extension => true
252
+ optional :sfixed64, :default_sfixed64_extension, 70, :default => -50, :extension => true
253
+ optional :float, :default_float_extension, 71, :default => 51.5, :extension => true
254
+ optional :double, :default_double_extension, 72, :default => 52000, :extension => true
255
+ optional :bool, :default_bool_extension, 73, :default => true, :extension => true
256
+ optional :string, :default_string_extension, 74, :default => "hello", :extension => true
257
+ optional :bytes, :default_bytes_extension, 75, :default => "world", :extension => true
258
+ optional ::GoogleUnittest::TestAllTypes::NestedEnum, :default_nested_enum_extension, 81, :default => ::GoogleUnittest::TestAllTypes::NestedEnum::BAR, :extension => true
259
+ optional ::GoogleUnittest::ForeignEnum, :default_foreign_enum_extension, 82, :default => ::GoogleUnittest::ForeignEnum::FOREIGN_BAR, :extension => true
260
+ optional ::GoogleUnittestImport::ImportEnum, :default_import_enum_extension, 83, :default => ::GoogleUnittestImport::ImportEnum::IMPORT_BAR, :extension => true
261
+ optional :string, :default_string_piece_extension, 84, :default => "abc", :extension => true
262
+ optional :string, :default_cord_extension, 85, :default => "123", :extension => true
263
+ optional :string, :test, 1002, :default => "test", :extension => true
264
+ optional ::GoogleUnittest::TestRequired, :single, 1000, :extension => true
265
+ repeated ::GoogleUnittest::TestRequired, :multi, 1001, :extension => true
266
+ end
267
+
268
+ class TestRequired
269
+ required :int32, :a, 1
270
+ optional :int32, :dummy2, 2
271
+ required :int32, :b, 3
272
+ optional :int32, :dummy4, 4
273
+ optional :int32, :dummy5, 5
274
+ optional :int32, :dummy6, 6
275
+ optional :int32, :dummy7, 7
276
+ optional :int32, :dummy8, 8
277
+ optional :int32, :dummy9, 9
278
+ optional :int32, :dummy10, 10
279
+ optional :int32, :dummy11, 11
280
+ optional :int32, :dummy12, 12
281
+ optional :int32, :dummy13, 13
282
+ optional :int32, :dummy14, 14
283
+ optional :int32, :dummy15, 15
284
+ optional :int32, :dummy16, 16
285
+ optional :int32, :dummy17, 17
286
+ optional :int32, :dummy18, 18
287
+ optional :int32, :dummy19, 19
288
+ optional :int32, :dummy20, 20
289
+ optional :int32, :dummy21, 21
290
+ optional :int32, :dummy22, 22
291
+ optional :int32, :dummy23, 23
292
+ optional :int32, :dummy24, 24
293
+ optional :int32, :dummy25, 25
294
+ optional :int32, :dummy26, 26
295
+ optional :int32, :dummy27, 27
296
+ optional :int32, :dummy28, 28
297
+ optional :int32, :dummy29, 29
298
+ optional :int32, :dummy30, 30
299
+ optional :int32, :dummy31, 31
300
+ optional :int32, :dummy32, 32
301
+ required :int32, :c, 33
302
+ end
303
+
304
+ class TestRequiredForeign
305
+ optional ::GoogleUnittest::TestRequired, :optional_message, 1
306
+ repeated ::GoogleUnittest::TestRequired, :repeated_message, 2
307
+ optional :int32, :dummy, 3
308
+ end
309
+
310
+ class TestForeignNested
311
+ optional ::GoogleUnittest::TestAllTypes::NestedMessage, :foreign_nested, 1
312
+ end
313
+
314
+ class TestReallyLargeTagNumber
315
+ optional :int32, :a, 1
316
+ optional :int32, :bb, 268435455
317
+ end
318
+
319
+ class TestRecursiveMessage
320
+ optional ::GoogleUnittest::TestRecursiveMessage, :a, 1
321
+ optional :int32, :i, 2
322
+ end
323
+
324
+ class TestMutualRecursionA
325
+ optional ::GoogleUnittest::TestMutualRecursionB, :bb, 1
326
+ end
327
+
328
+ class TestMutualRecursionB
329
+ optional ::GoogleUnittest::TestMutualRecursionA, :a, 1
330
+ optional :int32, :optional_int32, 2
331
+ end
332
+
333
+ class TestDupFieldNumber
334
+ optional :int32, :a, 1
335
+ end
336
+
337
+ class TestEagerMessage
338
+ optional ::GoogleUnittest::TestAllTypes, :sub_message, 1
339
+ end
340
+
341
+ class TestLazyMessage
342
+ optional ::GoogleUnittest::TestAllTypes, :sub_message, 1
343
+ end
344
+
345
+ class TestNestedMessageHasBits
346
+ class NestedMessage
347
+ repeated :int32, :nestedmessage_repeated_int32, 1
348
+ repeated ::GoogleUnittest::ForeignMessage, :nestedmessage_repeated_foreignmessage, 2
349
+ end
350
+
351
+ optional ::GoogleUnittest::TestNestedMessageHasBits::NestedMessage, :optional_nested_message, 1
352
+ end
353
+
354
+ class TestCamelCaseFieldNames
355
+ optional :int32, :PrimitiveField, 1
356
+ optional :string, :StringField, 2
357
+ optional ::GoogleUnittest::ForeignEnum, :EnumField, 3
358
+ optional ::GoogleUnittest::ForeignMessage, :MessageField, 4
359
+ optional :string, :StringPieceField, 5
360
+ optional :string, :CordField, 6
361
+ repeated :int32, :RepeatedPrimitiveField, 7
362
+ repeated :string, :RepeatedStringField, 8
363
+ repeated ::GoogleUnittest::ForeignEnum, :RepeatedEnumField, 9
364
+ repeated ::GoogleUnittest::ForeignMessage, :RepeatedMessageField, 10
365
+ repeated :string, :RepeatedStringPieceField, 11
366
+ repeated :string, :RepeatedCordField, 12
367
+ end
368
+
369
+ class TestFieldOrderings
370
+ optional :string, :my_string, 11
371
+ optional :int64, :my_int, 1
372
+ optional :float, :my_float, 101
373
+ # Extension Fields
374
+ extensions 2...11
375
+ extensions 12...101
376
+ optional :string, :my_extension_string, 50, :extension => true
377
+ optional :int32, :my_extension_int, 5, :extension => true
378
+ end
379
+
380
+ class TestExtremeDefaultValues
381
+ optional :bytes, :escaped_bytes, 1, :default => "\000\001\007\010\014\n\r\t\013\\\\'\"\376"
382
+ optional :uint32, :large_uint32, 2, :default => 4294967295
383
+ optional :uint64, :large_uint64, 3, :default => 18446744073709551615
384
+ optional :int32, :small_int32, 4, :default => -2147483647
385
+ optional :int64, :small_int64, 5, :default => -9223372036854775807
386
+ optional :int32, :really_small_int32, 21, :default => -2147483648
387
+ optional :int64, :really_small_int64, 22, :default => -9223372036854775808
388
+ optional :string, :utf8_string, 6, :default => "ሴ"
389
+ optional :float, :zero_float, 7, :default => 0
390
+ optional :float, :one_float, 8, :default => 1
391
+ optional :float, :small_float, 9, :default => 1.5
392
+ optional :float, :negative_one_float, 10, :default => -1
393
+ optional :float, :negative_float, 11, :default => -1.5
394
+ optional :float, :large_float, 12, :default => 2e+08
395
+ optional :float, :small_negative_float, 13, :default => -8e-28
396
+ optional :double, :inf_double, 14, :default => ::Float::INFINITY
397
+ optional :double, :neg_inf_double, 15, :default => -::Float::INFINITY
398
+ optional :double, :nan_double, 16, :default => ::Float::NAN
399
+ optional :float, :inf_float, 17, :default => ::Float::INFINITY
400
+ optional :float, :neg_inf_float, 18, :default => -::Float::INFINITY
401
+ optional :float, :nan_float, 19, :default => ::Float::NAN
402
+ optional :string, :cpp_trigraph, 20, :default => "? ? ?? ?? ??? ??/ ??-"
403
+ optional :string, :string_with_zero, 23, :default => "hello"
404
+ optional :bytes, :bytes_with_zero, 24, :default => "wor\000ld"
405
+ optional :string, :string_piece_with_zero, 25, :default => "abc"
406
+ optional :string, :cord_with_zero, 26, :default => "123"
407
+ end
408
+
409
+ class SparseEnumMessage
410
+ optional ::GoogleUnittest::TestSparseEnum, :sparse_enum, 1
411
+ end
412
+
413
+ class OneString
414
+ optional :string, :data, 1
415
+ end
416
+
417
+ class MoreString
418
+ repeated :string, :data, 1
419
+ end
420
+
421
+ class OneBytes
422
+ optional :bytes, :data, 1
423
+ end
424
+
425
+ class MoreBytes
426
+ repeated :bytes, :data, 1
427
+ end
428
+
429
+ class TestPackedTypes
430
+ repeated :int32, :packed_int32, 90, :packed => true
431
+ repeated :int64, :packed_int64, 91, :packed => true
432
+ repeated :uint32, :packed_uint32, 92, :packed => true
433
+ repeated :uint64, :packed_uint64, 93, :packed => true
434
+ repeated :sint32, :packed_sint32, 94, :packed => true
435
+ repeated :sint64, :packed_sint64, 95, :packed => true
436
+ repeated :fixed32, :packed_fixed32, 96, :packed => true
437
+ repeated :fixed64, :packed_fixed64, 97, :packed => true
438
+ repeated :sfixed32, :packed_sfixed32, 98, :packed => true
439
+ repeated :sfixed64, :packed_sfixed64, 99, :packed => true
440
+ repeated :float, :packed_float, 100, :packed => true
441
+ repeated :double, :packed_double, 101, :packed => true
442
+ repeated :bool, :packed_bool, 102, :packed => true
443
+ repeated ::GoogleUnittest::ForeignEnum, :packed_enum, 103, :packed => true
444
+ end
445
+
446
+ class TestUnpackedTypes
447
+ repeated :int32, :unpacked_int32, 90
448
+ repeated :int64, :unpacked_int64, 91
449
+ repeated :uint32, :unpacked_uint32, 92
450
+ repeated :uint64, :unpacked_uint64, 93
451
+ repeated :sint32, :unpacked_sint32, 94
452
+ repeated :sint64, :unpacked_sint64, 95
453
+ repeated :fixed32, :unpacked_fixed32, 96
454
+ repeated :fixed64, :unpacked_fixed64, 97
455
+ repeated :sfixed32, :unpacked_sfixed32, 98
456
+ repeated :sfixed64, :unpacked_sfixed64, 99
457
+ repeated :float, :unpacked_float, 100
458
+ repeated :double, :unpacked_double, 101
459
+ repeated :bool, :unpacked_bool, 102
460
+ repeated ::GoogleUnittest::ForeignEnum, :unpacked_enum, 103
461
+ end
462
+
463
+ class TestPackedExtensions
464
+ # Extension Fields
465
+ extensions 1...536870912
466
+ repeated :int32, :packed_int32_extension, 90, :packed => true, :extension => true
467
+ repeated :int64, :packed_int64_extension, 91, :packed => true, :extension => true
468
+ repeated :uint32, :packed_uint32_extension, 92, :packed => true, :extension => true
469
+ repeated :uint64, :packed_uint64_extension, 93, :packed => true, :extension => true
470
+ repeated :sint32, :packed_sint32_extension, 94, :packed => true, :extension => true
471
+ repeated :sint64, :packed_sint64_extension, 95, :packed => true, :extension => true
472
+ repeated :fixed32, :packed_fixed32_extension, 96, :packed => true, :extension => true
473
+ repeated :fixed64, :packed_fixed64_extension, 97, :packed => true, :extension => true
474
+ repeated :sfixed32, :packed_sfixed32_extension, 98, :packed => true, :extension => true
475
+ repeated :sfixed64, :packed_sfixed64_extension, 99, :packed => true, :extension => true
476
+ repeated :float, :packed_float_extension, 100, :packed => true, :extension => true
477
+ repeated :double, :packed_double_extension, 101, :packed => true, :extension => true
478
+ repeated :bool, :packed_bool_extension, 102, :packed => true, :extension => true
479
+ repeated ::GoogleUnittest::ForeignEnum, :packed_enum_extension, 103, :packed => true, :extension => true
480
+ end
481
+
482
+ class TestDynamicExtensions
483
+ class DynamicMessageType
484
+ optional :int32, :dynamic_field, 2100
485
+ end
486
+
487
+ optional :fixed32, :scalar_extension, 2000
488
+ optional ::GoogleUnittest::ForeignEnum, :enum_extension, 2001
489
+ optional ::GoogleUnittest::TestDynamicExtensions::DynamicEnumType, :dynamic_enum_extension, 2002
490
+ optional ::GoogleUnittest::ForeignMessage, :message_extension, 2003
491
+ optional ::GoogleUnittest::TestDynamicExtensions::DynamicMessageType, :dynamic_message_extension, 2004
492
+ repeated :string, :repeated_extension, 2005
493
+ repeated :sint32, :packed_extension, 2006, :packed => true
494
+ end
495
+
496
+ class TestRepeatedScalarDifferentTagSizes
497
+ repeated :fixed32, :repeated_fixed32, 12
498
+ repeated :int32, :repeated_int32, 13
499
+ repeated :fixed64, :repeated_fixed64, 2046
500
+ repeated :int64, :repeated_int64, 2047
501
+ repeated :float, :repeated_float, 262142
502
+ repeated :uint64, :repeated_uint64, 262143
503
+ end
504
+
505
+ class TestParsingMerge
506
+ class RepeatedFieldsGenerator
507
+ repeated ::GoogleUnittest::TestAllTypes, :field1, 1
508
+ repeated ::GoogleUnittest::TestAllTypes, :field2, 2
509
+ repeated ::GoogleUnittest::TestAllTypes, :field3, 3
510
+ repeated ::GoogleUnittest::TestAllTypes, :ext1, 1000
511
+ repeated ::GoogleUnittest::TestAllTypes, :ext2, 1001
512
+ end
513
+
514
+ required ::GoogleUnittest::TestAllTypes, :required_all_types, 1
515
+ optional ::GoogleUnittest::TestAllTypes, :optional_all_types, 2
516
+ repeated ::GoogleUnittest::TestAllTypes, :repeated_all_types, 3
517
+ # Extension Fields
518
+ extensions 1000...536870912
519
+ optional ::GoogleUnittest::TestAllTypes, :optional_ext, 1000, :extension => true
520
+ repeated ::GoogleUnittest::TestAllTypes, :repeated_ext, 1001, :extension => true
521
+ end
522
+
523
+ class TestCommentInjectionMessage
524
+ optional :string, :a, 1, :default => "*/ <- Neither should this."
525
+ end
526
+
527
+
528
+ ##
529
+ # Service Classes
530
+ #
531
+ class TestService < ::Protobuf::Rpc::Service
532
+ rpc :foo, ::GoogleUnittest::FooRequest, ::GoogleUnittest::FooResponse
533
+ rpc :bar, ::GoogleUnittest::BarRequest, ::GoogleUnittest::BarResponse
534
+ end
535
+
536
+ end
537
+