Add dependencies locally
This commit is contained in:
3
deps/protobuf/csharp/protos/README.md
vendored
Normal file
3
deps/protobuf/csharp/protos/README.md
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
This directory contains unit test protos adapted from those in
|
||||
src/google/protobuf, and C#-specific test protos for regression
|
||||
tests against bugs found in the C# codegen or library.
|
116
deps/protobuf/csharp/protos/map_unittest_proto3.proto
vendored
Normal file
116
deps/protobuf/csharp/protos/map_unittest_proto3.proto
vendored
Normal file
@ -0,0 +1,116 @@
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// This file is mostly equivalent to map_unittest.proto, but imports
|
||||
// unittest_proto3.proto instead of unittest.proto, so that it only
|
||||
// uses proto3 messages. This makes it suitable for testing
|
||||
// implementations which only support proto3.
|
||||
// The TestRequiredMessageMap message has been removed as there are no
|
||||
// required fields in proto3.
|
||||
syntax = "proto3";
|
||||
|
||||
option csharp_namespace = "Google.Protobuf.TestProtos";
|
||||
|
||||
import "unittest_proto3.proto";
|
||||
|
||||
package protobuf_unittest3;
|
||||
|
||||
// Tests maps.
|
||||
message TestMap {
|
||||
map<int32 , int32 > map_int32_int32 = 1;
|
||||
map<int64 , int64 > map_int64_int64 = 2;
|
||||
map<uint32 , uint32 > map_uint32_uint32 = 3;
|
||||
map<uint64 , uint64 > map_uint64_uint64 = 4;
|
||||
map<sint32 , sint32 > map_sint32_sint32 = 5;
|
||||
map<sint64 , sint64 > map_sint64_sint64 = 6;
|
||||
map<fixed32 , fixed32 > map_fixed32_fixed32 = 7;
|
||||
map<fixed64 , fixed64 > map_fixed64_fixed64 = 8;
|
||||
map<sfixed32, sfixed32> map_sfixed32_sfixed32 = 9;
|
||||
map<sfixed64, sfixed64> map_sfixed64_sfixed64 = 10;
|
||||
map<int32 , float > map_int32_float = 11;
|
||||
map<int32 , double > map_int32_double = 12;
|
||||
map<bool , bool > map_bool_bool = 13;
|
||||
map<string , string > map_string_string = 14;
|
||||
map<int32 , bytes > map_int32_bytes = 15;
|
||||
map<int32 , MapEnum > map_int32_enum = 16;
|
||||
map<int32 , ForeignMessage> map_int32_foreign_message = 17;
|
||||
}
|
||||
|
||||
message TestMapSubmessage {
|
||||
TestMap test_map = 1;
|
||||
}
|
||||
|
||||
message TestMessageMap {
|
||||
map<int32, TestAllTypes> map_int32_message = 1;
|
||||
}
|
||||
|
||||
// Two map fields share the same entry default instance.
|
||||
message TestSameTypeMap {
|
||||
map<int32, int32> map1 = 1;
|
||||
map<int32, int32> map2 = 2;
|
||||
}
|
||||
|
||||
enum MapEnum {
|
||||
MAP_ENUM_FOO = 0;
|
||||
MAP_ENUM_BAR = 1;
|
||||
MAP_ENUM_BAZ = 2;
|
||||
}
|
||||
|
||||
message TestArenaMap {
|
||||
map<int32 , int32 > map_int32_int32 = 1;
|
||||
map<int64 , int64 > map_int64_int64 = 2;
|
||||
map<uint32 , uint32 > map_uint32_uint32 = 3;
|
||||
map<uint64 , uint64 > map_uint64_uint64 = 4;
|
||||
map<sint32 , sint32 > map_sint32_sint32 = 5;
|
||||
map<sint64 , sint64 > map_sint64_sint64 = 6;
|
||||
map<fixed32 , fixed32 > map_fixed32_fixed32 = 7;
|
||||
map<fixed64 , fixed64 > map_fixed64_fixed64 = 8;
|
||||
map<sfixed32, sfixed32> map_sfixed32_sfixed32 = 9;
|
||||
map<sfixed64, sfixed64> map_sfixed64_sfixed64 = 10;
|
||||
map<int32 , float > map_int32_float = 11;
|
||||
map<int32 , double > map_int32_double = 12;
|
||||
map<bool , bool > map_bool_bool = 13;
|
||||
map<int32 , MapEnum > map_int32_enum = 14;
|
||||
map<int32 , ForeignMessage> map_int32_foreign_message = 15;
|
||||
}
|
||||
|
||||
// Previously, message containing enum called Type cannot be used as value of
|
||||
// map field.
|
||||
message MessageContainingEnumCalledType {
|
||||
enum Type {
|
||||
TYPE_FOO = 0;
|
||||
}
|
||||
map<int32, MessageContainingEnumCalledType> type = 1;
|
||||
}
|
||||
|
||||
// Previously, message cannot contain map field called "entry".
|
||||
message MessageContainingMapCalledEntry {
|
||||
map<int32, int32> entry = 1;
|
||||
}
|
52
deps/protobuf/csharp/protos/old_extensions1.proto
vendored
Normal file
52
deps/protobuf/csharp/protos/old_extensions1.proto
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Author: kenton@google.com (Kenton Varda)
|
||||
// Based on original Protocol Buffers design by
|
||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
||||
//
|
||||
// A proto file we will use for unit testing.
|
||||
//
|
||||
// LINT: ALLOW_GROUPS, LEGACY_NAMES
|
||||
|
||||
// This file is part of the unit test for issue #6822. It is
|
||||
// generated with protoc from version 3.10.1.
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
// Import the proto file containing the extension. We don't use it,
|
||||
// but the import is what caused the issue.
|
||||
import "old_extensions2.proto";
|
||||
|
||||
option csharp_namespace = "Google.Protobuf.TestProtos.OldGenerator";
|
||||
|
||||
// We don't use this message other than to get its descriptor.
|
||||
message TestMessage {
|
||||
}
|
50
deps/protobuf/csharp/protos/old_extensions2.proto
vendored
Normal file
50
deps/protobuf/csharp/protos/old_extensions2.proto
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Author: kenton@google.com (Kenton Varda)
|
||||
// Based on original Protocol Buffers design by
|
||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
||||
//
|
||||
// A proto file we will use for unit testing.
|
||||
//
|
||||
// LINT: ALLOW_GROUPS, LEGACY_NAMES
|
||||
|
||||
// This file is part of the unit test for issue #6822. It is
|
||||
// generated with protoc from version 3.10.1.
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
import "google/protobuf/descriptor.proto";
|
||||
|
||||
option csharp_namespace = "Google.Protobuf.TestProtos.OldGenerator";
|
||||
|
||||
extend google.protobuf.MethodOptions {
|
||||
string method_ext = 1234567;
|
||||
}
|
1113
deps/protobuf/csharp/protos/unittest.proto
vendored
Normal file
1113
deps/protobuf/csharp/protos/unittest.proto
vendored
Normal file
File diff suppressed because it is too large
Load Diff
336
deps/protobuf/csharp/protos/unittest_custom_options_proto3.proto
vendored
Normal file
336
deps/protobuf/csharp/protos/unittest_custom_options_proto3.proto
vendored
Normal file
@ -0,0 +1,336 @@
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Author: benjy@google.com (Benjy Weinberger)
|
||||
// Based on original Protocol Buffers design by
|
||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
||||
//
|
||||
// A proto file used to test the "custom options" feature of google.protobuf.
|
||||
|
||||
// This file is based on unittest_custom_options.proto in
|
||||
// src/google/protobuf, but is modified for proto3. It could
|
||||
// potentially be moved into src/google/protobuf, but currently C#
|
||||
// is the only language that really needs it, as we don't support
|
||||
// proto2 syntax. It's cut down significantly as proto3 only supports
|
||||
// extensions for options.
|
||||
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
// A custom file option (defined below).
|
||||
option (file_opt1) = 9876543210;
|
||||
|
||||
import "google/protobuf/descriptor.proto";
|
||||
|
||||
// We don't put this in a package within proto2 because we need to make sure
|
||||
// that the generated code doesn't depend on being in the proto2 namespace.
|
||||
package protobuf_unittest;
|
||||
option csharp_namespace = "UnitTest.Issues.TestProtos";
|
||||
|
||||
// Some simple test custom options of various types.
|
||||
|
||||
extend google.protobuf.FileOptions {
|
||||
uint64 file_opt1 = 7736974;
|
||||
}
|
||||
|
||||
extend google.protobuf.MessageOptions {
|
||||
int32 message_opt1 = 7739036;
|
||||
}
|
||||
|
||||
extend google.protobuf.FieldOptions {
|
||||
fixed64 field_opt1 = 7740936;
|
||||
}
|
||||
|
||||
extend google.protobuf.OneofOptions {
|
||||
int32 oneof_opt1 = 7740111;
|
||||
}
|
||||
|
||||
extend google.protobuf.EnumOptions {
|
||||
sfixed32 enum_opt1 = 7753576;
|
||||
}
|
||||
|
||||
extend google.protobuf.EnumValueOptions {
|
||||
int32 enum_value_opt1 = 1560678;
|
||||
}
|
||||
|
||||
extend google.protobuf.ServiceOptions {
|
||||
sint64 service_opt1 = 7887650;
|
||||
}
|
||||
|
||||
enum MethodOpt1 {
|
||||
METHODOPT1_UNSPECIFIED = 0;
|
||||
METHODOPT1_VAL1 = 1;
|
||||
METHODOPT1_VAL2 = 2;
|
||||
}
|
||||
|
||||
extend google.protobuf.MethodOptions {
|
||||
MethodOpt1 method_opt1 = 7890860;
|
||||
}
|
||||
|
||||
// A test message with custom options at all possible locations (and also some
|
||||
// regular options, to make sure they interact nicely).
|
||||
message TestMessageWithCustomOptions {
|
||||
option message_set_wire_format = false;
|
||||
|
||||
option (message_opt1) = -56;
|
||||
|
||||
string field1 = 1 [ctype=CORD,
|
||||
(field_opt1)=8765432109];
|
||||
|
||||
oneof AnOneof {
|
||||
option (oneof_opt1) = -99;
|
||||
int32 oneof_field = 2;
|
||||
}
|
||||
|
||||
enum AnEnum {
|
||||
option (enum_opt1) = -789;
|
||||
ANENUM_UNSPECIFIED = 0;
|
||||
ANENUM_VAL1 = 1;
|
||||
ANENUM_VAL2 = 2 [(enum_value_opt1) = 123];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// A test RPC service with custom options at all possible locations (and also
|
||||
// some regular options, to make sure they interact nicely).
|
||||
message CustomOptionFooRequest {
|
||||
}
|
||||
|
||||
message CustomOptionFooResponse {
|
||||
}
|
||||
|
||||
message CustomOptionFooClientMessage {
|
||||
}
|
||||
|
||||
message CustomOptionFooServerMessage {
|
||||
}
|
||||
|
||||
service TestServiceWithCustomOptions {
|
||||
option (service_opt1) = -9876543210;
|
||||
|
||||
rpc Foo(CustomOptionFooRequest) returns (CustomOptionFooResponse) {
|
||||
option (method_opt1) = METHODOPT1_VAL2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Options of every possible field type, so we can test them all exhaustively.
|
||||
|
||||
message DummyMessageContainingEnum {
|
||||
enum TestEnumType {
|
||||
TEST_OPTION_ENUM_UNSPECIFIED = 0;
|
||||
TEST_OPTION_ENUM_TYPE1 = 22;
|
||||
TEST_OPTION_ENUM_TYPE2 = -23;
|
||||
}
|
||||
}
|
||||
|
||||
message DummyMessageInvalidAsOptionType {
|
||||
}
|
||||
|
||||
extend google.protobuf.MessageOptions {
|
||||
bool bool_opt = 7706090;
|
||||
int32 int32_opt = 7705709;
|
||||
int64 int64_opt = 7705542;
|
||||
uint32 uint32_opt = 7704880;
|
||||
uint64 uint64_opt = 7702367;
|
||||
sint32 sint32_opt = 7701568;
|
||||
sint64 sint64_opt = 7700863;
|
||||
fixed32 fixed32_opt = 7700307;
|
||||
fixed64 fixed64_opt = 7700194;
|
||||
sfixed32 sfixed32_opt = 7698645;
|
||||
sfixed64 sfixed64_opt = 7685475;
|
||||
float float_opt = 7675390;
|
||||
double double_opt = 7673293;
|
||||
string string_opt = 7673285;
|
||||
bytes bytes_opt = 7673238;
|
||||
DummyMessageContainingEnum.TestEnumType enum_opt = 7673233;
|
||||
DummyMessageInvalidAsOptionType message_type_opt = 7665967;
|
||||
}
|
||||
|
||||
message CustomOptionMinIntegerValues {
|
||||
option (bool_opt) = false;
|
||||
option (int32_opt) = -0x80000000;
|
||||
option (int64_opt) = -0x8000000000000000;
|
||||
option (uint32_opt) = 0;
|
||||
option (uint64_opt) = 0;
|
||||
option (sint32_opt) = -0x80000000;
|
||||
option (sint64_opt) = -0x8000000000000000;
|
||||
option (fixed32_opt) = 0;
|
||||
option (fixed64_opt) = 0;
|
||||
option (sfixed32_opt) = -0x80000000;
|
||||
option (sfixed64_opt) = -0x8000000000000000;
|
||||
}
|
||||
|
||||
message CustomOptionMaxIntegerValues {
|
||||
option (bool_opt) = true;
|
||||
option (int32_opt) = 0x7FFFFFFF;
|
||||
option (int64_opt) = 0x7FFFFFFFFFFFFFFF;
|
||||
option (uint32_opt) = 0xFFFFFFFF;
|
||||
option (uint64_opt) = 0xFFFFFFFFFFFFFFFF;
|
||||
option (sint32_opt) = 0x7FFFFFFF;
|
||||
option (sint64_opt) = 0x7FFFFFFFFFFFFFFF;
|
||||
option (fixed32_opt) = 0xFFFFFFFF;
|
||||
option (fixed64_opt) = 0xFFFFFFFFFFFFFFFF;
|
||||
option (sfixed32_opt) = 0x7FFFFFFF;
|
||||
option (sfixed64_opt) = 0x7FFFFFFFFFFFFFFF;
|
||||
}
|
||||
|
||||
message CustomOptionOtherValues {
|
||||
option (int32_opt) = -100; // To test sign-extension.
|
||||
option (float_opt) = 12.3456789;
|
||||
option (double_opt) = 1.234567890123456789;
|
||||
option (string_opt) = "Hello, \"World\"";
|
||||
option (bytes_opt) = "Hello\0World";
|
||||
option (enum_opt) = TEST_OPTION_ENUM_TYPE2;
|
||||
}
|
||||
|
||||
message SettingRealsFromPositiveInts {
|
||||
option (float_opt) = 12;
|
||||
option (double_opt) = 154;
|
||||
}
|
||||
|
||||
message SettingRealsFromNegativeInts {
|
||||
option (float_opt) = -12;
|
||||
option (double_opt) = -154;
|
||||
}
|
||||
|
||||
// Options of complex message types, themselves combined and extended in
|
||||
// various ways.
|
||||
|
||||
message ComplexOptionType1 {
|
||||
int32 foo = 1;
|
||||
int32 foo2 = 2;
|
||||
int32 foo3 = 3;
|
||||
repeated int32 foo4 = 4;
|
||||
}
|
||||
|
||||
message ComplexOptionType2 {
|
||||
ComplexOptionType1 bar = 1;
|
||||
int32 baz = 2;
|
||||
|
||||
message ComplexOptionType4 {
|
||||
int32 waldo = 1;
|
||||
|
||||
extend google.protobuf.MessageOptions {
|
||||
ComplexOptionType4 complex_opt4 = 7633546;
|
||||
}
|
||||
}
|
||||
|
||||
ComplexOptionType4 fred = 3;
|
||||
repeated ComplexOptionType4 barney = 4;
|
||||
}
|
||||
|
||||
message ComplexOptionType3 {
|
||||
int32 qux = 1;
|
||||
}
|
||||
|
||||
extend google.protobuf.MessageOptions {
|
||||
protobuf_unittest.ComplexOptionType1 complex_opt1 = 7646756;
|
||||
ComplexOptionType2 complex_opt2 = 7636949;
|
||||
ComplexOptionType3 complex_opt3 = 7636463;
|
||||
}
|
||||
|
||||
// Note that we try various different ways of naming the same extension.
|
||||
message VariousComplexOptions {
|
||||
option (.protobuf_unittest.complex_opt1).foo = 42;
|
||||
option (protobuf_unittest.complex_opt1).foo4 = 99;
|
||||
option (protobuf_unittest.complex_opt1).foo4 = 88;
|
||||
option (complex_opt2).baz = 987;
|
||||
option (complex_opt2).bar.foo = 743;
|
||||
option (ComplexOptionType2.ComplexOptionType4.complex_opt4).waldo = 1971;
|
||||
option (complex_opt2).fred.waldo = 321;
|
||||
option (complex_opt2).barney = { waldo: 101 };
|
||||
option (complex_opt2).barney = { waldo: 212 };
|
||||
option (protobuf_unittest.complex_opt3).qux = 9;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------
|
||||
// Definitions for testing aggregate option parsing.
|
||||
// See descriptor_unittest.cc.
|
||||
|
||||
// A helper type used to test aggregate option parsing
|
||||
message Aggregate {
|
||||
int32 i = 1;
|
||||
string s = 2;
|
||||
|
||||
// A nested object
|
||||
Aggregate sub = 3;
|
||||
}
|
||||
|
||||
// Allow Aggregate to be used as an option at all possible locations
|
||||
// in the .proto grammar.
|
||||
extend google.protobuf.FileOptions { Aggregate fileopt = 15478479; }
|
||||
extend google.protobuf.MessageOptions { Aggregate msgopt = 15480088; }
|
||||
extend google.protobuf.FieldOptions { Aggregate fieldopt = 15481374; }
|
||||
extend google.protobuf.EnumOptions { Aggregate enumopt = 15483218; }
|
||||
extend google.protobuf.EnumValueOptions { Aggregate enumvalopt = 15486921; }
|
||||
extend google.protobuf.ServiceOptions { Aggregate serviceopt = 15497145; }
|
||||
extend google.protobuf.MethodOptions { Aggregate methodopt = 15512713; }
|
||||
|
||||
// Try using AggregateOption at different points in the proto grammar
|
||||
option (fileopt) = {
|
||||
s: 'FileAnnotation'
|
||||
// Also test the handling of comments
|
||||
/* of both types */ i: 100
|
||||
|
||||
sub { s: 'NestedFileAnnotation' }
|
||||
};
|
||||
|
||||
message AggregateMessage {
|
||||
option (msgopt) = { i:101 s:'MessageAnnotation' };
|
||||
int32 fieldname = 1 [(fieldopt) = { s:'FieldAnnotation' }];
|
||||
}
|
||||
|
||||
service AggregateService {
|
||||
option (serviceopt) = { s:'ServiceAnnotation' };
|
||||
rpc Method (AggregateMessage) returns (AggregateMessage) {
|
||||
option (methodopt) = { s:'MethodAnnotation' };
|
||||
}
|
||||
}
|
||||
|
||||
enum AggregateEnum {
|
||||
option (enumopt) = { s:'EnumAnnotation' };
|
||||
UNSPECIFIED = 0;
|
||||
VALUE = 1 [(enumvalopt) = { s:'EnumValueAnnotation' }];
|
||||
}
|
||||
|
||||
// Test custom options for nested type.
|
||||
message NestedOptionType {
|
||||
message NestedMessage {
|
||||
option (message_opt1) = 1001;
|
||||
int32 nested_field = 1 [(field_opt1) = 1002];
|
||||
}
|
||||
enum NestedEnum {
|
||||
UNSPECIFIED = 0;
|
||||
option (enum_opt1) = 1003;
|
||||
NESTED_ENUM_VALUE = 1 [(enum_value_opt1) = 1004];
|
||||
}
|
||||
}
|
69
deps/protobuf/csharp/protos/unittest_import.proto
vendored
Normal file
69
deps/protobuf/csharp/protos/unittest_import.proto
vendored
Normal file
@ -0,0 +1,69 @@
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Author: kenton@google.com (Kenton Varda)
|
||||
// Based on original Protocol Buffers design by
|
||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
||||
//
|
||||
// A proto file which is imported by unittest.proto to test importing.
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
// We don't put this in a package within proto2 because we need to make sure
|
||||
// that the generated code doesn't depend on being in the proto2 namespace.
|
||||
// In test_util.h we do
|
||||
// "using namespace unittest_import = protobuf_unittest_import".
|
||||
package protobuf_unittest_import_proto2;
|
||||
|
||||
option optimize_for = SPEED;
|
||||
option cc_enable_arenas = true;
|
||||
|
||||
option csharp_namespace = "Google.Protobuf.TestProtos.Proto2";
|
||||
|
||||
// Test public import
|
||||
import public "unittest_import_public.proto";
|
||||
|
||||
message ImportMessage {
|
||||
optional int32 d = 1;
|
||||
}
|
||||
|
||||
enum ImportEnum {
|
||||
IMPORT_FOO = 7;
|
||||
IMPORT_BAR = 8;
|
||||
IMPORT_BAZ = 9;
|
||||
}
|
||||
|
||||
|
||||
// To use an enum in a map, it must has the first value as 0.
|
||||
enum ImportEnumForMap {
|
||||
UNKNOWN = 0;
|
||||
FOO = 1;
|
||||
BAR = 2;
|
||||
}
|
56
deps/protobuf/csharp/protos/unittest_import_proto3.proto
vendored
Normal file
56
deps/protobuf/csharp/protos/unittest_import_proto3.proto
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Author: kenton@google.com (Kenton Varda)
|
||||
// Based on original Protocol Buffers design by
|
||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
||||
//
|
||||
// A proto file which is imported by unittest_proto3.proto to test importing.
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
package protobuf_unittest_import;
|
||||
|
||||
option csharp_namespace = "Google.Protobuf.TestProtos";
|
||||
|
||||
// Test public import
|
||||
import public "unittest_import_public_proto3.proto";
|
||||
|
||||
message ImportMessage {
|
||||
int32 d = 1;
|
||||
}
|
||||
|
||||
enum ImportEnum {
|
||||
IMPORT_ENUM_UNSPECIFIED = 0;
|
||||
IMPORT_FOO = 7;
|
||||
IMPORT_BAR = 8;
|
||||
IMPORT_BAZ = 9;
|
||||
}
|
||||
|
41
deps/protobuf/csharp/protos/unittest_import_public.proto
vendored
Normal file
41
deps/protobuf/csharp/protos/unittest_import_public.proto
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Author: liujisi@google.com (Pherl Liu)
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
package protobuf_unittest_import_proto2;
|
||||
|
||||
option csharp_namespace = "Google.Protobuf.TestProtos.Proto2";
|
||||
|
||||
message PublicImportMessage {
|
||||
optional int32 e = 1;
|
||||
}
|
41
deps/protobuf/csharp/protos/unittest_import_public_proto3.proto
vendored
Normal file
41
deps/protobuf/csharp/protos/unittest_import_public_proto3.proto
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Author: liujisi@google.com (Pherl Liu)
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
package protobuf_unittest_import;
|
||||
|
||||
option csharp_namespace = "Google.Protobuf.TestProtos";
|
||||
|
||||
message PublicImportMessage {
|
||||
int32 e = 1;
|
||||
}
|
15
deps/protobuf/csharp/protos/unittest_issue6936_a.proto
vendored
Normal file
15
deps/protobuf/csharp/protos/unittest_issue6936_a.proto
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package unittest_issues;
|
||||
|
||||
option csharp_namespace = "UnitTest.Issues.TestProtos";
|
||||
|
||||
// This file is used as part of a unit test for issue 6936
|
||||
// We don't need to use it, we just have to import it in both
|
||||
// "extensions_issue6936_b.proto" and "extensions_issue6936_c.proto"
|
||||
|
||||
import "google/protobuf/descriptor.proto";
|
||||
|
||||
extend google.protobuf.MessageOptions {
|
||||
string opt = 50000;
|
||||
}
|
14
deps/protobuf/csharp/protos/unittest_issue6936_b.proto
vendored
Normal file
14
deps/protobuf/csharp/protos/unittest_issue6936_b.proto
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
syntax = "proto3";
|
||||
|
||||
import "unittest_issue6936_a.proto";
|
||||
|
||||
package unittest_issues;
|
||||
|
||||
option csharp_namespace = "UnitTest.Issues.TestProtos";
|
||||
|
||||
// This file is used as part of a unit test for issue 6936
|
||||
// We don't need to use it, we just have to import it in "unittest_issue6936_c.proto"
|
||||
|
||||
message Foo {
|
||||
option (opt) = "foo";
|
||||
}
|
16
deps/protobuf/csharp/protos/unittest_issue6936_c.proto
vendored
Normal file
16
deps/protobuf/csharp/protos/unittest_issue6936_c.proto
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
syntax = "proto3";
|
||||
|
||||
import "unittest_issue6936_a.proto";
|
||||
import "unittest_issue6936_b.proto";
|
||||
|
||||
package unittest_issues;
|
||||
|
||||
option csharp_namespace = "UnitTest.Issues.TestProtos";
|
||||
|
||||
// This file is used as part of a unit test for issue 6936
|
||||
// We don't need to use it, we just have to load it at runtime
|
||||
|
||||
message Bar {
|
||||
option (opt) = "bar";
|
||||
Foo foo = 1;
|
||||
}
|
158
deps/protobuf/csharp/protos/unittest_issues.proto
vendored
Normal file
158
deps/protobuf/csharp/protos/unittest_issues.proto
vendored
Normal file
@ -0,0 +1,158 @@
|
||||
syntax = "proto3";
|
||||
|
||||
// These proto descriptors have at one time been reported as an issue or defect.
|
||||
// They are kept here to replicate the issue, and continue to verify the fix.
|
||||
|
||||
// Issue: Non-"Google.Protobuffers" namespace will ensure that protobuffer library types are qualified
|
||||
option csharp_namespace = "UnitTest.Issues.TestProtos";
|
||||
|
||||
package unittest_issues;
|
||||
|
||||
import "google/protobuf/struct.proto";
|
||||
|
||||
// Issue 307: when generating doubly-nested types, any references
|
||||
// should be of the form A.Types.B.Types.C.
|
||||
message Issue307 {
|
||||
message NestedOnce {
|
||||
message NestedTwice {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Old issue 13: http://code.google.com/p/protobuf-csharp-port/issues/detail?id=13
|
||||
// New issue 309: https://github.com/protocolbuffers/protobuf/issues/309
|
||||
|
||||
// message A {
|
||||
// optional int32 _A = 1;
|
||||
// }
|
||||
|
||||
// message B {
|
||||
// optional int32 B_ = 1;
|
||||
// }
|
||||
|
||||
//message AB {
|
||||
// optional int32 a_b = 1;
|
||||
//}
|
||||
|
||||
// Similar issue with numeric names
|
||||
// Java code failed too, so probably best for this to be a restriction.
|
||||
// See https://github.com/protocolbuffers/protobuf/issues/308
|
||||
// message NumberField {
|
||||
// optional int32 _01 = 1;
|
||||
// }
|
||||
|
||||
// issue 19 - negative enum values
|
||||
|
||||
enum NegativeEnum {
|
||||
NEGATIVE_ENUM_ZERO = 0;
|
||||
FiveBelow = -5;
|
||||
MinusOne = -1;
|
||||
}
|
||||
|
||||
message NegativeEnumMessage {
|
||||
NegativeEnum value = 1;
|
||||
repeated NegativeEnum values = 2 [packed = false];
|
||||
repeated NegativeEnum packed_values = 3 [packed=true];
|
||||
}
|
||||
|
||||
// Issue 21: http://code.google.com/p/protobuf-csharp-port/issues/detail?id=21
|
||||
// Decorate fields with [deprecated=true] as [System.Obsolete]
|
||||
|
||||
message DeprecatedChild {
|
||||
}
|
||||
|
||||
enum DeprecatedEnum {
|
||||
DEPRECATED_ZERO = 0;
|
||||
one = 1;
|
||||
}
|
||||
|
||||
message DeprecatedFieldsMessage {
|
||||
int32 PrimitiveValue = 1 [deprecated = true];
|
||||
repeated int32 PrimitiveArray = 2 [deprecated = true];
|
||||
|
||||
DeprecatedChild MessageValue = 3 [deprecated = true];
|
||||
repeated DeprecatedChild MessageArray = 4 [deprecated = true];
|
||||
|
||||
DeprecatedEnum EnumValue = 5 [deprecated = true];
|
||||
repeated DeprecatedEnum EnumArray = 6 [deprecated = true];
|
||||
}
|
||||
|
||||
// Issue 45: http://code.google.com/p/protobuf-csharp-port/issues/detail?id=45
|
||||
message ItemField {
|
||||
int32 item = 1;
|
||||
}
|
||||
|
||||
message ReservedNames {
|
||||
// Force a nested type called Types
|
||||
message SomeNestedType {
|
||||
}
|
||||
|
||||
int32 types = 1;
|
||||
int32 descriptor = 2;
|
||||
}
|
||||
|
||||
message TestJsonFieldOrdering {
|
||||
// These fields are deliberately not declared in numeric
|
||||
// order, and the oneof fields aren't contiguous either.
|
||||
// This allows for reasonably robust tests of JSON output
|
||||
// ordering.
|
||||
// TestFieldOrderings in unittest_proto3.proto is similar,
|
||||
// but doesn't include oneofs.
|
||||
// TODO: Consider adding oneofs to TestFieldOrderings, although
|
||||
// that will require fixing other tests in multiple platforms.
|
||||
// Alternatively, consider just adding this to
|
||||
// unittest_proto3.proto if multiple platforms want it.
|
||||
|
||||
int32 plain_int32 = 4;
|
||||
|
||||
oneof o1 {
|
||||
string o1_string = 2;
|
||||
int32 o1_int32 = 5;
|
||||
}
|
||||
|
||||
string plain_string = 1;
|
||||
|
||||
oneof o2 {
|
||||
int32 o2_int32 = 6;
|
||||
string o2_string = 3;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
message TestJsonName {
|
||||
// Message for testing the effects for of the json_name option
|
||||
string name = 1;
|
||||
string description = 2 [json_name = "desc"];
|
||||
string guid = 3 [json_name = "exid"];
|
||||
}
|
||||
|
||||
// Issue 3200: When merging two messages which use the same
|
||||
// oneof case, which is itself a message type, the submessages should
|
||||
// be merged.
|
||||
message OneofMerging {
|
||||
message Nested {
|
||||
int32 x = 1;
|
||||
int32 y = 2;
|
||||
}
|
||||
|
||||
oneof value {
|
||||
string text = 1;
|
||||
Nested nested = 2;
|
||||
}
|
||||
}
|
||||
|
||||
message NullValueOutsideStruct {
|
||||
oneof value {
|
||||
string string_value = 1;
|
||||
google.protobuf.NullValue null_value = 2;
|
||||
}
|
||||
}
|
||||
|
||||
message NullValueNotInOneof {
|
||||
google.protobuf.NullValue null_value = 2;
|
||||
}
|
||||
|
||||
message MixedRegularAndOptional {
|
||||
string regular_field = 1;
|
||||
optional string optional_field = 2;
|
||||
}
|
410
deps/protobuf/csharp/protos/unittest_proto3.proto
vendored
Normal file
410
deps/protobuf/csharp/protos/unittest_proto3.proto
vendored
Normal file
@ -0,0 +1,410 @@
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Author: kenton@google.com (Kenton Varda)
|
||||
// Based on original Protocol Buffers design by
|
||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
||||
//
|
||||
// A proto file we will use for unit testing.
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
option csharp_namespace = "Google.Protobuf.TestProtos";
|
||||
|
||||
// Only present so we can test that we can read it (as an example
|
||||
// of a non-C# option)
|
||||
option java_outer_classname = "UnittestProto";
|
||||
|
||||
import "unittest_import_proto3.proto";
|
||||
|
||||
package protobuf_unittest3;
|
||||
|
||||
// This proto includes every type of field in both singular and repeated
|
||||
// forms.
|
||||
message TestAllTypes {
|
||||
message NestedMessage {
|
||||
// The field name "b" fails to compile in proto1 because it conflicts with
|
||||
// a local variable named "b" in one of the generated methods. Doh.
|
||||
// This file needs to compile in proto1 to test backwards-compatibility.
|
||||
int32 bb = 1;
|
||||
}
|
||||
|
||||
enum NestedEnum {
|
||||
NESTED_ENUM_UNSPECIFIED = 0;
|
||||
FOO = 1;
|
||||
BAR = 2;
|
||||
BAZ = 3;
|
||||
NEG = -1; // Intentionally negative.
|
||||
}
|
||||
|
||||
// Singular
|
||||
int32 single_int32 = 1;
|
||||
int64 single_int64 = 2;
|
||||
uint32 single_uint32 = 3;
|
||||
uint64 single_uint64 = 4;
|
||||
sint32 single_sint32 = 5;
|
||||
sint64 single_sint64 = 6;
|
||||
fixed32 single_fixed32 = 7;
|
||||
fixed64 single_fixed64 = 8;
|
||||
sfixed32 single_sfixed32 = 9;
|
||||
sfixed64 single_sfixed64 = 10;
|
||||
float single_float = 11;
|
||||
double single_double = 12;
|
||||
bool single_bool = 13;
|
||||
string single_string = 14;
|
||||
bytes single_bytes = 15;
|
||||
|
||||
NestedMessage single_nested_message = 18;
|
||||
ForeignMessage single_foreign_message = 19;
|
||||
protobuf_unittest_import.ImportMessage single_import_message = 20;
|
||||
|
||||
NestedEnum single_nested_enum = 21;
|
||||
ForeignEnum single_foreign_enum = 22;
|
||||
protobuf_unittest_import.ImportEnum single_import_enum = 23;
|
||||
|
||||
// Defined in unittest_import_public.proto
|
||||
protobuf_unittest_import.PublicImportMessage
|
||||
single_public_import_message = 26;
|
||||
|
||||
// Repeated
|
||||
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 protobuf_unittest_import.ImportMessage repeated_import_message = 50;
|
||||
|
||||
repeated NestedEnum repeated_nested_enum = 51;
|
||||
repeated ForeignEnum repeated_foreign_enum = 52;
|
||||
repeated protobuf_unittest_import.ImportEnum repeated_import_enum = 53;
|
||||
// Defined in unittest_import_public.proto
|
||||
repeated protobuf_unittest_import.PublicImportMessage
|
||||
repeated_public_import_message = 54;
|
||||
|
||||
// For oneof test
|
||||
oneof oneof_field {
|
||||
uint32 oneof_uint32 = 111;
|
||||
NestedMessage oneof_nested_message = 112;
|
||||
string oneof_string = 113;
|
||||
bytes oneof_bytes = 114;
|
||||
}
|
||||
}
|
||||
|
||||
// This proto includes a recursively nested message.
|
||||
message NestedTestAllTypes {
|
||||
NestedTestAllTypes child = 1;
|
||||
TestAllTypes payload = 2;
|
||||
repeated NestedTestAllTypes repeated_child = 3;
|
||||
}
|
||||
|
||||
message TestDeprecatedFields {
|
||||
int32 deprecated_int32 = 1 [deprecated=true];
|
||||
}
|
||||
|
||||
// Define these after TestAllTypes to make sure the compiler can handle
|
||||
// that.
|
||||
message ForeignMessage {
|
||||
int32 c = 1;
|
||||
}
|
||||
|
||||
enum ForeignEnum {
|
||||
FOREIGN_UNSPECIFIED = 0;
|
||||
FOREIGN_FOO = 4;
|
||||
FOREIGN_BAR = 5;
|
||||
FOREIGN_BAZ = 6;
|
||||
}
|
||||
|
||||
message TestReservedFields {
|
||||
reserved 2, 15, 9 to 11;
|
||||
reserved "bar", "baz";
|
||||
}
|
||||
|
||||
|
||||
// Test that we can use NestedMessage from outside TestAllTypes.
|
||||
message TestForeignNested {
|
||||
TestAllTypes.NestedMessage foreign_nested = 1;
|
||||
}
|
||||
|
||||
// Test that really large tag numbers don't break anything.
|
||||
message TestReallyLargeTagNumber {
|
||||
// The largest possible tag number is 2^28 - 1, since the wire format uses
|
||||
// three bits to communicate wire type.
|
||||
int32 a = 1;
|
||||
int32 bb = 268435455;
|
||||
}
|
||||
|
||||
message TestRecursiveMessage {
|
||||
TestRecursiveMessage a = 1;
|
||||
int32 i = 2;
|
||||
}
|
||||
|
||||
// Test that mutual recursion works.
|
||||
message TestMutualRecursionA {
|
||||
TestMutualRecursionB bb = 1;
|
||||
}
|
||||
|
||||
message TestMutualRecursionB {
|
||||
TestMutualRecursionA a = 1;
|
||||
int32 optional_int32 = 2;
|
||||
}
|
||||
|
||||
message TestEnumAllowAlias {
|
||||
TestEnumWithDupValue value = 1;
|
||||
}
|
||||
|
||||
// Test an enum that has multiple values with the same number.
|
||||
enum TestEnumWithDupValue {
|
||||
TEST_ENUM_WITH_DUP_VALUE_UNSPECIFIED = 0;
|
||||
option allow_alias = true;
|
||||
|
||||
FOO1 = 1;
|
||||
BAR1 = 2;
|
||||
BAZ = 3;
|
||||
FOO2 = 1;
|
||||
BAR2 = 2;
|
||||
}
|
||||
|
||||
// Test an enum with large, unordered values.
|
||||
enum TestSparseEnum {
|
||||
TEST_SPARSE_ENUM_UNSPECIFIED = 0;
|
||||
SPARSE_A = 123;
|
||||
SPARSE_B = 62374;
|
||||
SPARSE_C = 12589234;
|
||||
SPARSE_D = -15;
|
||||
SPARSE_E = -53452;
|
||||
// In proto3, value 0 must be the first one specified
|
||||
// SPARSE_F = 0;
|
||||
SPARSE_G = 2;
|
||||
}
|
||||
|
||||
// Test message with CamelCase field names. This violates Protocol Buffer
|
||||
// standard style.
|
||||
message TestCamelCaseFieldNames {
|
||||
int32 PrimitiveField = 1;
|
||||
string StringField = 2;
|
||||
ForeignEnum EnumField = 3;
|
||||
ForeignMessage MessageField = 4;
|
||||
|
||||
repeated int32 RepeatedPrimitiveField = 7;
|
||||
repeated string RepeatedStringField = 8;
|
||||
repeated ForeignEnum RepeatedEnumField = 9;
|
||||
repeated ForeignMessage RepeatedMessageField = 10;
|
||||
}
|
||||
|
||||
|
||||
// We list fields out of order, to ensure that we're using field number and not
|
||||
// field index to determine serialization order.
|
||||
message TestFieldOrderings {
|
||||
string my_string = 11;
|
||||
int64 my_int = 1;
|
||||
float my_float = 101;
|
||||
message NestedMessage {
|
||||
int64 oo = 2;
|
||||
// The field name "b" fails to compile in proto1 because it conflicts with
|
||||
// a local variable named "b" in one of the generated methods. Doh.
|
||||
// This file needs to compile in proto1 to test backwards-compatibility.
|
||||
int32 bb = 1;
|
||||
}
|
||||
|
||||
NestedMessage single_nested_message = 200;
|
||||
}
|
||||
|
||||
message SparseEnumMessage {
|
||||
TestSparseEnum sparse_enum = 1;
|
||||
}
|
||||
|
||||
// Test String and Bytes: string is for valid UTF-8 strings
|
||||
message OneString {
|
||||
string data = 1;
|
||||
}
|
||||
|
||||
message MoreString {
|
||||
repeated string data = 1;
|
||||
}
|
||||
|
||||
message OneBytes {
|
||||
bytes data = 1;
|
||||
}
|
||||
|
||||
message MoreBytes {
|
||||
bytes data = 1;
|
||||
}
|
||||
|
||||
// Test int32, uint32, int64, uint64, and bool are all compatible
|
||||
message Int32Message {
|
||||
int32 data = 1;
|
||||
}
|
||||
|
||||
message Uint32Message {
|
||||
uint32 data = 1;
|
||||
}
|
||||
|
||||
message Int64Message {
|
||||
int64 data = 1;
|
||||
}
|
||||
|
||||
message Uint64Message {
|
||||
uint64 data = 1;
|
||||
}
|
||||
|
||||
message BoolMessage {
|
||||
bool data = 1;
|
||||
}
|
||||
|
||||
// Test oneofs.
|
||||
message TestOneof {
|
||||
oneof foo {
|
||||
int32 foo_int = 1;
|
||||
string foo_string = 2;
|
||||
TestAllTypes foo_message = 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Test messages for packed fields
|
||||
|
||||
message TestPackedTypes {
|
||||
repeated int32 packed_int32 = 90 [packed = true];
|
||||
repeated int64 packed_int64 = 91 [packed = true];
|
||||
repeated uint32 packed_uint32 = 92 [packed = true];
|
||||
repeated uint64 packed_uint64 = 93 [packed = true];
|
||||
repeated sint32 packed_sint32 = 94 [packed = true];
|
||||
repeated sint64 packed_sint64 = 95 [packed = true];
|
||||
repeated fixed32 packed_fixed32 = 96 [packed = true];
|
||||
repeated fixed64 packed_fixed64 = 97 [packed = true];
|
||||
repeated sfixed32 packed_sfixed32 = 98 [packed = true];
|
||||
repeated sfixed64 packed_sfixed64 = 99 [packed = true];
|
||||
repeated float packed_float = 100 [packed = true];
|
||||
repeated double packed_double = 101 [packed = true];
|
||||
repeated bool packed_bool = 102 [packed = true];
|
||||
repeated ForeignEnum packed_enum = 103 [packed = true];
|
||||
}
|
||||
|
||||
// A message with the same fields as TestPackedTypes, but without packing. Used
|
||||
// to test packed <-> unpacked wire compatibility.
|
||||
message TestUnpackedTypes {
|
||||
repeated int32 unpacked_int32 = 90 [packed = false];
|
||||
repeated int64 unpacked_int64 = 91 [packed = false];
|
||||
repeated uint32 unpacked_uint32 = 92 [packed = false];
|
||||
repeated uint64 unpacked_uint64 = 93 [packed = false];
|
||||
repeated sint32 unpacked_sint32 = 94 [packed = false];
|
||||
repeated sint64 unpacked_sint64 = 95 [packed = false];
|
||||
repeated fixed32 unpacked_fixed32 = 96 [packed = false];
|
||||
repeated fixed64 unpacked_fixed64 = 97 [packed = false];
|
||||
repeated sfixed32 unpacked_sfixed32 = 98 [packed = false];
|
||||
repeated sfixed64 unpacked_sfixed64 = 99 [packed = false];
|
||||
repeated float unpacked_float = 100 [packed = false];
|
||||
repeated double unpacked_double = 101 [packed = false];
|
||||
repeated bool unpacked_bool = 102 [packed = false];
|
||||
repeated ForeignEnum unpacked_enum = 103 [packed = false];
|
||||
}
|
||||
|
||||
message TestRepeatedScalarDifferentTagSizes {
|
||||
// Parsing repeated fixed size values used to fail. This message needs to be
|
||||
// used in order to get a tag of the right size; all of the repeated fields
|
||||
// in TestAllTypes didn't trigger the check.
|
||||
repeated fixed32 repeated_fixed32 = 12;
|
||||
// Check for a varint type, just for good measure.
|
||||
repeated int32 repeated_int32 = 13;
|
||||
|
||||
// These have two-byte tags.
|
||||
repeated fixed64 repeated_fixed64 = 2046;
|
||||
repeated int64 repeated_int64 = 2047;
|
||||
|
||||
// Three byte tags.
|
||||
repeated float repeated_float = 262142;
|
||||
repeated uint64 repeated_uint64 = 262143;
|
||||
}
|
||||
|
||||
message TestCommentInjectionMessage {
|
||||
// */ <- This should not close the generated doc comment
|
||||
string a = 1;
|
||||
}
|
||||
|
||||
|
||||
// Test that RPC services work.
|
||||
message FooRequest {}
|
||||
message FooResponse {}
|
||||
|
||||
message FooClientMessage {}
|
||||
message FooServerMessage{}
|
||||
|
||||
// This is a test service
|
||||
service TestService {
|
||||
// This is a test method
|
||||
rpc Foo(FooRequest) returns (FooResponse);
|
||||
rpc Bar(BarRequest) returns (BarResponse);
|
||||
}
|
||||
|
||||
|
||||
message BarRequest {}
|
||||
message BarResponse {}
|
||||
|
||||
message TestEmptyMessage {}
|
||||
|
||||
// This is leading detached comment 1
|
||||
|
||||
// This is leading detached comment 2
|
||||
|
||||
// This is a leading comment
|
||||
message CommentMessage {
|
||||
// Leading nested message comment
|
||||
message NestedCommentMessage {
|
||||
// Leading nested message field comment
|
||||
string nested_text = 1;
|
||||
}
|
||||
|
||||
// Leading nested enum comment
|
||||
enum NestedCommentEnum {
|
||||
// Zero value comment
|
||||
ZERO_VALUE = 0;
|
||||
}
|
||||
|
||||
// Leading field comment
|
||||
string text = 1; // Trailing field comment
|
||||
}
|
||||
|
||||
// Leading enum comment
|
||||
enum CommentEnum {
|
||||
// Zero value comment
|
||||
ZERO_VALUE = 0;
|
||||
}
|
64
deps/protobuf/csharp/protos/unittest_selfreferential_options.proto
vendored
Normal file
64
deps/protobuf/csharp/protos/unittest_selfreferential_options.proto
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
package protobuf_unittest_selfreferential_options;
|
||||
option csharp_namespace = "UnitTest.Issues.TestProtos.SelfreferentialOptions";
|
||||
|
||||
import "google/protobuf/descriptor.proto";
|
||||
|
||||
message FooOptions {
|
||||
// Custom field option used in definition of the extension message.
|
||||
optional int32 int_opt = 1 [(foo_options) = {
|
||||
int_opt: 1
|
||||
[foo_int_opt]: 2
|
||||
[foo_foo_opt]: {
|
||||
int_opt: 3
|
||||
}
|
||||
}];
|
||||
|
||||
// Custom field option used in definition of the custom option's message.
|
||||
optional int32 foo = 2 [(foo_options) = {foo: 1234}];
|
||||
|
||||
extensions 1000 to max;
|
||||
}
|
||||
|
||||
extend google.protobuf.FieldOptions {
|
||||
// Custom field option used on the definition of that field option.
|
||||
optional int32 bar_options = 1000 [(bar_options) = 1234];
|
||||
|
||||
optional FooOptions foo_options = 1001;
|
||||
}
|
||||
|
||||
extend FooOptions {
|
||||
optional int32 foo_int_opt = 1000;
|
||||
optional FooOptions foo_foo_opt = 1001;
|
||||
}
|
Reference in New Issue
Block a user