• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // <auto-generated>
2 //     Generated by the protocol buffer compiler.  DO NOT EDIT!
3 //     source: unittest_custom_options_proto3.proto
4 // </auto-generated>
5 #pragma warning disable 1591, 0612, 3021
6 #region Designer generated code
7 
8 using pb = global::Google.Protobuf;
9 using pbc = global::Google.Protobuf.Collections;
10 using pbr = global::Google.Protobuf.Reflection;
11 using scg = global::System.Collections.Generic;
12 namespace UnitTest.Issues.TestProtos {
13 
14   /// <summary>Holder for reflection information generated from unittest_custom_options_proto3.proto</summary>
15   public static partial class UnittestCustomOptionsProto3Reflection {
16 
17     #region Descriptor
18     /// <summary>File descriptor for unittest_custom_options_proto3.proto</summary>
19     public static pbr::FileDescriptor Descriptor {
20       get { return descriptor; }
21     }
22     private static pbr::FileDescriptor descriptor;
23 
UnittestCustomOptionsProto3Reflection()24     static UnittestCustomOptionsProto3Reflection() {
25       byte[] descriptorData = global::System.Convert.FromBase64String(
26           string.Concat(
27             "CiR1bml0dGVzdF9jdXN0b21fb3B0aW9uc19wcm90bzMucHJvdG8SEXByb3Rv",
28             "YnVmX3VuaXR0ZXN0GiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90",
29             "byLXAQocVGVzdE1lc3NhZ2VXaXRoQ3VzdG9tT3B0aW9ucxIeCgZmaWVsZDEY",
30             "ASABKAlCDggBweDDHS3hdQoCAAAAEhUKC29uZW9mX2ZpZWxkGAIgASgFSAAi",
31             "UwoGQW5FbnVtEhYKEkFORU5VTV9VTlNQRUNJRklFRBAAEg8KC0FORU5VTV9W",
32             "QUwxEAESFgoLQU5FTlVNX1ZBTDIQAhoFsIb6BXsaCMX2yR3r/P//OhAIAODp",
33             "wh3I//////////8BQhkKB0FuT25lb2YSDviswx2d//////////8BIhgKFkN1",
34             "c3RvbU9wdGlvbkZvb1JlcXVlc3QiGQoXQ3VzdG9tT3B0aW9uRm9vUmVzcG9u",
35             "c2UiHgocQ3VzdG9tT3B0aW9uRm9vQ2xpZW50TWVzc2FnZSIeChxDdXN0b21P",
36             "cHRpb25Gb29TZXJ2ZXJNZXNzYWdlIo8BChpEdW1teU1lc3NhZ2VDb250YWlu",
37             "aW5nRW51bSJxCgxUZXN0RW51bVR5cGUSIAocVEVTVF9PUFRJT05fRU5VTV9V",
38             "TlNQRUNJRklFRBAAEhoKFlRFU1RfT1BUSU9OX0VOVU1fVFlQRTEQFhIjChZU",
39             "RVNUX09QVElPTl9FTlVNX1RZUEUyEOn//////////wEiIQofRHVtbXlNZXNz",
40             "YWdlSW52YWxpZEFzT3B0aW9uVHlwZSKKAQocQ3VzdG9tT3B0aW9uTWluSW50",
41             "ZWdlclZhbHVlczpq0N6yHQDoxrIdgICAgPj/////AbC8sh2AgICAgICAgIAB",
42             "gJOyHQD49bAdAIDEsB3/////D/iXsB3///////////8BnfWvHQAAAACR7q8d",
43             "AAAAAAAAAACtja8dAAAAgJnWqB0AAAAAAAAAgCKRAQocQ3VzdG9tT3B0aW9u",
44             "TWF4SW50ZWdlclZhbHVlczpx0N6yHQHoxrId/////wewvLId//////////9/",
45             "gJOyHf////8P+PWwHf///////////wGAxLAd/v///w/4l7Ad/v//////////",
46             "AZ31rx3/////ke6vHf//////////rY2vHf///3+Z1qgd/////////38ibgoX",
47             "Q3VzdG9tT3B0aW9uT3RoZXJWYWx1ZXM6U+jGsh2c//////////8B9d+jHeeH",
48             "RUHp3KId+1mMQsrA8z+q3KIdDkhlbGxvLCAiV29ybGQistmiHQtIZWxsbwBX",
49             "b3JsZIjZoh3p//////////8BIjQKHFNldHRpbmdSZWFsc0Zyb21Qb3NpdGl2",
50             "ZUludHM6FPXfox0AAEBB6dyiHQAAAAAAQGNAIjQKHFNldHRpbmdSZWFsc0Zy",
51             "b21OZWdhdGl2ZUludHM6FPXfox0AAEDB6dyiHQAAAAAAQGPAIksKEkNvbXBs",
52             "ZXhPcHRpb25UeXBlMRILCgNmb28YASABKAUSDAoEZm9vMhgCIAEoBRIMCgRm",
53             "b28zGAMgASgFEgwKBGZvbzQYBCADKAUigQMKEkNvbXBsZXhPcHRpb25UeXBl",
54             "MhIyCgNiYXIYASABKAsyJS5wcm90b2J1Zl91bml0dGVzdC5Db21wbGV4T3B0",
55             "aW9uVHlwZTESCwoDYmF6GAIgASgFEkYKBGZyZWQYAyABKAsyOC5wcm90b2J1",
56             "Zl91bml0dGVzdC5Db21wbGV4T3B0aW9uVHlwZTIuQ29tcGxleE9wdGlvblR5",
57             "cGU0EkgKBmJhcm5leRgEIAMoCzI4LnByb3RvYnVmX3VuaXR0ZXN0LkNvbXBs",
58             "ZXhPcHRpb25UeXBlMi5Db21wbGV4T3B0aW9uVHlwZTQalwEKEkNvbXBsZXhP",
59             "cHRpb25UeXBlNBINCgV3YWxkbxgBIAEoBTJyCgxjb21wbGV4X29wdDQSHy5n",
60             "b29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYivXRAyABKAsyOC5wcm90",
61             "b2J1Zl91bml0dGVzdC5Db21wbGV4T3B0aW9uVHlwZTIuQ29tcGxleE9wdGlv",
62             "blR5cGU0IiEKEkNvbXBsZXhPcHRpb25UeXBlMxILCgNxdXgYASABKAUibAoV",
63             "VmFyaW91c0NvbXBsZXhPcHRpb25zOlOi4pUdAggqouKVHQIgY6LilR0CIFiq",
64             "/ZAdAxDbB6r9kB0FCgMI5wXSqI8dAwizD6r9kB0FGgMIwQKq/ZAdBCICCGWq",
65             "/ZAdBSIDCNQB+t6QHQIICSJMCglBZ2dyZWdhdGUSCQoBaRgBIAEoBRIJCgFz",
66             "GAIgASgJEikKA3N1YhgDIAEoCzIcLnByb3RvYnVmX3VuaXR0ZXN0LkFnZ3Jl",
67             "Z2F0ZSJZChBBZ2dyZWdhdGVNZXNzYWdlEikKCWZpZWxkbmFtZRgBIAEoBUIW",
68             "8qGHOxESD0ZpZWxkQW5ub3RhdGlvbjoawtGGOxUIZRIRTWVzc2FnZUFubm90",
69             "YXRpb24ilwEKEE5lc3RlZE9wdGlvblR5cGUaOwoNTmVzdGVkTWVzc2FnZRIi",
70             "CgxuZXN0ZWRfZmllbGQYASABKAVCDMHgwx3qAwAAAAAAADoG4OnCHekHIkYK",
71             "Ck5lc3RlZEVudW0SDwoLVU5TUEVDSUZJRUQQABIdChFORVNURURfRU5VTV9W",
72             "QUxVRRABGgawhvoF7AcaCMX2yR3rAwAAKlIKCk1ldGhvZE9wdDESGgoWTUVU",
73             "SE9ET1BUMV9VTlNQRUNJRklFRBAAEhMKD01FVEhPRE9QVDFfVkFMMRABEhMK",
74             "D01FVEhPRE9QVDFfVkFMMhACKl4KDUFnZ3JlZ2F0ZUVudW0SDwoLVU5TUEVD",
75             "SUZJRUQQABIlCgVWQUxVRRABGhrK/Ik7FRITRW51bVZhbHVlQW5ub3RhdGlv",
76             "bhoVkpWIOxASDkVudW1Bbm5vdGF0aW9uMo4BChxUZXN0U2VydmljZVdpdGhD",
77             "dXN0b21PcHRpb25zEmMKA0ZvbxIpLnByb3RvYnVmX3VuaXR0ZXN0LkN1c3Rv",
78             "bU9wdGlvbkZvb1JlcXVlc3QaKi5wcm90b2J1Zl91bml0dGVzdC5DdXN0b21P",
79             "cHRpb25Gb29SZXNwb25zZSIF4PqMHgIaCZCyix7T24DLSTKZAQoQQWdncmVn",
80             "YXRlU2VydmljZRJrCgZNZXRob2QSIy5wcm90b2J1Zl91bml0dGVzdC5BZ2dy",
81             "ZWdhdGVNZXNzYWdlGiMucHJvdG9idWZfdW5pdHRlc3QuQWdncmVnYXRlTWVz",
82             "c2FnZSIXysiWOxISEE1ldGhvZEFubm90YXRpb24aGMr7jjsTEhFTZXJ2aWNl",
83             "QW5ub3RhdGlvbjoyCglmaWxlX29wdDESHC5nb29nbGUucHJvdG9idWYuRmls",
84             "ZU9wdGlvbnMYjp3YAyABKAQ6OAoMbWVzc2FnZV9vcHQxEh8uZ29vZ2xlLnBy",
85             "b3RvYnVmLk1lc3NhZ2VPcHRpb25zGJyt2AMgASgFOjQKCmZpZWxkX29wdDES",
86             "HS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGIi82AMgASgGOjQKCm9u",
87             "ZW9mX29wdDESHS5nb29nbGUucHJvdG9idWYuT25lb2ZPcHRpb25zGM+12AMg",
88             "ASgFOjIKCWVudW1fb3B0MRIcLmdvb2dsZS5wcm90b2J1Zi5FbnVtT3B0aW9u",
89             "cxjontkDIAEoDzo8Cg9lbnVtX3ZhbHVlX29wdDESIS5nb29nbGUucHJvdG9i",
90             "dWYuRW51bVZhbHVlT3B0aW9ucxjmoF8gASgFOjgKDHNlcnZpY2Vfb3B0MRIf",
91             "Lmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9ucxiituEDIAEoEjpVCgtt",
92             "ZXRob2Rfb3B0MRIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGKzP",
93             "4QMgASgOMh0ucHJvdG9idWZfdW5pdHRlc3QuTWV0aG9kT3B0MTo0Cghib29s",
94             "X29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxjqq9YDIAEo",
95             "CDo1CglpbnQzMl9vcHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlv",
96             "bnMY7ajWAyABKAU6NQoJaW50NjRfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1l",
97             "c3NhZ2VPcHRpb25zGMan1gMgASgDOjYKCnVpbnQzMl9vcHQSHy5nb29nbGUu",
98             "cHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYsKLWAyABKA06NgoKdWludDY0X29w",
99             "dBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxjfjtYDIAEoBDo2",
100             "CgpzaW50MzJfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25z",
101             "GMCI1gMgASgROjYKCnNpbnQ2NF9vcHQSHy5nb29nbGUucHJvdG9idWYuTWVz",
102             "c2FnZU9wdGlvbnMY/4LWAyABKBI6NwoLZml4ZWQzMl9vcHQSHy5nb29nbGUu",
103             "cHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY0/7VAyABKAc6NwoLZml4ZWQ2NF9v",
104             "cHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY4v3VAyABKAY6",
105             "OAoMc2ZpeGVkMzJfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRp",
106             "b25zGNXx1QMgASgPOjgKDHNmaXhlZDY0X29wdBIfLmdvb2dsZS5wcm90b2J1",
107             "Zi5NZXNzYWdlT3B0aW9ucxjjitUDIAEoEDo1CglmbG9hdF9vcHQSHy5nb29n",
108             "bGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY/rvUAyABKAI6NgoKZG91Ymxl",
109             "X29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxjNq9QDIAEo",
110             "ATo2CgpzdHJpbmdfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRp",
111             "b25zGMWr1AMgASgJOjUKCWJ5dGVzX29wdBIfLmdvb2dsZS5wcm90b2J1Zi5N",
112             "ZXNzYWdlT3B0aW9ucxiWq9QDIAEoDDpwCghlbnVtX29wdBIfLmdvb2dsZS5w",
113             "cm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiRq9QDIAEoDjI6LnByb3RvYnVmX3Vu",
114             "aXR0ZXN0LkR1bW15TWVzc2FnZUNvbnRhaW5pbmdFbnVtLlRlc3RFbnVtVHlw",
115             "ZTpwChBtZXNzYWdlX3R5cGVfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3Nh",
116             "Z2VPcHRpb25zGK/y0wMgASgLMjIucHJvdG9idWZfdW5pdHRlc3QuRHVtbXlN",
117             "ZXNzYWdlSW52YWxpZEFzT3B0aW9uVHlwZTpfCgxjb21wbGV4X29wdDESHy5n",
118             "b29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYpNzSAyABKAsyJS5wcm90",
119             "b2J1Zl91bml0dGVzdC5Db21wbGV4T3B0aW9uVHlwZTE6XwoMY29tcGxleF9v",
120             "cHQyEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGNWP0gMgASgL",
121             "MiUucHJvdG9idWZfdW5pdHRlc3QuQ29tcGxleE9wdGlvblR5cGUyOl8KDGNv",
122             "bXBsZXhfb3B0MxIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxjv",
123             "i9IDIAEoCzIlLnByb3RvYnVmX3VuaXR0ZXN0LkNvbXBsZXhPcHRpb25UeXBl",
124             "MzpOCgdmaWxlb3B0EhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGM/d",
125             "sAcgASgLMhwucHJvdG9idWZfdW5pdHRlc3QuQWdncmVnYXRlOlAKBm1zZ29w",
126             "dBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiY6rAHIAEoCzIc",
127             "LnByb3RvYnVmX3VuaXR0ZXN0LkFnZ3JlZ2F0ZTpQCghmaWVsZG9wdBIdLmdv",
128             "b2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYnvSwByABKAsyHC5wcm90b2J1",
129             "Zl91bml0dGVzdC5BZ2dyZWdhdGU6TgoHZW51bW9wdBIcLmdvb2dsZS5wcm90",
130             "b2J1Zi5FbnVtT3B0aW9ucxjSgrEHIAEoCzIcLnByb3RvYnVmX3VuaXR0ZXN0",
131             "LkFnZ3JlZ2F0ZTpWCgplbnVtdmFsb3B0EiEuZ29vZ2xlLnByb3RvYnVmLkVu",
132             "dW1WYWx1ZU9wdGlvbnMYyZ+xByABKAsyHC5wcm90b2J1Zl91bml0dGVzdC5B",
133             "Z2dyZWdhdGU6VAoKc2VydmljZW9wdBIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2",
134             "aWNlT3B0aW9ucxi577EHIAEoCzIcLnByb3RvYnVmX3VuaXR0ZXN0LkFnZ3Jl",
135             "Z2F0ZTpSCgltZXRob2RvcHQSHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0",
136             "aW9ucxiJ6bIHIAEoCzIcLnByb3RvYnVmX3VuaXR0ZXN0LkFnZ3JlZ2F0ZUJV",
137             "qgIaVW5pdFRlc3QuSXNzdWVzLlRlc3RQcm90b3Pw6MEd6q3A5ST67IU7Kghk",
138             "Eg5GaWxlQW5ub3RhdGlvbhoWEhROZXN0ZWRGaWxlQW5ub3RhdGlvbmIGcHJv",
139             "dG8z"));
140       descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
141           new pbr::FileDescriptor[] { global::Google.Protobuf.Reflection.DescriptorReflection.Descriptor, },
142           new pbr::GeneratedClrTypeInfo(new[] {typeof(global::UnitTest.Issues.TestProtos.MethodOpt1), typeof(global::UnitTest.Issues.TestProtos.AggregateEnum), }, new pb::Extension[] { UnittestCustomOptionsProto3Extensions.FileOpt1, UnittestCustomOptionsProto3Extensions.MessageOpt1, UnittestCustomOptionsProto3Extensions.FieldOpt1, UnittestCustomOptionsProto3Extensions.OneofOpt1, UnittestCustomOptionsProto3Extensions.EnumOpt1, UnittestCustomOptionsProto3Extensions.EnumValueOpt1, UnittestCustomOptionsProto3Extensions.ServiceOpt1, UnittestCustomOptionsProto3Extensions.MethodOpt1, UnittestCustomOptionsProto3Extensions.BoolOpt, UnittestCustomOptionsProto3Extensions.Int32Opt, UnittestCustomOptionsProto3Extensions.Int64Opt, UnittestCustomOptionsProto3Extensions.Uint32Opt, UnittestCustomOptionsProto3Extensions.Uint64Opt, UnittestCustomOptionsProto3Extensions.Sint32Opt, UnittestCustomOptionsProto3Extensions.Sint64Opt, UnittestCustomOptionsProto3Extensions.Fixed32Opt, UnittestCustomOptionsProto3Extensions.Fixed64Opt, UnittestCustomOptionsProto3Extensions.Sfixed32Opt, UnittestCustomOptionsProto3Extensions.Sfixed64Opt, UnittestCustomOptionsProto3Extensions.FloatOpt, UnittestCustomOptionsProto3Extensions.DoubleOpt, UnittestCustomOptionsProto3Extensions.StringOpt, UnittestCustomOptionsProto3Extensions.BytesOpt, UnittestCustomOptionsProto3Extensions.EnumOpt, UnittestCustomOptionsProto3Extensions.MessageTypeOpt, UnittestCustomOptionsProto3Extensions.ComplexOpt1, UnittestCustomOptionsProto3Extensions.ComplexOpt2, UnittestCustomOptionsProto3Extensions.ComplexOpt3, UnittestCustomOptionsProto3Extensions.Fileopt, UnittestCustomOptionsProto3Extensions.Msgopt, UnittestCustomOptionsProto3Extensions.Fieldopt, UnittestCustomOptionsProto3Extensions.Enumopt, UnittestCustomOptionsProto3Extensions.Enumvalopt, UnittestCustomOptionsProto3Extensions.Serviceopt, UnittestCustomOptionsProto3Extensions.Methodopt }, new pbr::GeneratedClrTypeInfo[] {
143             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.TestMessageWithCustomOptions), global::UnitTest.Issues.TestProtos.TestMessageWithCustomOptions.Parser, new[]{ "Field1", "OneofField" }, new[]{ "AnOneof" }, new[]{ typeof(global::UnitTest.Issues.TestProtos.TestMessageWithCustomOptions.Types.AnEnum) }, null, null),
144             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.CustomOptionFooRequest), global::UnitTest.Issues.TestProtos.CustomOptionFooRequest.Parser, null, null, null, null, null),
145             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.CustomOptionFooResponse), global::UnitTest.Issues.TestProtos.CustomOptionFooResponse.Parser, null, null, null, null, null),
146             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.CustomOptionFooClientMessage), global::UnitTest.Issues.TestProtos.CustomOptionFooClientMessage.Parser, null, null, null, null, null),
147             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.CustomOptionFooServerMessage), global::UnitTest.Issues.TestProtos.CustomOptionFooServerMessage.Parser, null, null, null, null, null),
148             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.DummyMessageContainingEnum), global::UnitTest.Issues.TestProtos.DummyMessageContainingEnum.Parser, null, null, new[]{ typeof(global::UnitTest.Issues.TestProtos.DummyMessageContainingEnum.Types.TestEnumType) }, null, null),
149             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.DummyMessageInvalidAsOptionType), global::UnitTest.Issues.TestProtos.DummyMessageInvalidAsOptionType.Parser, null, null, null, null, null),
150             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.CustomOptionMinIntegerValues), global::UnitTest.Issues.TestProtos.CustomOptionMinIntegerValues.Parser, null, null, null, null, null),
151             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.CustomOptionMaxIntegerValues), global::UnitTest.Issues.TestProtos.CustomOptionMaxIntegerValues.Parser, null, null, null, null, null),
152             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.CustomOptionOtherValues), global::UnitTest.Issues.TestProtos.CustomOptionOtherValues.Parser, null, null, null, null, null),
153             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.SettingRealsFromPositiveInts), global::UnitTest.Issues.TestProtos.SettingRealsFromPositiveInts.Parser, null, null, null, null, null),
154             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.SettingRealsFromNegativeInts), global::UnitTest.Issues.TestProtos.SettingRealsFromNegativeInts.Parser, null, null, null, null, null),
155             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.ComplexOptionType1), global::UnitTest.Issues.TestProtos.ComplexOptionType1.Parser, new[]{ "Foo", "Foo2", "Foo3", "Foo4" }, null, null, null, null),
156             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.ComplexOptionType2), global::UnitTest.Issues.TestProtos.ComplexOptionType2.Parser, new[]{ "Bar", "Baz", "Fred", "Barney" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4), global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.Parser, new[]{ "Waldo" }, null, null, new pb::Extension[] { global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.Extensions.ComplexOpt4 }, null)}),
157             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.ComplexOptionType3), global::UnitTest.Issues.TestProtos.ComplexOptionType3.Parser, new[]{ "Qux" }, null, null, null, null),
158             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.VariousComplexOptions), global::UnitTest.Issues.TestProtos.VariousComplexOptions.Parser, null, null, null, null, null),
159             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.Aggregate), global::UnitTest.Issues.TestProtos.Aggregate.Parser, new[]{ "I", "S", "Sub" }, null, null, null, null),
160             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.AggregateMessage), global::UnitTest.Issues.TestProtos.AggregateMessage.Parser, new[]{ "Fieldname" }, null, null, null, null),
161             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.NestedOptionType), global::UnitTest.Issues.TestProtos.NestedOptionType.Parser, null, null, new[]{ typeof(global::UnitTest.Issues.TestProtos.NestedOptionType.Types.NestedEnum) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.NestedOptionType.Types.NestedMessage), global::UnitTest.Issues.TestProtos.NestedOptionType.Types.NestedMessage.Parser, new[]{ "NestedField" }, null, null, null, null)})
162           }));
163     }
164     #endregion
165 
166   }
167   /// <summary>Holder for extension identifiers generated from the top level of unittest_custom_options_proto3.proto</summary>
168   public static partial class UnittestCustomOptionsProto3Extensions {
169     public static readonly pb::Extension<global::Google.Protobuf.Reflection.FileOptions, ulong> FileOpt1 =
170       new pb::Extension<global::Google.Protobuf.Reflection.FileOptions, ulong>(7736974, pb::FieldCodec.ForUInt64(61895792, 0UL));
171     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int> MessageOpt1 =
172       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int>(7739036, pb::FieldCodec.ForInt32(61912288, 0));
173     public static readonly pb::Extension<global::Google.Protobuf.Reflection.FieldOptions, ulong> FieldOpt1 =
174       new pb::Extension<global::Google.Protobuf.Reflection.FieldOptions, ulong>(7740936, pb::FieldCodec.ForFixed64(61927489, 0UL));
175     public static readonly pb::Extension<global::Google.Protobuf.Reflection.OneofOptions, int> OneofOpt1 =
176       new pb::Extension<global::Google.Protobuf.Reflection.OneofOptions, int>(7740111, pb::FieldCodec.ForInt32(61920888, 0));
177     public static readonly pb::Extension<global::Google.Protobuf.Reflection.EnumOptions, int> EnumOpt1 =
178       new pb::Extension<global::Google.Protobuf.Reflection.EnumOptions, int>(7753576, pb::FieldCodec.ForSFixed32(62028613, 0));
179     public static readonly pb::Extension<global::Google.Protobuf.Reflection.EnumValueOptions, int> EnumValueOpt1 =
180       new pb::Extension<global::Google.Protobuf.Reflection.EnumValueOptions, int>(1560678, pb::FieldCodec.ForInt32(12485424, 0));
181     public static readonly pb::Extension<global::Google.Protobuf.Reflection.ServiceOptions, long> ServiceOpt1 =
182       new pb::Extension<global::Google.Protobuf.Reflection.ServiceOptions, long>(7887650, pb::FieldCodec.ForSInt64(63101200, 0L));
183     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MethodOptions, global::UnitTest.Issues.TestProtos.MethodOpt1> MethodOpt1 =
184       new pb::Extension<global::Google.Protobuf.Reflection.MethodOptions, global::UnitTest.Issues.TestProtos.MethodOpt1>(7890860, pb::FieldCodec.ForEnum(63126880, x => (int) x, x => (global::UnitTest.Issues.TestProtos.MethodOpt1) x, global::UnitTest.Issues.TestProtos.MethodOpt1.Unspecified));
185     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, bool> BoolOpt =
186       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, bool>(7706090, pb::FieldCodec.ForBool(61648720, false));
187     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int> Int32Opt =
188       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int>(7705709, pb::FieldCodec.ForInt32(61645672, 0));
189     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, long> Int64Opt =
190       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, long>(7705542, pb::FieldCodec.ForInt64(61644336, 0L));
191     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, uint> Uint32Opt =
192       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, uint>(7704880, pb::FieldCodec.ForUInt32(61639040, 0));
193     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, ulong> Uint64Opt =
194       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, ulong>(7702367, pb::FieldCodec.ForUInt64(61618936, 0UL));
195     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int> Sint32Opt =
196       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int>(7701568, pb::FieldCodec.ForSInt32(61612544, 0));
197     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, long> Sint64Opt =
198       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, long>(7700863, pb::FieldCodec.ForSInt64(61606904, 0L));
199     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, uint> Fixed32Opt =
200       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, uint>(7700307, pb::FieldCodec.ForFixed32(61602461, 0));
201     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, ulong> Fixed64Opt =
202       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, ulong>(7700194, pb::FieldCodec.ForFixed64(61601553, 0UL));
203     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int> Sfixed32Opt =
204       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int>(7698645, pb::FieldCodec.ForSFixed32(61589165, 0));
205     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, long> Sfixed64Opt =
206       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, long>(7685475, pb::FieldCodec.ForSFixed64(61483801, 0L));
207     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, float> FloatOpt =
208       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, float>(7675390, pb::FieldCodec.ForFloat(61403125, 0F));
209     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, double> DoubleOpt =
210       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, double>(7673293, pb::FieldCodec.ForDouble(61386345, 0D));
211     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, string> StringOpt =
212       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, string>(7673285, pb::FieldCodec.ForString(61386282, ""));
213     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, pb::ByteString> BytesOpt =
214       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, pb::ByteString>(7673238, pb::FieldCodec.ForBytes(61385906, pb::ByteString.Empty));
215     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.DummyMessageContainingEnum.Types.TestEnumType> EnumOpt =
216       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.DummyMessageContainingEnum.Types.TestEnumType>(7673233, pb::FieldCodec.ForEnum(61385864, x => (int) x, x => (global::UnitTest.Issues.TestProtos.DummyMessageContainingEnum.Types.TestEnumType) x, global::UnitTest.Issues.TestProtos.DummyMessageContainingEnum.Types.TestEnumType.TestOptionEnumUnspecified));
217     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.DummyMessageInvalidAsOptionType> MessageTypeOpt =
218       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.DummyMessageInvalidAsOptionType>(7665967, pb::FieldCodec.ForMessage(61327738, global::UnitTest.Issues.TestProtos.DummyMessageInvalidAsOptionType.Parser));
219     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType1> ComplexOpt1 =
220       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType1>(7646756, pb::FieldCodec.ForMessage(61174050, global::UnitTest.Issues.TestProtos.ComplexOptionType1.Parser));
221     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType2> ComplexOpt2 =
222       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType2>(7636949, pb::FieldCodec.ForMessage(61095594, global::UnitTest.Issues.TestProtos.ComplexOptionType2.Parser));
223     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType3> ComplexOpt3 =
224       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType3>(7636463, pb::FieldCodec.ForMessage(61091706, global::UnitTest.Issues.TestProtos.ComplexOptionType3.Parser));
225     public static readonly pb::Extension<global::Google.Protobuf.Reflection.FileOptions, global::UnitTest.Issues.TestProtos.Aggregate> Fileopt =
226       new pb::Extension<global::Google.Protobuf.Reflection.FileOptions, global::UnitTest.Issues.TestProtos.Aggregate>(15478479, pb::FieldCodec.ForMessage(123827834, global::UnitTest.Issues.TestProtos.Aggregate.Parser));
227     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.Aggregate> Msgopt =
228       new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.Aggregate>(15480088, pb::FieldCodec.ForMessage(123840706, global::UnitTest.Issues.TestProtos.Aggregate.Parser));
229     public static readonly pb::Extension<global::Google.Protobuf.Reflection.FieldOptions, global::UnitTest.Issues.TestProtos.Aggregate> Fieldopt =
230       new pb::Extension<global::Google.Protobuf.Reflection.FieldOptions, global::UnitTest.Issues.TestProtos.Aggregate>(15481374, pb::FieldCodec.ForMessage(123850994, global::UnitTest.Issues.TestProtos.Aggregate.Parser));
231     public static readonly pb::Extension<global::Google.Protobuf.Reflection.EnumOptions, global::UnitTest.Issues.TestProtos.Aggregate> Enumopt =
232       new pb::Extension<global::Google.Protobuf.Reflection.EnumOptions, global::UnitTest.Issues.TestProtos.Aggregate>(15483218, pb::FieldCodec.ForMessage(123865746, global::UnitTest.Issues.TestProtos.Aggregate.Parser));
233     public static readonly pb::Extension<global::Google.Protobuf.Reflection.EnumValueOptions, global::UnitTest.Issues.TestProtos.Aggregate> Enumvalopt =
234       new pb::Extension<global::Google.Protobuf.Reflection.EnumValueOptions, global::UnitTest.Issues.TestProtos.Aggregate>(15486921, pb::FieldCodec.ForMessage(123895370, global::UnitTest.Issues.TestProtos.Aggregate.Parser));
235     public static readonly pb::Extension<global::Google.Protobuf.Reflection.ServiceOptions, global::UnitTest.Issues.TestProtos.Aggregate> Serviceopt =
236       new pb::Extension<global::Google.Protobuf.Reflection.ServiceOptions, global::UnitTest.Issues.TestProtos.Aggregate>(15497145, pb::FieldCodec.ForMessage(123977162, global::UnitTest.Issues.TestProtos.Aggregate.Parser));
237     public static readonly pb::Extension<global::Google.Protobuf.Reflection.MethodOptions, global::UnitTest.Issues.TestProtos.Aggregate> Methodopt =
238       new pb::Extension<global::Google.Protobuf.Reflection.MethodOptions, global::UnitTest.Issues.TestProtos.Aggregate>(15512713, pb::FieldCodec.ForMessage(124101706, global::UnitTest.Issues.TestProtos.Aggregate.Parser));
239   }
240 
241   #region Enums
242   public enum MethodOpt1 {
243     [pbr::OriginalName("METHODOPT1_UNSPECIFIED")] Unspecified = 0,
244     [pbr::OriginalName("METHODOPT1_VAL1")] Val1 = 1,
245     [pbr::OriginalName("METHODOPT1_VAL2")] Val2 = 2,
246   }
247 
248   public enum AggregateEnum {
249     [pbr::OriginalName("UNSPECIFIED")] Unspecified = 0,
250     [pbr::OriginalName("VALUE")] Value = 1,
251   }
252 
253   #endregion
254 
255   #region Messages
256   /// <summary>
257   /// A test message with custom options at all possible locations (and also some
258   /// regular options, to make sure they interact nicely).
259   /// </summary>
260   public sealed partial class TestMessageWithCustomOptions : pb::IMessage<TestMessageWithCustomOptions>
261   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
262       , pb::IBufferMessage
263   #endif
264   {
265     private static readonly pb::MessageParser<TestMessageWithCustomOptions> _parser = new pb::MessageParser<TestMessageWithCustomOptions>(() => new TestMessageWithCustomOptions());
266     private pb::UnknownFieldSet _unknownFields;
267     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
268     public static pb::MessageParser<TestMessageWithCustomOptions> Parser { get { return _parser; } }
269 
270     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
271     public static pbr::MessageDescriptor Descriptor {
272       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[0]; }
273     }
274 
275     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
276     pbr::MessageDescriptor pb::IMessage.Descriptor {
277       get { return Descriptor; }
278     }
279 
280     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestMessageWithCustomOptions()281     public TestMessageWithCustomOptions() {
282       OnConstruction();
283     }
284 
OnConstruction()285     partial void OnConstruction();
286 
287     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestMessageWithCustomOptions(TestMessageWithCustomOptions other)288     public TestMessageWithCustomOptions(TestMessageWithCustomOptions other) : this() {
289       field1_ = other.field1_;
290       switch (other.AnOneofCase) {
291         case AnOneofOneofCase.OneofField:
292           OneofField = other.OneofField;
293           break;
294       }
295 
296       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
297     }
298 
299     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()300     public TestMessageWithCustomOptions Clone() {
301       return new TestMessageWithCustomOptions(this);
302     }
303 
304     /// <summary>Field number for the "field1" field.</summary>
305     public const int Field1FieldNumber = 1;
306     private string field1_ = "";
307     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
308     public string Field1 {
309       get { return field1_; }
310       set {
311         field1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
312       }
313     }
314 
315     /// <summary>Field number for the "oneof_field" field.</summary>
316     public const int OneofFieldFieldNumber = 2;
317     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
318     public int OneofField {
319       get { return anOneofCase_ == AnOneofOneofCase.OneofField ? (int) anOneof_ : 0; }
320       set {
321         anOneof_ = value;
322         anOneofCase_ = AnOneofOneofCase.OneofField;
323       }
324     }
325 
326     private object anOneof_;
327     /// <summary>Enum of possible cases for the "AnOneof" oneof.</summary>
328     public enum AnOneofOneofCase {
329       None = 0,
330       OneofField = 2,
331     }
332     private AnOneofOneofCase anOneofCase_ = AnOneofOneofCase.None;
333     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
334     public AnOneofOneofCase AnOneofCase {
335       get { return anOneofCase_; }
336     }
337 
338     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ClearAnOneof()339     public void ClearAnOneof() {
340       anOneofCase_ = AnOneofOneofCase.None;
341       anOneof_ = null;
342     }
343 
344     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)345     public override bool Equals(object other) {
346       return Equals(other as TestMessageWithCustomOptions);
347     }
348 
349     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestMessageWithCustomOptions other)350     public bool Equals(TestMessageWithCustomOptions other) {
351       if (ReferenceEquals(other, null)) {
352         return false;
353       }
354       if (ReferenceEquals(other, this)) {
355         return true;
356       }
357       if (Field1 != other.Field1) return false;
358       if (OneofField != other.OneofField) return false;
359       if (AnOneofCase != other.AnOneofCase) return false;
360       return Equals(_unknownFields, other._unknownFields);
361     }
362 
363     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()364     public override int GetHashCode() {
365       int hash = 1;
366       if (Field1.Length != 0) hash ^= Field1.GetHashCode();
367       if (anOneofCase_ == AnOneofOneofCase.OneofField) hash ^= OneofField.GetHashCode();
368       hash ^= (int) anOneofCase_;
369       if (_unknownFields != null) {
370         hash ^= _unknownFields.GetHashCode();
371       }
372       return hash;
373     }
374 
375     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()376     public override string ToString() {
377       return pb::JsonFormatter.ToDiagnosticString(this);
378     }
379 
380     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)381     public void WriteTo(pb::CodedOutputStream output) {
382     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
383       output.WriteRawMessage(this);
384     #else
385       if (Field1.Length != 0) {
386         output.WriteRawTag(10);
387         output.WriteString(Field1);
388       }
389       if (anOneofCase_ == AnOneofOneofCase.OneofField) {
390         output.WriteRawTag(16);
391         output.WriteInt32(OneofField);
392       }
393       if (_unknownFields != null) {
394         _unknownFields.WriteTo(output);
395       }
396     #endif
397     }
398 
399     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
400     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)401     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
402       if (Field1.Length != 0) {
403         output.WriteRawTag(10);
404         output.WriteString(Field1);
405       }
406       if (anOneofCase_ == AnOneofOneofCase.OneofField) {
407         output.WriteRawTag(16);
408         output.WriteInt32(OneofField);
409       }
410       if (_unknownFields != null) {
411         _unknownFields.WriteTo(ref output);
412       }
413     }
414     #endif
415 
416     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()417     public int CalculateSize() {
418       int size = 0;
419       if (Field1.Length != 0) {
420         size += 1 + pb::CodedOutputStream.ComputeStringSize(Field1);
421       }
422       if (anOneofCase_ == AnOneofOneofCase.OneofField) {
423         size += 1 + pb::CodedOutputStream.ComputeInt32Size(OneofField);
424       }
425       if (_unknownFields != null) {
426         size += _unknownFields.CalculateSize();
427       }
428       return size;
429     }
430 
431     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestMessageWithCustomOptions other)432     public void MergeFrom(TestMessageWithCustomOptions other) {
433       if (other == null) {
434         return;
435       }
436       if (other.Field1.Length != 0) {
437         Field1 = other.Field1;
438       }
439       switch (other.AnOneofCase) {
440         case AnOneofOneofCase.OneofField:
441           OneofField = other.OneofField;
442           break;
443       }
444 
445       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
446     }
447 
448     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)449     public void MergeFrom(pb::CodedInputStream input) {
450     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
451       input.ReadRawMessage(this);
452     #else
453       uint tag;
454       while ((tag = input.ReadTag()) != 0) {
455         switch(tag) {
456           default:
457             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
458             break;
459           case 10: {
460             Field1 = input.ReadString();
461             break;
462           }
463           case 16: {
464             OneofField = input.ReadInt32();
465             break;
466           }
467         }
468       }
469     #endif
470     }
471 
472     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
473     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)474     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
475       uint tag;
476       while ((tag = input.ReadTag()) != 0) {
477         switch(tag) {
478           default:
479             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
480             break;
481           case 10: {
482             Field1 = input.ReadString();
483             break;
484           }
485           case 16: {
486             OneofField = input.ReadInt32();
487             break;
488           }
489         }
490       }
491     }
492     #endif
493 
494     #region Nested types
495     /// <summary>Container for nested types declared in the TestMessageWithCustomOptions message type.</summary>
496     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
497     public static partial class Types {
498       public enum AnEnum {
499         [pbr::OriginalName("ANENUM_UNSPECIFIED")] Unspecified = 0,
500         [pbr::OriginalName("ANENUM_VAL1")] Val1 = 1,
501         [pbr::OriginalName("ANENUM_VAL2")] Val2 = 2,
502       }
503 
504     }
505     #endregion
506 
507   }
508 
509   /// <summary>
510   /// A test RPC service with custom options at all possible locations (and also
511   /// some regular options, to make sure they interact nicely).
512   /// </summary>
513   public sealed partial class CustomOptionFooRequest : pb::IMessage<CustomOptionFooRequest>
514   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
515       , pb::IBufferMessage
516   #endif
517   {
518     private static readonly pb::MessageParser<CustomOptionFooRequest> _parser = new pb::MessageParser<CustomOptionFooRequest>(() => new CustomOptionFooRequest());
519     private pb::UnknownFieldSet _unknownFields;
520     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
521     public static pb::MessageParser<CustomOptionFooRequest> Parser { get { return _parser; } }
522 
523     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
524     public static pbr::MessageDescriptor Descriptor {
525       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[1]; }
526     }
527 
528     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
529     pbr::MessageDescriptor pb::IMessage.Descriptor {
530       get { return Descriptor; }
531     }
532 
533     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CustomOptionFooRequest()534     public CustomOptionFooRequest() {
535       OnConstruction();
536     }
537 
OnConstruction()538     partial void OnConstruction();
539 
540     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CustomOptionFooRequest(CustomOptionFooRequest other)541     public CustomOptionFooRequest(CustomOptionFooRequest other) : this() {
542       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
543     }
544 
545     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()546     public CustomOptionFooRequest Clone() {
547       return new CustomOptionFooRequest(this);
548     }
549 
550     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)551     public override bool Equals(object other) {
552       return Equals(other as CustomOptionFooRequest);
553     }
554 
555     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(CustomOptionFooRequest other)556     public bool Equals(CustomOptionFooRequest other) {
557       if (ReferenceEquals(other, null)) {
558         return false;
559       }
560       if (ReferenceEquals(other, this)) {
561         return true;
562       }
563       return Equals(_unknownFields, other._unknownFields);
564     }
565 
566     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()567     public override int GetHashCode() {
568       int hash = 1;
569       if (_unknownFields != null) {
570         hash ^= _unknownFields.GetHashCode();
571       }
572       return hash;
573     }
574 
575     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()576     public override string ToString() {
577       return pb::JsonFormatter.ToDiagnosticString(this);
578     }
579 
580     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)581     public void WriteTo(pb::CodedOutputStream output) {
582     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
583       output.WriteRawMessage(this);
584     #else
585       if (_unknownFields != null) {
586         _unknownFields.WriteTo(output);
587       }
588     #endif
589     }
590 
591     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
592     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)593     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
594       if (_unknownFields != null) {
595         _unknownFields.WriteTo(ref output);
596       }
597     }
598     #endif
599 
600     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()601     public int CalculateSize() {
602       int size = 0;
603       if (_unknownFields != null) {
604         size += _unknownFields.CalculateSize();
605       }
606       return size;
607     }
608 
609     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(CustomOptionFooRequest other)610     public void MergeFrom(CustomOptionFooRequest other) {
611       if (other == null) {
612         return;
613       }
614       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
615     }
616 
617     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)618     public void MergeFrom(pb::CodedInputStream input) {
619     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
620       input.ReadRawMessage(this);
621     #else
622       uint tag;
623       while ((tag = input.ReadTag()) != 0) {
624         switch(tag) {
625           default:
626             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
627             break;
628         }
629       }
630     #endif
631     }
632 
633     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
634     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)635     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
636       uint tag;
637       while ((tag = input.ReadTag()) != 0) {
638         switch(tag) {
639           default:
640             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
641             break;
642         }
643       }
644     }
645     #endif
646 
647   }
648 
649   public sealed partial class CustomOptionFooResponse : pb::IMessage<CustomOptionFooResponse>
650   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
651       , pb::IBufferMessage
652   #endif
653   {
654     private static readonly pb::MessageParser<CustomOptionFooResponse> _parser = new pb::MessageParser<CustomOptionFooResponse>(() => new CustomOptionFooResponse());
655     private pb::UnknownFieldSet _unknownFields;
656     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
657     public static pb::MessageParser<CustomOptionFooResponse> Parser { get { return _parser; } }
658 
659     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
660     public static pbr::MessageDescriptor Descriptor {
661       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[2]; }
662     }
663 
664     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
665     pbr::MessageDescriptor pb::IMessage.Descriptor {
666       get { return Descriptor; }
667     }
668 
669     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CustomOptionFooResponse()670     public CustomOptionFooResponse() {
671       OnConstruction();
672     }
673 
OnConstruction()674     partial void OnConstruction();
675 
676     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CustomOptionFooResponse(CustomOptionFooResponse other)677     public CustomOptionFooResponse(CustomOptionFooResponse other) : this() {
678       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
679     }
680 
681     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()682     public CustomOptionFooResponse Clone() {
683       return new CustomOptionFooResponse(this);
684     }
685 
686     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)687     public override bool Equals(object other) {
688       return Equals(other as CustomOptionFooResponse);
689     }
690 
691     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(CustomOptionFooResponse other)692     public bool Equals(CustomOptionFooResponse other) {
693       if (ReferenceEquals(other, null)) {
694         return false;
695       }
696       if (ReferenceEquals(other, this)) {
697         return true;
698       }
699       return Equals(_unknownFields, other._unknownFields);
700     }
701 
702     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()703     public override int GetHashCode() {
704       int hash = 1;
705       if (_unknownFields != null) {
706         hash ^= _unknownFields.GetHashCode();
707       }
708       return hash;
709     }
710 
711     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()712     public override string ToString() {
713       return pb::JsonFormatter.ToDiagnosticString(this);
714     }
715 
716     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)717     public void WriteTo(pb::CodedOutputStream output) {
718     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
719       output.WriteRawMessage(this);
720     #else
721       if (_unknownFields != null) {
722         _unknownFields.WriteTo(output);
723       }
724     #endif
725     }
726 
727     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
728     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)729     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
730       if (_unknownFields != null) {
731         _unknownFields.WriteTo(ref output);
732       }
733     }
734     #endif
735 
736     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()737     public int CalculateSize() {
738       int size = 0;
739       if (_unknownFields != null) {
740         size += _unknownFields.CalculateSize();
741       }
742       return size;
743     }
744 
745     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(CustomOptionFooResponse other)746     public void MergeFrom(CustomOptionFooResponse other) {
747       if (other == null) {
748         return;
749       }
750       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
751     }
752 
753     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)754     public void MergeFrom(pb::CodedInputStream input) {
755     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
756       input.ReadRawMessage(this);
757     #else
758       uint tag;
759       while ((tag = input.ReadTag()) != 0) {
760         switch(tag) {
761           default:
762             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
763             break;
764         }
765       }
766     #endif
767     }
768 
769     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
770     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)771     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
772       uint tag;
773       while ((tag = input.ReadTag()) != 0) {
774         switch(tag) {
775           default:
776             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
777             break;
778         }
779       }
780     }
781     #endif
782 
783   }
784 
785   public sealed partial class CustomOptionFooClientMessage : pb::IMessage<CustomOptionFooClientMessage>
786   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
787       , pb::IBufferMessage
788   #endif
789   {
790     private static readonly pb::MessageParser<CustomOptionFooClientMessage> _parser = new pb::MessageParser<CustomOptionFooClientMessage>(() => new CustomOptionFooClientMessage());
791     private pb::UnknownFieldSet _unknownFields;
792     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
793     public static pb::MessageParser<CustomOptionFooClientMessage> Parser { get { return _parser; } }
794 
795     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
796     public static pbr::MessageDescriptor Descriptor {
797       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[3]; }
798     }
799 
800     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
801     pbr::MessageDescriptor pb::IMessage.Descriptor {
802       get { return Descriptor; }
803     }
804 
805     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CustomOptionFooClientMessage()806     public CustomOptionFooClientMessage() {
807       OnConstruction();
808     }
809 
OnConstruction()810     partial void OnConstruction();
811 
812     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CustomOptionFooClientMessage(CustomOptionFooClientMessage other)813     public CustomOptionFooClientMessage(CustomOptionFooClientMessage other) : this() {
814       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
815     }
816 
817     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()818     public CustomOptionFooClientMessage Clone() {
819       return new CustomOptionFooClientMessage(this);
820     }
821 
822     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)823     public override bool Equals(object other) {
824       return Equals(other as CustomOptionFooClientMessage);
825     }
826 
827     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(CustomOptionFooClientMessage other)828     public bool Equals(CustomOptionFooClientMessage other) {
829       if (ReferenceEquals(other, null)) {
830         return false;
831       }
832       if (ReferenceEquals(other, this)) {
833         return true;
834       }
835       return Equals(_unknownFields, other._unknownFields);
836     }
837 
838     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()839     public override int GetHashCode() {
840       int hash = 1;
841       if (_unknownFields != null) {
842         hash ^= _unknownFields.GetHashCode();
843       }
844       return hash;
845     }
846 
847     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()848     public override string ToString() {
849       return pb::JsonFormatter.ToDiagnosticString(this);
850     }
851 
852     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)853     public void WriteTo(pb::CodedOutputStream output) {
854     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
855       output.WriteRawMessage(this);
856     #else
857       if (_unknownFields != null) {
858         _unknownFields.WriteTo(output);
859       }
860     #endif
861     }
862 
863     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
864     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)865     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
866       if (_unknownFields != null) {
867         _unknownFields.WriteTo(ref output);
868       }
869     }
870     #endif
871 
872     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()873     public int CalculateSize() {
874       int size = 0;
875       if (_unknownFields != null) {
876         size += _unknownFields.CalculateSize();
877       }
878       return size;
879     }
880 
881     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(CustomOptionFooClientMessage other)882     public void MergeFrom(CustomOptionFooClientMessage other) {
883       if (other == null) {
884         return;
885       }
886       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
887     }
888 
889     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)890     public void MergeFrom(pb::CodedInputStream input) {
891     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
892       input.ReadRawMessage(this);
893     #else
894       uint tag;
895       while ((tag = input.ReadTag()) != 0) {
896         switch(tag) {
897           default:
898             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
899             break;
900         }
901       }
902     #endif
903     }
904 
905     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
906     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)907     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
908       uint tag;
909       while ((tag = input.ReadTag()) != 0) {
910         switch(tag) {
911           default:
912             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
913             break;
914         }
915       }
916     }
917     #endif
918 
919   }
920 
921   public sealed partial class CustomOptionFooServerMessage : pb::IMessage<CustomOptionFooServerMessage>
922   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
923       , pb::IBufferMessage
924   #endif
925   {
926     private static readonly pb::MessageParser<CustomOptionFooServerMessage> _parser = new pb::MessageParser<CustomOptionFooServerMessage>(() => new CustomOptionFooServerMessage());
927     private pb::UnknownFieldSet _unknownFields;
928     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
929     public static pb::MessageParser<CustomOptionFooServerMessage> Parser { get { return _parser; } }
930 
931     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
932     public static pbr::MessageDescriptor Descriptor {
933       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[4]; }
934     }
935 
936     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
937     pbr::MessageDescriptor pb::IMessage.Descriptor {
938       get { return Descriptor; }
939     }
940 
941     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CustomOptionFooServerMessage()942     public CustomOptionFooServerMessage() {
943       OnConstruction();
944     }
945 
OnConstruction()946     partial void OnConstruction();
947 
948     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CustomOptionFooServerMessage(CustomOptionFooServerMessage other)949     public CustomOptionFooServerMessage(CustomOptionFooServerMessage other) : this() {
950       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
951     }
952 
953     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()954     public CustomOptionFooServerMessage Clone() {
955       return new CustomOptionFooServerMessage(this);
956     }
957 
958     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)959     public override bool Equals(object other) {
960       return Equals(other as CustomOptionFooServerMessage);
961     }
962 
963     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(CustomOptionFooServerMessage other)964     public bool Equals(CustomOptionFooServerMessage other) {
965       if (ReferenceEquals(other, null)) {
966         return false;
967       }
968       if (ReferenceEquals(other, this)) {
969         return true;
970       }
971       return Equals(_unknownFields, other._unknownFields);
972     }
973 
974     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()975     public override int GetHashCode() {
976       int hash = 1;
977       if (_unknownFields != null) {
978         hash ^= _unknownFields.GetHashCode();
979       }
980       return hash;
981     }
982 
983     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()984     public override string ToString() {
985       return pb::JsonFormatter.ToDiagnosticString(this);
986     }
987 
988     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)989     public void WriteTo(pb::CodedOutputStream output) {
990     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
991       output.WriteRawMessage(this);
992     #else
993       if (_unknownFields != null) {
994         _unknownFields.WriteTo(output);
995       }
996     #endif
997     }
998 
999     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1000     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)1001     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1002       if (_unknownFields != null) {
1003         _unknownFields.WriteTo(ref output);
1004       }
1005     }
1006     #endif
1007 
1008     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()1009     public int CalculateSize() {
1010       int size = 0;
1011       if (_unknownFields != null) {
1012         size += _unknownFields.CalculateSize();
1013       }
1014       return size;
1015     }
1016 
1017     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(CustomOptionFooServerMessage other)1018     public void MergeFrom(CustomOptionFooServerMessage other) {
1019       if (other == null) {
1020         return;
1021       }
1022       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1023     }
1024 
1025     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)1026     public void MergeFrom(pb::CodedInputStream input) {
1027     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1028       input.ReadRawMessage(this);
1029     #else
1030       uint tag;
1031       while ((tag = input.ReadTag()) != 0) {
1032         switch(tag) {
1033           default:
1034             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1035             break;
1036         }
1037       }
1038     #endif
1039     }
1040 
1041     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1042     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)1043     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1044       uint tag;
1045       while ((tag = input.ReadTag()) != 0) {
1046         switch(tag) {
1047           default:
1048             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1049             break;
1050         }
1051       }
1052     }
1053     #endif
1054 
1055   }
1056 
1057   public sealed partial class DummyMessageContainingEnum : pb::IMessage<DummyMessageContainingEnum>
1058   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1059       , pb::IBufferMessage
1060   #endif
1061   {
1062     private static readonly pb::MessageParser<DummyMessageContainingEnum> _parser = new pb::MessageParser<DummyMessageContainingEnum>(() => new DummyMessageContainingEnum());
1063     private pb::UnknownFieldSet _unknownFields;
1064     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1065     public static pb::MessageParser<DummyMessageContainingEnum> Parser { get { return _parser; } }
1066 
1067     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1068     public static pbr::MessageDescriptor Descriptor {
1069       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[5]; }
1070     }
1071 
1072     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1073     pbr::MessageDescriptor pb::IMessage.Descriptor {
1074       get { return Descriptor; }
1075     }
1076 
1077     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
DummyMessageContainingEnum()1078     public DummyMessageContainingEnum() {
1079       OnConstruction();
1080     }
1081 
OnConstruction()1082     partial void OnConstruction();
1083 
1084     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
DummyMessageContainingEnum(DummyMessageContainingEnum other)1085     public DummyMessageContainingEnum(DummyMessageContainingEnum other) : this() {
1086       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1087     }
1088 
1089     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()1090     public DummyMessageContainingEnum Clone() {
1091       return new DummyMessageContainingEnum(this);
1092     }
1093 
1094     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)1095     public override bool Equals(object other) {
1096       return Equals(other as DummyMessageContainingEnum);
1097     }
1098 
1099     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(DummyMessageContainingEnum other)1100     public bool Equals(DummyMessageContainingEnum other) {
1101       if (ReferenceEquals(other, null)) {
1102         return false;
1103       }
1104       if (ReferenceEquals(other, this)) {
1105         return true;
1106       }
1107       return Equals(_unknownFields, other._unknownFields);
1108     }
1109 
1110     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()1111     public override int GetHashCode() {
1112       int hash = 1;
1113       if (_unknownFields != null) {
1114         hash ^= _unknownFields.GetHashCode();
1115       }
1116       return hash;
1117     }
1118 
1119     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()1120     public override string ToString() {
1121       return pb::JsonFormatter.ToDiagnosticString(this);
1122     }
1123 
1124     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)1125     public void WriteTo(pb::CodedOutputStream output) {
1126     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1127       output.WriteRawMessage(this);
1128     #else
1129       if (_unknownFields != null) {
1130         _unknownFields.WriteTo(output);
1131       }
1132     #endif
1133     }
1134 
1135     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1136     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)1137     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1138       if (_unknownFields != null) {
1139         _unknownFields.WriteTo(ref output);
1140       }
1141     }
1142     #endif
1143 
1144     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()1145     public int CalculateSize() {
1146       int size = 0;
1147       if (_unknownFields != null) {
1148         size += _unknownFields.CalculateSize();
1149       }
1150       return size;
1151     }
1152 
1153     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(DummyMessageContainingEnum other)1154     public void MergeFrom(DummyMessageContainingEnum other) {
1155       if (other == null) {
1156         return;
1157       }
1158       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1159     }
1160 
1161     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)1162     public void MergeFrom(pb::CodedInputStream input) {
1163     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1164       input.ReadRawMessage(this);
1165     #else
1166       uint tag;
1167       while ((tag = input.ReadTag()) != 0) {
1168         switch(tag) {
1169           default:
1170             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1171             break;
1172         }
1173       }
1174     #endif
1175     }
1176 
1177     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1178     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)1179     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1180       uint tag;
1181       while ((tag = input.ReadTag()) != 0) {
1182         switch(tag) {
1183           default:
1184             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1185             break;
1186         }
1187       }
1188     }
1189     #endif
1190 
1191     #region Nested types
1192     /// <summary>Container for nested types declared in the DummyMessageContainingEnum message type.</summary>
1193     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1194     public static partial class Types {
1195       public enum TestEnumType {
1196         [pbr::OriginalName("TEST_OPTION_ENUM_UNSPECIFIED")] TestOptionEnumUnspecified = 0,
1197         [pbr::OriginalName("TEST_OPTION_ENUM_TYPE1")] TestOptionEnumType1 = 22,
1198         [pbr::OriginalName("TEST_OPTION_ENUM_TYPE2")] TestOptionEnumType2 = -23,
1199       }
1200 
1201     }
1202     #endregion
1203 
1204   }
1205 
1206   public sealed partial class DummyMessageInvalidAsOptionType : pb::IMessage<DummyMessageInvalidAsOptionType>
1207   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1208       , pb::IBufferMessage
1209   #endif
1210   {
1211     private static readonly pb::MessageParser<DummyMessageInvalidAsOptionType> _parser = new pb::MessageParser<DummyMessageInvalidAsOptionType>(() => new DummyMessageInvalidAsOptionType());
1212     private pb::UnknownFieldSet _unknownFields;
1213     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1214     public static pb::MessageParser<DummyMessageInvalidAsOptionType> Parser { get { return _parser; } }
1215 
1216     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1217     public static pbr::MessageDescriptor Descriptor {
1218       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[6]; }
1219     }
1220 
1221     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1222     pbr::MessageDescriptor pb::IMessage.Descriptor {
1223       get { return Descriptor; }
1224     }
1225 
1226     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
DummyMessageInvalidAsOptionType()1227     public DummyMessageInvalidAsOptionType() {
1228       OnConstruction();
1229     }
1230 
OnConstruction()1231     partial void OnConstruction();
1232 
1233     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
DummyMessageInvalidAsOptionType(DummyMessageInvalidAsOptionType other)1234     public DummyMessageInvalidAsOptionType(DummyMessageInvalidAsOptionType other) : this() {
1235       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1236     }
1237 
1238     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()1239     public DummyMessageInvalidAsOptionType Clone() {
1240       return new DummyMessageInvalidAsOptionType(this);
1241     }
1242 
1243     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)1244     public override bool Equals(object other) {
1245       return Equals(other as DummyMessageInvalidAsOptionType);
1246     }
1247 
1248     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(DummyMessageInvalidAsOptionType other)1249     public bool Equals(DummyMessageInvalidAsOptionType other) {
1250       if (ReferenceEquals(other, null)) {
1251         return false;
1252       }
1253       if (ReferenceEquals(other, this)) {
1254         return true;
1255       }
1256       return Equals(_unknownFields, other._unknownFields);
1257     }
1258 
1259     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()1260     public override int GetHashCode() {
1261       int hash = 1;
1262       if (_unknownFields != null) {
1263         hash ^= _unknownFields.GetHashCode();
1264       }
1265       return hash;
1266     }
1267 
1268     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()1269     public override string ToString() {
1270       return pb::JsonFormatter.ToDiagnosticString(this);
1271     }
1272 
1273     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)1274     public void WriteTo(pb::CodedOutputStream output) {
1275     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1276       output.WriteRawMessage(this);
1277     #else
1278       if (_unknownFields != null) {
1279         _unknownFields.WriteTo(output);
1280       }
1281     #endif
1282     }
1283 
1284     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1285     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)1286     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1287       if (_unknownFields != null) {
1288         _unknownFields.WriteTo(ref output);
1289       }
1290     }
1291     #endif
1292 
1293     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()1294     public int CalculateSize() {
1295       int size = 0;
1296       if (_unknownFields != null) {
1297         size += _unknownFields.CalculateSize();
1298       }
1299       return size;
1300     }
1301 
1302     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(DummyMessageInvalidAsOptionType other)1303     public void MergeFrom(DummyMessageInvalidAsOptionType other) {
1304       if (other == null) {
1305         return;
1306       }
1307       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1308     }
1309 
1310     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)1311     public void MergeFrom(pb::CodedInputStream input) {
1312     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1313       input.ReadRawMessage(this);
1314     #else
1315       uint tag;
1316       while ((tag = input.ReadTag()) != 0) {
1317         switch(tag) {
1318           default:
1319             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1320             break;
1321         }
1322       }
1323     #endif
1324     }
1325 
1326     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1327     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)1328     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1329       uint tag;
1330       while ((tag = input.ReadTag()) != 0) {
1331         switch(tag) {
1332           default:
1333             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1334             break;
1335         }
1336       }
1337     }
1338     #endif
1339 
1340   }
1341 
1342   public sealed partial class CustomOptionMinIntegerValues : pb::IMessage<CustomOptionMinIntegerValues>
1343   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1344       , pb::IBufferMessage
1345   #endif
1346   {
1347     private static readonly pb::MessageParser<CustomOptionMinIntegerValues> _parser = new pb::MessageParser<CustomOptionMinIntegerValues>(() => new CustomOptionMinIntegerValues());
1348     private pb::UnknownFieldSet _unknownFields;
1349     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1350     public static pb::MessageParser<CustomOptionMinIntegerValues> Parser { get { return _parser; } }
1351 
1352     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1353     public static pbr::MessageDescriptor Descriptor {
1354       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[7]; }
1355     }
1356 
1357     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1358     pbr::MessageDescriptor pb::IMessage.Descriptor {
1359       get { return Descriptor; }
1360     }
1361 
1362     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CustomOptionMinIntegerValues()1363     public CustomOptionMinIntegerValues() {
1364       OnConstruction();
1365     }
1366 
OnConstruction()1367     partial void OnConstruction();
1368 
1369     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CustomOptionMinIntegerValues(CustomOptionMinIntegerValues other)1370     public CustomOptionMinIntegerValues(CustomOptionMinIntegerValues other) : this() {
1371       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1372     }
1373 
1374     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()1375     public CustomOptionMinIntegerValues Clone() {
1376       return new CustomOptionMinIntegerValues(this);
1377     }
1378 
1379     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)1380     public override bool Equals(object other) {
1381       return Equals(other as CustomOptionMinIntegerValues);
1382     }
1383 
1384     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(CustomOptionMinIntegerValues other)1385     public bool Equals(CustomOptionMinIntegerValues other) {
1386       if (ReferenceEquals(other, null)) {
1387         return false;
1388       }
1389       if (ReferenceEquals(other, this)) {
1390         return true;
1391       }
1392       return Equals(_unknownFields, other._unknownFields);
1393     }
1394 
1395     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()1396     public override int GetHashCode() {
1397       int hash = 1;
1398       if (_unknownFields != null) {
1399         hash ^= _unknownFields.GetHashCode();
1400       }
1401       return hash;
1402     }
1403 
1404     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()1405     public override string ToString() {
1406       return pb::JsonFormatter.ToDiagnosticString(this);
1407     }
1408 
1409     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)1410     public void WriteTo(pb::CodedOutputStream output) {
1411     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1412       output.WriteRawMessage(this);
1413     #else
1414       if (_unknownFields != null) {
1415         _unknownFields.WriteTo(output);
1416       }
1417     #endif
1418     }
1419 
1420     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1421     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)1422     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1423       if (_unknownFields != null) {
1424         _unknownFields.WriteTo(ref output);
1425       }
1426     }
1427     #endif
1428 
1429     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()1430     public int CalculateSize() {
1431       int size = 0;
1432       if (_unknownFields != null) {
1433         size += _unknownFields.CalculateSize();
1434       }
1435       return size;
1436     }
1437 
1438     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(CustomOptionMinIntegerValues other)1439     public void MergeFrom(CustomOptionMinIntegerValues other) {
1440       if (other == null) {
1441         return;
1442       }
1443       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1444     }
1445 
1446     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)1447     public void MergeFrom(pb::CodedInputStream input) {
1448     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1449       input.ReadRawMessage(this);
1450     #else
1451       uint tag;
1452       while ((tag = input.ReadTag()) != 0) {
1453         switch(tag) {
1454           default:
1455             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1456             break;
1457         }
1458       }
1459     #endif
1460     }
1461 
1462     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1463     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)1464     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1465       uint tag;
1466       while ((tag = input.ReadTag()) != 0) {
1467         switch(tag) {
1468           default:
1469             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1470             break;
1471         }
1472       }
1473     }
1474     #endif
1475 
1476   }
1477 
1478   public sealed partial class CustomOptionMaxIntegerValues : pb::IMessage<CustomOptionMaxIntegerValues>
1479   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1480       , pb::IBufferMessage
1481   #endif
1482   {
1483     private static readonly pb::MessageParser<CustomOptionMaxIntegerValues> _parser = new pb::MessageParser<CustomOptionMaxIntegerValues>(() => new CustomOptionMaxIntegerValues());
1484     private pb::UnknownFieldSet _unknownFields;
1485     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1486     public static pb::MessageParser<CustomOptionMaxIntegerValues> Parser { get { return _parser; } }
1487 
1488     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1489     public static pbr::MessageDescriptor Descriptor {
1490       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[8]; }
1491     }
1492 
1493     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1494     pbr::MessageDescriptor pb::IMessage.Descriptor {
1495       get { return Descriptor; }
1496     }
1497 
1498     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CustomOptionMaxIntegerValues()1499     public CustomOptionMaxIntegerValues() {
1500       OnConstruction();
1501     }
1502 
OnConstruction()1503     partial void OnConstruction();
1504 
1505     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CustomOptionMaxIntegerValues(CustomOptionMaxIntegerValues other)1506     public CustomOptionMaxIntegerValues(CustomOptionMaxIntegerValues other) : this() {
1507       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1508     }
1509 
1510     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()1511     public CustomOptionMaxIntegerValues Clone() {
1512       return new CustomOptionMaxIntegerValues(this);
1513     }
1514 
1515     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)1516     public override bool Equals(object other) {
1517       return Equals(other as CustomOptionMaxIntegerValues);
1518     }
1519 
1520     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(CustomOptionMaxIntegerValues other)1521     public bool Equals(CustomOptionMaxIntegerValues other) {
1522       if (ReferenceEquals(other, null)) {
1523         return false;
1524       }
1525       if (ReferenceEquals(other, this)) {
1526         return true;
1527       }
1528       return Equals(_unknownFields, other._unknownFields);
1529     }
1530 
1531     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()1532     public override int GetHashCode() {
1533       int hash = 1;
1534       if (_unknownFields != null) {
1535         hash ^= _unknownFields.GetHashCode();
1536       }
1537       return hash;
1538     }
1539 
1540     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()1541     public override string ToString() {
1542       return pb::JsonFormatter.ToDiagnosticString(this);
1543     }
1544 
1545     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)1546     public void WriteTo(pb::CodedOutputStream output) {
1547     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1548       output.WriteRawMessage(this);
1549     #else
1550       if (_unknownFields != null) {
1551         _unknownFields.WriteTo(output);
1552       }
1553     #endif
1554     }
1555 
1556     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1557     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)1558     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1559       if (_unknownFields != null) {
1560         _unknownFields.WriteTo(ref output);
1561       }
1562     }
1563     #endif
1564 
1565     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()1566     public int CalculateSize() {
1567       int size = 0;
1568       if (_unknownFields != null) {
1569         size += _unknownFields.CalculateSize();
1570       }
1571       return size;
1572     }
1573 
1574     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(CustomOptionMaxIntegerValues other)1575     public void MergeFrom(CustomOptionMaxIntegerValues other) {
1576       if (other == null) {
1577         return;
1578       }
1579       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1580     }
1581 
1582     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)1583     public void MergeFrom(pb::CodedInputStream input) {
1584     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1585       input.ReadRawMessage(this);
1586     #else
1587       uint tag;
1588       while ((tag = input.ReadTag()) != 0) {
1589         switch(tag) {
1590           default:
1591             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1592             break;
1593         }
1594       }
1595     #endif
1596     }
1597 
1598     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1599     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)1600     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1601       uint tag;
1602       while ((tag = input.ReadTag()) != 0) {
1603         switch(tag) {
1604           default:
1605             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1606             break;
1607         }
1608       }
1609     }
1610     #endif
1611 
1612   }
1613 
1614   public sealed partial class CustomOptionOtherValues : pb::IMessage<CustomOptionOtherValues>
1615   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1616       , pb::IBufferMessage
1617   #endif
1618   {
1619     private static readonly pb::MessageParser<CustomOptionOtherValues> _parser = new pb::MessageParser<CustomOptionOtherValues>(() => new CustomOptionOtherValues());
1620     private pb::UnknownFieldSet _unknownFields;
1621     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1622     public static pb::MessageParser<CustomOptionOtherValues> Parser { get { return _parser; } }
1623 
1624     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1625     public static pbr::MessageDescriptor Descriptor {
1626       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[9]; }
1627     }
1628 
1629     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1630     pbr::MessageDescriptor pb::IMessage.Descriptor {
1631       get { return Descriptor; }
1632     }
1633 
1634     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CustomOptionOtherValues()1635     public CustomOptionOtherValues() {
1636       OnConstruction();
1637     }
1638 
OnConstruction()1639     partial void OnConstruction();
1640 
1641     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CustomOptionOtherValues(CustomOptionOtherValues other)1642     public CustomOptionOtherValues(CustomOptionOtherValues other) : this() {
1643       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1644     }
1645 
1646     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()1647     public CustomOptionOtherValues Clone() {
1648       return new CustomOptionOtherValues(this);
1649     }
1650 
1651     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)1652     public override bool Equals(object other) {
1653       return Equals(other as CustomOptionOtherValues);
1654     }
1655 
1656     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(CustomOptionOtherValues other)1657     public bool Equals(CustomOptionOtherValues other) {
1658       if (ReferenceEquals(other, null)) {
1659         return false;
1660       }
1661       if (ReferenceEquals(other, this)) {
1662         return true;
1663       }
1664       return Equals(_unknownFields, other._unknownFields);
1665     }
1666 
1667     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()1668     public override int GetHashCode() {
1669       int hash = 1;
1670       if (_unknownFields != null) {
1671         hash ^= _unknownFields.GetHashCode();
1672       }
1673       return hash;
1674     }
1675 
1676     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()1677     public override string ToString() {
1678       return pb::JsonFormatter.ToDiagnosticString(this);
1679     }
1680 
1681     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)1682     public void WriteTo(pb::CodedOutputStream output) {
1683     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1684       output.WriteRawMessage(this);
1685     #else
1686       if (_unknownFields != null) {
1687         _unknownFields.WriteTo(output);
1688       }
1689     #endif
1690     }
1691 
1692     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1693     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)1694     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1695       if (_unknownFields != null) {
1696         _unknownFields.WriteTo(ref output);
1697       }
1698     }
1699     #endif
1700 
1701     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()1702     public int CalculateSize() {
1703       int size = 0;
1704       if (_unknownFields != null) {
1705         size += _unknownFields.CalculateSize();
1706       }
1707       return size;
1708     }
1709 
1710     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(CustomOptionOtherValues other)1711     public void MergeFrom(CustomOptionOtherValues other) {
1712       if (other == null) {
1713         return;
1714       }
1715       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1716     }
1717 
1718     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)1719     public void MergeFrom(pb::CodedInputStream input) {
1720     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1721       input.ReadRawMessage(this);
1722     #else
1723       uint tag;
1724       while ((tag = input.ReadTag()) != 0) {
1725         switch(tag) {
1726           default:
1727             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1728             break;
1729         }
1730       }
1731     #endif
1732     }
1733 
1734     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1735     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)1736     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1737       uint tag;
1738       while ((tag = input.ReadTag()) != 0) {
1739         switch(tag) {
1740           default:
1741             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1742             break;
1743         }
1744       }
1745     }
1746     #endif
1747 
1748   }
1749 
1750   public sealed partial class SettingRealsFromPositiveInts : pb::IMessage<SettingRealsFromPositiveInts>
1751   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1752       , pb::IBufferMessage
1753   #endif
1754   {
1755     private static readonly pb::MessageParser<SettingRealsFromPositiveInts> _parser = new pb::MessageParser<SettingRealsFromPositiveInts>(() => new SettingRealsFromPositiveInts());
1756     private pb::UnknownFieldSet _unknownFields;
1757     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1758     public static pb::MessageParser<SettingRealsFromPositiveInts> Parser { get { return _parser; } }
1759 
1760     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1761     public static pbr::MessageDescriptor Descriptor {
1762       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[10]; }
1763     }
1764 
1765     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1766     pbr::MessageDescriptor pb::IMessage.Descriptor {
1767       get { return Descriptor; }
1768     }
1769 
1770     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
SettingRealsFromPositiveInts()1771     public SettingRealsFromPositiveInts() {
1772       OnConstruction();
1773     }
1774 
OnConstruction()1775     partial void OnConstruction();
1776 
1777     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
SettingRealsFromPositiveInts(SettingRealsFromPositiveInts other)1778     public SettingRealsFromPositiveInts(SettingRealsFromPositiveInts other) : this() {
1779       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1780     }
1781 
1782     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()1783     public SettingRealsFromPositiveInts Clone() {
1784       return new SettingRealsFromPositiveInts(this);
1785     }
1786 
1787     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)1788     public override bool Equals(object other) {
1789       return Equals(other as SettingRealsFromPositiveInts);
1790     }
1791 
1792     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(SettingRealsFromPositiveInts other)1793     public bool Equals(SettingRealsFromPositiveInts other) {
1794       if (ReferenceEquals(other, null)) {
1795         return false;
1796       }
1797       if (ReferenceEquals(other, this)) {
1798         return true;
1799       }
1800       return Equals(_unknownFields, other._unknownFields);
1801     }
1802 
1803     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()1804     public override int GetHashCode() {
1805       int hash = 1;
1806       if (_unknownFields != null) {
1807         hash ^= _unknownFields.GetHashCode();
1808       }
1809       return hash;
1810     }
1811 
1812     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()1813     public override string ToString() {
1814       return pb::JsonFormatter.ToDiagnosticString(this);
1815     }
1816 
1817     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)1818     public void WriteTo(pb::CodedOutputStream output) {
1819     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1820       output.WriteRawMessage(this);
1821     #else
1822       if (_unknownFields != null) {
1823         _unknownFields.WriteTo(output);
1824       }
1825     #endif
1826     }
1827 
1828     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1829     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)1830     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1831       if (_unknownFields != null) {
1832         _unknownFields.WriteTo(ref output);
1833       }
1834     }
1835     #endif
1836 
1837     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()1838     public int CalculateSize() {
1839       int size = 0;
1840       if (_unknownFields != null) {
1841         size += _unknownFields.CalculateSize();
1842       }
1843       return size;
1844     }
1845 
1846     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(SettingRealsFromPositiveInts other)1847     public void MergeFrom(SettingRealsFromPositiveInts other) {
1848       if (other == null) {
1849         return;
1850       }
1851       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1852     }
1853 
1854     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)1855     public void MergeFrom(pb::CodedInputStream input) {
1856     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1857       input.ReadRawMessage(this);
1858     #else
1859       uint tag;
1860       while ((tag = input.ReadTag()) != 0) {
1861         switch(tag) {
1862           default:
1863             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1864             break;
1865         }
1866       }
1867     #endif
1868     }
1869 
1870     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1871     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)1872     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1873       uint tag;
1874       while ((tag = input.ReadTag()) != 0) {
1875         switch(tag) {
1876           default:
1877             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1878             break;
1879         }
1880       }
1881     }
1882     #endif
1883 
1884   }
1885 
1886   public sealed partial class SettingRealsFromNegativeInts : pb::IMessage<SettingRealsFromNegativeInts>
1887   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1888       , pb::IBufferMessage
1889   #endif
1890   {
1891     private static readonly pb::MessageParser<SettingRealsFromNegativeInts> _parser = new pb::MessageParser<SettingRealsFromNegativeInts>(() => new SettingRealsFromNegativeInts());
1892     private pb::UnknownFieldSet _unknownFields;
1893     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1894     public static pb::MessageParser<SettingRealsFromNegativeInts> Parser { get { return _parser; } }
1895 
1896     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1897     public static pbr::MessageDescriptor Descriptor {
1898       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[11]; }
1899     }
1900 
1901     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1902     pbr::MessageDescriptor pb::IMessage.Descriptor {
1903       get { return Descriptor; }
1904     }
1905 
1906     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
SettingRealsFromNegativeInts()1907     public SettingRealsFromNegativeInts() {
1908       OnConstruction();
1909     }
1910 
OnConstruction()1911     partial void OnConstruction();
1912 
1913     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
SettingRealsFromNegativeInts(SettingRealsFromNegativeInts other)1914     public SettingRealsFromNegativeInts(SettingRealsFromNegativeInts other) : this() {
1915       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1916     }
1917 
1918     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()1919     public SettingRealsFromNegativeInts Clone() {
1920       return new SettingRealsFromNegativeInts(this);
1921     }
1922 
1923     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)1924     public override bool Equals(object other) {
1925       return Equals(other as SettingRealsFromNegativeInts);
1926     }
1927 
1928     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(SettingRealsFromNegativeInts other)1929     public bool Equals(SettingRealsFromNegativeInts other) {
1930       if (ReferenceEquals(other, null)) {
1931         return false;
1932       }
1933       if (ReferenceEquals(other, this)) {
1934         return true;
1935       }
1936       return Equals(_unknownFields, other._unknownFields);
1937     }
1938 
1939     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()1940     public override int GetHashCode() {
1941       int hash = 1;
1942       if (_unknownFields != null) {
1943         hash ^= _unknownFields.GetHashCode();
1944       }
1945       return hash;
1946     }
1947 
1948     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()1949     public override string ToString() {
1950       return pb::JsonFormatter.ToDiagnosticString(this);
1951     }
1952 
1953     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)1954     public void WriteTo(pb::CodedOutputStream output) {
1955     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1956       output.WriteRawMessage(this);
1957     #else
1958       if (_unknownFields != null) {
1959         _unknownFields.WriteTo(output);
1960       }
1961     #endif
1962     }
1963 
1964     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1965     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)1966     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1967       if (_unknownFields != null) {
1968         _unknownFields.WriteTo(ref output);
1969       }
1970     }
1971     #endif
1972 
1973     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()1974     public int CalculateSize() {
1975       int size = 0;
1976       if (_unknownFields != null) {
1977         size += _unknownFields.CalculateSize();
1978       }
1979       return size;
1980     }
1981 
1982     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(SettingRealsFromNegativeInts other)1983     public void MergeFrom(SettingRealsFromNegativeInts other) {
1984       if (other == null) {
1985         return;
1986       }
1987       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1988     }
1989 
1990     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)1991     public void MergeFrom(pb::CodedInputStream input) {
1992     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1993       input.ReadRawMessage(this);
1994     #else
1995       uint tag;
1996       while ((tag = input.ReadTag()) != 0) {
1997         switch(tag) {
1998           default:
1999             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2000             break;
2001         }
2002       }
2003     #endif
2004     }
2005 
2006     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2007     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)2008     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2009       uint tag;
2010       while ((tag = input.ReadTag()) != 0) {
2011         switch(tag) {
2012           default:
2013             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2014             break;
2015         }
2016       }
2017     }
2018     #endif
2019 
2020   }
2021 
2022   public sealed partial class ComplexOptionType1 : pb::IMessage<ComplexOptionType1>
2023   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2024       , pb::IBufferMessage
2025   #endif
2026   {
2027     private static readonly pb::MessageParser<ComplexOptionType1> _parser = new pb::MessageParser<ComplexOptionType1>(() => new ComplexOptionType1());
2028     private pb::UnknownFieldSet _unknownFields;
2029     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2030     public static pb::MessageParser<ComplexOptionType1> Parser { get { return _parser; } }
2031 
2032     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2033     public static pbr::MessageDescriptor Descriptor {
2034       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[12]; }
2035     }
2036 
2037     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2038     pbr::MessageDescriptor pb::IMessage.Descriptor {
2039       get { return Descriptor; }
2040     }
2041 
2042     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ComplexOptionType1()2043     public ComplexOptionType1() {
2044       OnConstruction();
2045     }
2046 
OnConstruction()2047     partial void OnConstruction();
2048 
2049     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ComplexOptionType1(ComplexOptionType1 other)2050     public ComplexOptionType1(ComplexOptionType1 other) : this() {
2051       foo_ = other.foo_;
2052       foo2_ = other.foo2_;
2053       foo3_ = other.foo3_;
2054       foo4_ = other.foo4_.Clone();
2055       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2056     }
2057 
2058     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()2059     public ComplexOptionType1 Clone() {
2060       return new ComplexOptionType1(this);
2061     }
2062 
2063     /// <summary>Field number for the "foo" field.</summary>
2064     public const int FooFieldNumber = 1;
2065     private int foo_;
2066     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2067     public int Foo {
2068       get { return foo_; }
2069       set {
2070         foo_ = value;
2071       }
2072     }
2073 
2074     /// <summary>Field number for the "foo2" field.</summary>
2075     public const int Foo2FieldNumber = 2;
2076     private int foo2_;
2077     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2078     public int Foo2 {
2079       get { return foo2_; }
2080       set {
2081         foo2_ = value;
2082       }
2083     }
2084 
2085     /// <summary>Field number for the "foo3" field.</summary>
2086     public const int Foo3FieldNumber = 3;
2087     private int foo3_;
2088     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2089     public int Foo3 {
2090       get { return foo3_; }
2091       set {
2092         foo3_ = value;
2093       }
2094     }
2095 
2096     /// <summary>Field number for the "foo4" field.</summary>
2097     public const int Foo4FieldNumber = 4;
2098     private static readonly pb::FieldCodec<int> _repeated_foo4_codec
2099         = pb::FieldCodec.ForInt32(34);
2100     private readonly pbc::RepeatedField<int> foo4_ = new pbc::RepeatedField<int>();
2101     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2102     public pbc::RepeatedField<int> Foo4 {
2103       get { return foo4_; }
2104     }
2105 
2106     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)2107     public override bool Equals(object other) {
2108       return Equals(other as ComplexOptionType1);
2109     }
2110 
2111     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(ComplexOptionType1 other)2112     public bool Equals(ComplexOptionType1 other) {
2113       if (ReferenceEquals(other, null)) {
2114         return false;
2115       }
2116       if (ReferenceEquals(other, this)) {
2117         return true;
2118       }
2119       if (Foo != other.Foo) return false;
2120       if (Foo2 != other.Foo2) return false;
2121       if (Foo3 != other.Foo3) return false;
2122       if(!foo4_.Equals(other.foo4_)) return false;
2123       return Equals(_unknownFields, other._unknownFields);
2124     }
2125 
2126     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()2127     public override int GetHashCode() {
2128       int hash = 1;
2129       if (Foo != 0) hash ^= Foo.GetHashCode();
2130       if (Foo2 != 0) hash ^= Foo2.GetHashCode();
2131       if (Foo3 != 0) hash ^= Foo3.GetHashCode();
2132       hash ^= foo4_.GetHashCode();
2133       if (_unknownFields != null) {
2134         hash ^= _unknownFields.GetHashCode();
2135       }
2136       return hash;
2137     }
2138 
2139     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()2140     public override string ToString() {
2141       return pb::JsonFormatter.ToDiagnosticString(this);
2142     }
2143 
2144     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)2145     public void WriteTo(pb::CodedOutputStream output) {
2146     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2147       output.WriteRawMessage(this);
2148     #else
2149       if (Foo != 0) {
2150         output.WriteRawTag(8);
2151         output.WriteInt32(Foo);
2152       }
2153       if (Foo2 != 0) {
2154         output.WriteRawTag(16);
2155         output.WriteInt32(Foo2);
2156       }
2157       if (Foo3 != 0) {
2158         output.WriteRawTag(24);
2159         output.WriteInt32(Foo3);
2160       }
2161       foo4_.WriteTo(output, _repeated_foo4_codec);
2162       if (_unknownFields != null) {
2163         _unknownFields.WriteTo(output);
2164       }
2165     #endif
2166     }
2167 
2168     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2169     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)2170     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2171       if (Foo != 0) {
2172         output.WriteRawTag(8);
2173         output.WriteInt32(Foo);
2174       }
2175       if (Foo2 != 0) {
2176         output.WriteRawTag(16);
2177         output.WriteInt32(Foo2);
2178       }
2179       if (Foo3 != 0) {
2180         output.WriteRawTag(24);
2181         output.WriteInt32(Foo3);
2182       }
2183       foo4_.WriteTo(ref output, _repeated_foo4_codec);
2184       if (_unknownFields != null) {
2185         _unknownFields.WriteTo(ref output);
2186       }
2187     }
2188     #endif
2189 
2190     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()2191     public int CalculateSize() {
2192       int size = 0;
2193       if (Foo != 0) {
2194         size += 1 + pb::CodedOutputStream.ComputeInt32Size(Foo);
2195       }
2196       if (Foo2 != 0) {
2197         size += 1 + pb::CodedOutputStream.ComputeInt32Size(Foo2);
2198       }
2199       if (Foo3 != 0) {
2200         size += 1 + pb::CodedOutputStream.ComputeInt32Size(Foo3);
2201       }
2202       size += foo4_.CalculateSize(_repeated_foo4_codec);
2203       if (_unknownFields != null) {
2204         size += _unknownFields.CalculateSize();
2205       }
2206       return size;
2207     }
2208 
2209     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(ComplexOptionType1 other)2210     public void MergeFrom(ComplexOptionType1 other) {
2211       if (other == null) {
2212         return;
2213       }
2214       if (other.Foo != 0) {
2215         Foo = other.Foo;
2216       }
2217       if (other.Foo2 != 0) {
2218         Foo2 = other.Foo2;
2219       }
2220       if (other.Foo3 != 0) {
2221         Foo3 = other.Foo3;
2222       }
2223       foo4_.Add(other.foo4_);
2224       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2225     }
2226 
2227     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)2228     public void MergeFrom(pb::CodedInputStream input) {
2229     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2230       input.ReadRawMessage(this);
2231     #else
2232       uint tag;
2233       while ((tag = input.ReadTag()) != 0) {
2234         switch(tag) {
2235           default:
2236             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2237             break;
2238           case 8: {
2239             Foo = input.ReadInt32();
2240             break;
2241           }
2242           case 16: {
2243             Foo2 = input.ReadInt32();
2244             break;
2245           }
2246           case 24: {
2247             Foo3 = input.ReadInt32();
2248             break;
2249           }
2250           case 34:
2251           case 32: {
2252             foo4_.AddEntriesFrom(input, _repeated_foo4_codec);
2253             break;
2254           }
2255         }
2256       }
2257     #endif
2258     }
2259 
2260     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2261     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)2262     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2263       uint tag;
2264       while ((tag = input.ReadTag()) != 0) {
2265         switch(tag) {
2266           default:
2267             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2268             break;
2269           case 8: {
2270             Foo = input.ReadInt32();
2271             break;
2272           }
2273           case 16: {
2274             Foo2 = input.ReadInt32();
2275             break;
2276           }
2277           case 24: {
2278             Foo3 = input.ReadInt32();
2279             break;
2280           }
2281           case 34:
2282           case 32: {
2283             foo4_.AddEntriesFrom(ref input, _repeated_foo4_codec);
2284             break;
2285           }
2286         }
2287       }
2288     }
2289     #endif
2290 
2291   }
2292 
2293   public sealed partial class ComplexOptionType2 : pb::IMessage<ComplexOptionType2>
2294   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2295       , pb::IBufferMessage
2296   #endif
2297   {
2298     private static readonly pb::MessageParser<ComplexOptionType2> _parser = new pb::MessageParser<ComplexOptionType2>(() => new ComplexOptionType2());
2299     private pb::UnknownFieldSet _unknownFields;
2300     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2301     public static pb::MessageParser<ComplexOptionType2> Parser { get { return _parser; } }
2302 
2303     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2304     public static pbr::MessageDescriptor Descriptor {
2305       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[13]; }
2306     }
2307 
2308     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2309     pbr::MessageDescriptor pb::IMessage.Descriptor {
2310       get { return Descriptor; }
2311     }
2312 
2313     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ComplexOptionType2()2314     public ComplexOptionType2() {
2315       OnConstruction();
2316     }
2317 
OnConstruction()2318     partial void OnConstruction();
2319 
2320     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ComplexOptionType2(ComplexOptionType2 other)2321     public ComplexOptionType2(ComplexOptionType2 other) : this() {
2322       bar_ = other.bar_ != null ? other.bar_.Clone() : null;
2323       baz_ = other.baz_;
2324       fred_ = other.fred_ != null ? other.fred_.Clone() : null;
2325       barney_ = other.barney_.Clone();
2326       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2327     }
2328 
2329     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()2330     public ComplexOptionType2 Clone() {
2331       return new ComplexOptionType2(this);
2332     }
2333 
2334     /// <summary>Field number for the "bar" field.</summary>
2335     public const int BarFieldNumber = 1;
2336     private global::UnitTest.Issues.TestProtos.ComplexOptionType1 bar_;
2337     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2338     public global::UnitTest.Issues.TestProtos.ComplexOptionType1 Bar {
2339       get { return bar_; }
2340       set {
2341         bar_ = value;
2342       }
2343     }
2344 
2345     /// <summary>Field number for the "baz" field.</summary>
2346     public const int BazFieldNumber = 2;
2347     private int baz_;
2348     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2349     public int Baz {
2350       get { return baz_; }
2351       set {
2352         baz_ = value;
2353       }
2354     }
2355 
2356     /// <summary>Field number for the "fred" field.</summary>
2357     public const int FredFieldNumber = 3;
2358     private global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4 fred_;
2359     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2360     public global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4 Fred {
2361       get { return fred_; }
2362       set {
2363         fred_ = value;
2364       }
2365     }
2366 
2367     /// <summary>Field number for the "barney" field.</summary>
2368     public const int BarneyFieldNumber = 4;
2369     private static readonly pb::FieldCodec<global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4> _repeated_barney_codec
2370         = pb::FieldCodec.ForMessage(34, global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.Parser);
2371     private readonly pbc::RepeatedField<global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4> barney_ = new pbc::RepeatedField<global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4>();
2372     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2373     public pbc::RepeatedField<global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4> Barney {
2374       get { return barney_; }
2375     }
2376 
2377     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)2378     public override bool Equals(object other) {
2379       return Equals(other as ComplexOptionType2);
2380     }
2381 
2382     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(ComplexOptionType2 other)2383     public bool Equals(ComplexOptionType2 other) {
2384       if (ReferenceEquals(other, null)) {
2385         return false;
2386       }
2387       if (ReferenceEquals(other, this)) {
2388         return true;
2389       }
2390       if (!object.Equals(Bar, other.Bar)) return false;
2391       if (Baz != other.Baz) return false;
2392       if (!object.Equals(Fred, other.Fred)) return false;
2393       if(!barney_.Equals(other.barney_)) return false;
2394       return Equals(_unknownFields, other._unknownFields);
2395     }
2396 
2397     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()2398     public override int GetHashCode() {
2399       int hash = 1;
2400       if (bar_ != null) hash ^= Bar.GetHashCode();
2401       if (Baz != 0) hash ^= Baz.GetHashCode();
2402       if (fred_ != null) hash ^= Fred.GetHashCode();
2403       hash ^= barney_.GetHashCode();
2404       if (_unknownFields != null) {
2405         hash ^= _unknownFields.GetHashCode();
2406       }
2407       return hash;
2408     }
2409 
2410     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()2411     public override string ToString() {
2412       return pb::JsonFormatter.ToDiagnosticString(this);
2413     }
2414 
2415     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)2416     public void WriteTo(pb::CodedOutputStream output) {
2417     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2418       output.WriteRawMessage(this);
2419     #else
2420       if (bar_ != null) {
2421         output.WriteRawTag(10);
2422         output.WriteMessage(Bar);
2423       }
2424       if (Baz != 0) {
2425         output.WriteRawTag(16);
2426         output.WriteInt32(Baz);
2427       }
2428       if (fred_ != null) {
2429         output.WriteRawTag(26);
2430         output.WriteMessage(Fred);
2431       }
2432       barney_.WriteTo(output, _repeated_barney_codec);
2433       if (_unknownFields != null) {
2434         _unknownFields.WriteTo(output);
2435       }
2436     #endif
2437     }
2438 
2439     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2440     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)2441     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2442       if (bar_ != null) {
2443         output.WriteRawTag(10);
2444         output.WriteMessage(Bar);
2445       }
2446       if (Baz != 0) {
2447         output.WriteRawTag(16);
2448         output.WriteInt32(Baz);
2449       }
2450       if (fred_ != null) {
2451         output.WriteRawTag(26);
2452         output.WriteMessage(Fred);
2453       }
2454       barney_.WriteTo(ref output, _repeated_barney_codec);
2455       if (_unknownFields != null) {
2456         _unknownFields.WriteTo(ref output);
2457       }
2458     }
2459     #endif
2460 
2461     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()2462     public int CalculateSize() {
2463       int size = 0;
2464       if (bar_ != null) {
2465         size += 1 + pb::CodedOutputStream.ComputeMessageSize(Bar);
2466       }
2467       if (Baz != 0) {
2468         size += 1 + pb::CodedOutputStream.ComputeInt32Size(Baz);
2469       }
2470       if (fred_ != null) {
2471         size += 1 + pb::CodedOutputStream.ComputeMessageSize(Fred);
2472       }
2473       size += barney_.CalculateSize(_repeated_barney_codec);
2474       if (_unknownFields != null) {
2475         size += _unknownFields.CalculateSize();
2476       }
2477       return size;
2478     }
2479 
2480     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(ComplexOptionType2 other)2481     public void MergeFrom(ComplexOptionType2 other) {
2482       if (other == null) {
2483         return;
2484       }
2485       if (other.bar_ != null) {
2486         if (bar_ == null) {
2487           Bar = new global::UnitTest.Issues.TestProtos.ComplexOptionType1();
2488         }
2489         Bar.MergeFrom(other.Bar);
2490       }
2491       if (other.Baz != 0) {
2492         Baz = other.Baz;
2493       }
2494       if (other.fred_ != null) {
2495         if (fred_ == null) {
2496           Fred = new global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4();
2497         }
2498         Fred.MergeFrom(other.Fred);
2499       }
2500       barney_.Add(other.barney_);
2501       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2502     }
2503 
2504     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)2505     public void MergeFrom(pb::CodedInputStream input) {
2506     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2507       input.ReadRawMessage(this);
2508     #else
2509       uint tag;
2510       while ((tag = input.ReadTag()) != 0) {
2511         switch(tag) {
2512           default:
2513             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2514             break;
2515           case 10: {
2516             if (bar_ == null) {
2517               Bar = new global::UnitTest.Issues.TestProtos.ComplexOptionType1();
2518             }
2519             input.ReadMessage(Bar);
2520             break;
2521           }
2522           case 16: {
2523             Baz = input.ReadInt32();
2524             break;
2525           }
2526           case 26: {
2527             if (fred_ == null) {
2528               Fred = new global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4();
2529             }
2530             input.ReadMessage(Fred);
2531             break;
2532           }
2533           case 34: {
2534             barney_.AddEntriesFrom(input, _repeated_barney_codec);
2535             break;
2536           }
2537         }
2538       }
2539     #endif
2540     }
2541 
2542     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2543     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)2544     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2545       uint tag;
2546       while ((tag = input.ReadTag()) != 0) {
2547         switch(tag) {
2548           default:
2549             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2550             break;
2551           case 10: {
2552             if (bar_ == null) {
2553               Bar = new global::UnitTest.Issues.TestProtos.ComplexOptionType1();
2554             }
2555             input.ReadMessage(Bar);
2556             break;
2557           }
2558           case 16: {
2559             Baz = input.ReadInt32();
2560             break;
2561           }
2562           case 26: {
2563             if (fred_ == null) {
2564               Fred = new global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4();
2565             }
2566             input.ReadMessage(Fred);
2567             break;
2568           }
2569           case 34: {
2570             barney_.AddEntriesFrom(ref input, _repeated_barney_codec);
2571             break;
2572           }
2573         }
2574       }
2575     }
2576     #endif
2577 
2578     #region Nested types
2579     /// <summary>Container for nested types declared in the ComplexOptionType2 message type.</summary>
2580     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2581     public static partial class Types {
2582       public sealed partial class ComplexOptionType4 : pb::IMessage<ComplexOptionType4>
2583       #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2584           , pb::IBufferMessage
2585       #endif
2586       {
2587         private static readonly pb::MessageParser<ComplexOptionType4> _parser = new pb::MessageParser<ComplexOptionType4>(() => new ComplexOptionType4());
2588         private pb::UnknownFieldSet _unknownFields;
2589         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2590         public static pb::MessageParser<ComplexOptionType4> Parser { get { return _parser; } }
2591 
2592         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2593         public static pbr::MessageDescriptor Descriptor {
2594           get { return global::UnitTest.Issues.TestProtos.ComplexOptionType2.Descriptor.NestedTypes[0]; }
2595         }
2596 
2597         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2598         pbr::MessageDescriptor pb::IMessage.Descriptor {
2599           get { return Descriptor; }
2600         }
2601 
2602         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ComplexOptionType4()2603         public ComplexOptionType4() {
2604           OnConstruction();
2605         }
2606 
OnConstruction()2607         partial void OnConstruction();
2608 
2609         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ComplexOptionType4(ComplexOptionType4 other)2610         public ComplexOptionType4(ComplexOptionType4 other) : this() {
2611           waldo_ = other.waldo_;
2612           _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2613         }
2614 
2615         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()2616         public ComplexOptionType4 Clone() {
2617           return new ComplexOptionType4(this);
2618         }
2619 
2620         /// <summary>Field number for the "waldo" field.</summary>
2621         public const int WaldoFieldNumber = 1;
2622         private int waldo_;
2623         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2624         public int Waldo {
2625           get { return waldo_; }
2626           set {
2627             waldo_ = value;
2628           }
2629         }
2630 
2631         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)2632         public override bool Equals(object other) {
2633           return Equals(other as ComplexOptionType4);
2634         }
2635 
2636         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(ComplexOptionType4 other)2637         public bool Equals(ComplexOptionType4 other) {
2638           if (ReferenceEquals(other, null)) {
2639             return false;
2640           }
2641           if (ReferenceEquals(other, this)) {
2642             return true;
2643           }
2644           if (Waldo != other.Waldo) return false;
2645           return Equals(_unknownFields, other._unknownFields);
2646         }
2647 
2648         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()2649         public override int GetHashCode() {
2650           int hash = 1;
2651           if (Waldo != 0) hash ^= Waldo.GetHashCode();
2652           if (_unknownFields != null) {
2653             hash ^= _unknownFields.GetHashCode();
2654           }
2655           return hash;
2656         }
2657 
2658         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()2659         public override string ToString() {
2660           return pb::JsonFormatter.ToDiagnosticString(this);
2661         }
2662 
2663         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)2664         public void WriteTo(pb::CodedOutputStream output) {
2665         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2666           output.WriteRawMessage(this);
2667         #else
2668           if (Waldo != 0) {
2669             output.WriteRawTag(8);
2670             output.WriteInt32(Waldo);
2671           }
2672           if (_unknownFields != null) {
2673             _unknownFields.WriteTo(output);
2674           }
2675         #endif
2676         }
2677 
2678         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2679         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)2680         void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2681           if (Waldo != 0) {
2682             output.WriteRawTag(8);
2683             output.WriteInt32(Waldo);
2684           }
2685           if (_unknownFields != null) {
2686             _unknownFields.WriteTo(ref output);
2687           }
2688         }
2689         #endif
2690 
2691         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()2692         public int CalculateSize() {
2693           int size = 0;
2694           if (Waldo != 0) {
2695             size += 1 + pb::CodedOutputStream.ComputeInt32Size(Waldo);
2696           }
2697           if (_unknownFields != null) {
2698             size += _unknownFields.CalculateSize();
2699           }
2700           return size;
2701         }
2702 
2703         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(ComplexOptionType4 other)2704         public void MergeFrom(ComplexOptionType4 other) {
2705           if (other == null) {
2706             return;
2707           }
2708           if (other.Waldo != 0) {
2709             Waldo = other.Waldo;
2710           }
2711           _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2712         }
2713 
2714         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)2715         public void MergeFrom(pb::CodedInputStream input) {
2716         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2717           input.ReadRawMessage(this);
2718         #else
2719           uint tag;
2720           while ((tag = input.ReadTag()) != 0) {
2721             switch(tag) {
2722               default:
2723                 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2724                 break;
2725               case 8: {
2726                 Waldo = input.ReadInt32();
2727                 break;
2728               }
2729             }
2730           }
2731         #endif
2732         }
2733 
2734         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2735         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)2736         void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2737           uint tag;
2738           while ((tag = input.ReadTag()) != 0) {
2739             switch(tag) {
2740               default:
2741                 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2742                 break;
2743               case 8: {
2744                 Waldo = input.ReadInt32();
2745                 break;
2746               }
2747             }
2748           }
2749         }
2750         #endif
2751 
2752         #region Extensions
2753         /// <summary>Container for extensions for other messages declared in the ComplexOptionType4 message type.</summary>
2754         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2755         public static partial class Extensions {
2756           public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4> ComplexOpt4 =
2757             new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4>(7633546, pb::FieldCodec.ForMessage(61068370, global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.Parser));
2758         }
2759         #endregion
2760 
2761       }
2762 
2763     }
2764     #endregion
2765 
2766   }
2767 
2768   public sealed partial class ComplexOptionType3 : pb::IMessage<ComplexOptionType3>
2769   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2770       , pb::IBufferMessage
2771   #endif
2772   {
2773     private static readonly pb::MessageParser<ComplexOptionType3> _parser = new pb::MessageParser<ComplexOptionType3>(() => new ComplexOptionType3());
2774     private pb::UnknownFieldSet _unknownFields;
2775     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2776     public static pb::MessageParser<ComplexOptionType3> Parser { get { return _parser; } }
2777 
2778     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2779     public static pbr::MessageDescriptor Descriptor {
2780       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[14]; }
2781     }
2782 
2783     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2784     pbr::MessageDescriptor pb::IMessage.Descriptor {
2785       get { return Descriptor; }
2786     }
2787 
2788     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ComplexOptionType3()2789     public ComplexOptionType3() {
2790       OnConstruction();
2791     }
2792 
OnConstruction()2793     partial void OnConstruction();
2794 
2795     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ComplexOptionType3(ComplexOptionType3 other)2796     public ComplexOptionType3(ComplexOptionType3 other) : this() {
2797       qux_ = other.qux_;
2798       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2799     }
2800 
2801     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()2802     public ComplexOptionType3 Clone() {
2803       return new ComplexOptionType3(this);
2804     }
2805 
2806     /// <summary>Field number for the "qux" field.</summary>
2807     public const int QuxFieldNumber = 1;
2808     private int qux_;
2809     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2810     public int Qux {
2811       get { return qux_; }
2812       set {
2813         qux_ = value;
2814       }
2815     }
2816 
2817     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)2818     public override bool Equals(object other) {
2819       return Equals(other as ComplexOptionType3);
2820     }
2821 
2822     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(ComplexOptionType3 other)2823     public bool Equals(ComplexOptionType3 other) {
2824       if (ReferenceEquals(other, null)) {
2825         return false;
2826       }
2827       if (ReferenceEquals(other, this)) {
2828         return true;
2829       }
2830       if (Qux != other.Qux) return false;
2831       return Equals(_unknownFields, other._unknownFields);
2832     }
2833 
2834     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()2835     public override int GetHashCode() {
2836       int hash = 1;
2837       if (Qux != 0) hash ^= Qux.GetHashCode();
2838       if (_unknownFields != null) {
2839         hash ^= _unknownFields.GetHashCode();
2840       }
2841       return hash;
2842     }
2843 
2844     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()2845     public override string ToString() {
2846       return pb::JsonFormatter.ToDiagnosticString(this);
2847     }
2848 
2849     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)2850     public void WriteTo(pb::CodedOutputStream output) {
2851     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2852       output.WriteRawMessage(this);
2853     #else
2854       if (Qux != 0) {
2855         output.WriteRawTag(8);
2856         output.WriteInt32(Qux);
2857       }
2858       if (_unknownFields != null) {
2859         _unknownFields.WriteTo(output);
2860       }
2861     #endif
2862     }
2863 
2864     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2865     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)2866     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2867       if (Qux != 0) {
2868         output.WriteRawTag(8);
2869         output.WriteInt32(Qux);
2870       }
2871       if (_unknownFields != null) {
2872         _unknownFields.WriteTo(ref output);
2873       }
2874     }
2875     #endif
2876 
2877     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()2878     public int CalculateSize() {
2879       int size = 0;
2880       if (Qux != 0) {
2881         size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qux);
2882       }
2883       if (_unknownFields != null) {
2884         size += _unknownFields.CalculateSize();
2885       }
2886       return size;
2887     }
2888 
2889     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(ComplexOptionType3 other)2890     public void MergeFrom(ComplexOptionType3 other) {
2891       if (other == null) {
2892         return;
2893       }
2894       if (other.Qux != 0) {
2895         Qux = other.Qux;
2896       }
2897       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2898     }
2899 
2900     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)2901     public void MergeFrom(pb::CodedInputStream input) {
2902     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2903       input.ReadRawMessage(this);
2904     #else
2905       uint tag;
2906       while ((tag = input.ReadTag()) != 0) {
2907         switch(tag) {
2908           default:
2909             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2910             break;
2911           case 8: {
2912             Qux = input.ReadInt32();
2913             break;
2914           }
2915         }
2916       }
2917     #endif
2918     }
2919 
2920     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2921     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)2922     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2923       uint tag;
2924       while ((tag = input.ReadTag()) != 0) {
2925         switch(tag) {
2926           default:
2927             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2928             break;
2929           case 8: {
2930             Qux = input.ReadInt32();
2931             break;
2932           }
2933         }
2934       }
2935     }
2936     #endif
2937 
2938   }
2939 
2940   /// <summary>
2941   /// Note that we try various different ways of naming the same extension.
2942   /// </summary>
2943   public sealed partial class VariousComplexOptions : pb::IMessage<VariousComplexOptions>
2944   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2945       , pb::IBufferMessage
2946   #endif
2947   {
2948     private static readonly pb::MessageParser<VariousComplexOptions> _parser = new pb::MessageParser<VariousComplexOptions>(() => new VariousComplexOptions());
2949     private pb::UnknownFieldSet _unknownFields;
2950     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2951     public static pb::MessageParser<VariousComplexOptions> Parser { get { return _parser; } }
2952 
2953     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2954     public static pbr::MessageDescriptor Descriptor {
2955       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[15]; }
2956     }
2957 
2958     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2959     pbr::MessageDescriptor pb::IMessage.Descriptor {
2960       get { return Descriptor; }
2961     }
2962 
2963     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
VariousComplexOptions()2964     public VariousComplexOptions() {
2965       OnConstruction();
2966     }
2967 
OnConstruction()2968     partial void OnConstruction();
2969 
2970     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
VariousComplexOptions(VariousComplexOptions other)2971     public VariousComplexOptions(VariousComplexOptions other) : this() {
2972       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2973     }
2974 
2975     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()2976     public VariousComplexOptions Clone() {
2977       return new VariousComplexOptions(this);
2978     }
2979 
2980     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)2981     public override bool Equals(object other) {
2982       return Equals(other as VariousComplexOptions);
2983     }
2984 
2985     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(VariousComplexOptions other)2986     public bool Equals(VariousComplexOptions other) {
2987       if (ReferenceEquals(other, null)) {
2988         return false;
2989       }
2990       if (ReferenceEquals(other, this)) {
2991         return true;
2992       }
2993       return Equals(_unknownFields, other._unknownFields);
2994     }
2995 
2996     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()2997     public override int GetHashCode() {
2998       int hash = 1;
2999       if (_unknownFields != null) {
3000         hash ^= _unknownFields.GetHashCode();
3001       }
3002       return hash;
3003     }
3004 
3005     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()3006     public override string ToString() {
3007       return pb::JsonFormatter.ToDiagnosticString(this);
3008     }
3009 
3010     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)3011     public void WriteTo(pb::CodedOutputStream output) {
3012     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3013       output.WriteRawMessage(this);
3014     #else
3015       if (_unknownFields != null) {
3016         _unknownFields.WriteTo(output);
3017       }
3018     #endif
3019     }
3020 
3021     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3022     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)3023     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3024       if (_unknownFields != null) {
3025         _unknownFields.WriteTo(ref output);
3026       }
3027     }
3028     #endif
3029 
3030     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()3031     public int CalculateSize() {
3032       int size = 0;
3033       if (_unknownFields != null) {
3034         size += _unknownFields.CalculateSize();
3035       }
3036       return size;
3037     }
3038 
3039     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(VariousComplexOptions other)3040     public void MergeFrom(VariousComplexOptions other) {
3041       if (other == null) {
3042         return;
3043       }
3044       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3045     }
3046 
3047     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)3048     public void MergeFrom(pb::CodedInputStream input) {
3049     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3050       input.ReadRawMessage(this);
3051     #else
3052       uint tag;
3053       while ((tag = input.ReadTag()) != 0) {
3054         switch(tag) {
3055           default:
3056             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3057             break;
3058         }
3059       }
3060     #endif
3061     }
3062 
3063     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3064     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)3065     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3066       uint tag;
3067       while ((tag = input.ReadTag()) != 0) {
3068         switch(tag) {
3069           default:
3070             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3071             break;
3072         }
3073       }
3074     }
3075     #endif
3076 
3077   }
3078 
3079   /// <summary>
3080   /// A helper type used to test aggregate option parsing
3081   /// </summary>
3082   public sealed partial class Aggregate : pb::IMessage<Aggregate>
3083   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3084       , pb::IBufferMessage
3085   #endif
3086   {
3087     private static readonly pb::MessageParser<Aggregate> _parser = new pb::MessageParser<Aggregate>(() => new Aggregate());
3088     private pb::UnknownFieldSet _unknownFields;
3089     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3090     public static pb::MessageParser<Aggregate> Parser { get { return _parser; } }
3091 
3092     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3093     public static pbr::MessageDescriptor Descriptor {
3094       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[16]; }
3095     }
3096 
3097     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3098     pbr::MessageDescriptor pb::IMessage.Descriptor {
3099       get { return Descriptor; }
3100     }
3101 
3102     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Aggregate()3103     public Aggregate() {
3104       OnConstruction();
3105     }
3106 
OnConstruction()3107     partial void OnConstruction();
3108 
3109     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Aggregate(Aggregate other)3110     public Aggregate(Aggregate other) : this() {
3111       i_ = other.i_;
3112       s_ = other.s_;
3113       sub_ = other.sub_ != null ? other.sub_.Clone() : null;
3114       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3115     }
3116 
3117     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()3118     public Aggregate Clone() {
3119       return new Aggregate(this);
3120     }
3121 
3122     /// <summary>Field number for the "i" field.</summary>
3123     public const int IFieldNumber = 1;
3124     private int i_;
3125     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3126     public int I {
3127       get { return i_; }
3128       set {
3129         i_ = value;
3130       }
3131     }
3132 
3133     /// <summary>Field number for the "s" field.</summary>
3134     public const int SFieldNumber = 2;
3135     private string s_ = "";
3136     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3137     public string S {
3138       get { return s_; }
3139       set {
3140         s_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
3141       }
3142     }
3143 
3144     /// <summary>Field number for the "sub" field.</summary>
3145     public const int SubFieldNumber = 3;
3146     private global::UnitTest.Issues.TestProtos.Aggregate sub_;
3147     /// <summary>
3148     /// A nested object
3149     /// </summary>
3150     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3151     public global::UnitTest.Issues.TestProtos.Aggregate Sub {
3152       get { return sub_; }
3153       set {
3154         sub_ = value;
3155       }
3156     }
3157 
3158     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)3159     public override bool Equals(object other) {
3160       return Equals(other as Aggregate);
3161     }
3162 
3163     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(Aggregate other)3164     public bool Equals(Aggregate other) {
3165       if (ReferenceEquals(other, null)) {
3166         return false;
3167       }
3168       if (ReferenceEquals(other, this)) {
3169         return true;
3170       }
3171       if (I != other.I) return false;
3172       if (S != other.S) return false;
3173       if (!object.Equals(Sub, other.Sub)) return false;
3174       return Equals(_unknownFields, other._unknownFields);
3175     }
3176 
3177     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()3178     public override int GetHashCode() {
3179       int hash = 1;
3180       if (I != 0) hash ^= I.GetHashCode();
3181       if (S.Length != 0) hash ^= S.GetHashCode();
3182       if (sub_ != null) hash ^= Sub.GetHashCode();
3183       if (_unknownFields != null) {
3184         hash ^= _unknownFields.GetHashCode();
3185       }
3186       return hash;
3187     }
3188 
3189     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()3190     public override string ToString() {
3191       return pb::JsonFormatter.ToDiagnosticString(this);
3192     }
3193 
3194     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)3195     public void WriteTo(pb::CodedOutputStream output) {
3196     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3197       output.WriteRawMessage(this);
3198     #else
3199       if (I != 0) {
3200         output.WriteRawTag(8);
3201         output.WriteInt32(I);
3202       }
3203       if (S.Length != 0) {
3204         output.WriteRawTag(18);
3205         output.WriteString(S);
3206       }
3207       if (sub_ != null) {
3208         output.WriteRawTag(26);
3209         output.WriteMessage(Sub);
3210       }
3211       if (_unknownFields != null) {
3212         _unknownFields.WriteTo(output);
3213       }
3214     #endif
3215     }
3216 
3217     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3218     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)3219     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3220       if (I != 0) {
3221         output.WriteRawTag(8);
3222         output.WriteInt32(I);
3223       }
3224       if (S.Length != 0) {
3225         output.WriteRawTag(18);
3226         output.WriteString(S);
3227       }
3228       if (sub_ != null) {
3229         output.WriteRawTag(26);
3230         output.WriteMessage(Sub);
3231       }
3232       if (_unknownFields != null) {
3233         _unknownFields.WriteTo(ref output);
3234       }
3235     }
3236     #endif
3237 
3238     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()3239     public int CalculateSize() {
3240       int size = 0;
3241       if (I != 0) {
3242         size += 1 + pb::CodedOutputStream.ComputeInt32Size(I);
3243       }
3244       if (S.Length != 0) {
3245         size += 1 + pb::CodedOutputStream.ComputeStringSize(S);
3246       }
3247       if (sub_ != null) {
3248         size += 1 + pb::CodedOutputStream.ComputeMessageSize(Sub);
3249       }
3250       if (_unknownFields != null) {
3251         size += _unknownFields.CalculateSize();
3252       }
3253       return size;
3254     }
3255 
3256     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(Aggregate other)3257     public void MergeFrom(Aggregate other) {
3258       if (other == null) {
3259         return;
3260       }
3261       if (other.I != 0) {
3262         I = other.I;
3263       }
3264       if (other.S.Length != 0) {
3265         S = other.S;
3266       }
3267       if (other.sub_ != null) {
3268         if (sub_ == null) {
3269           Sub = new global::UnitTest.Issues.TestProtos.Aggregate();
3270         }
3271         Sub.MergeFrom(other.Sub);
3272       }
3273       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3274     }
3275 
3276     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)3277     public void MergeFrom(pb::CodedInputStream input) {
3278     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3279       input.ReadRawMessage(this);
3280     #else
3281       uint tag;
3282       while ((tag = input.ReadTag()) != 0) {
3283         switch(tag) {
3284           default:
3285             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3286             break;
3287           case 8: {
3288             I = input.ReadInt32();
3289             break;
3290           }
3291           case 18: {
3292             S = input.ReadString();
3293             break;
3294           }
3295           case 26: {
3296             if (sub_ == null) {
3297               Sub = new global::UnitTest.Issues.TestProtos.Aggregate();
3298             }
3299             input.ReadMessage(Sub);
3300             break;
3301           }
3302         }
3303       }
3304     #endif
3305     }
3306 
3307     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3308     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)3309     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3310       uint tag;
3311       while ((tag = input.ReadTag()) != 0) {
3312         switch(tag) {
3313           default:
3314             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3315             break;
3316           case 8: {
3317             I = input.ReadInt32();
3318             break;
3319           }
3320           case 18: {
3321             S = input.ReadString();
3322             break;
3323           }
3324           case 26: {
3325             if (sub_ == null) {
3326               Sub = new global::UnitTest.Issues.TestProtos.Aggregate();
3327             }
3328             input.ReadMessage(Sub);
3329             break;
3330           }
3331         }
3332       }
3333     }
3334     #endif
3335 
3336   }
3337 
3338   public sealed partial class AggregateMessage : pb::IMessage<AggregateMessage>
3339   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3340       , pb::IBufferMessage
3341   #endif
3342   {
3343     private static readonly pb::MessageParser<AggregateMessage> _parser = new pb::MessageParser<AggregateMessage>(() => new AggregateMessage());
3344     private pb::UnknownFieldSet _unknownFields;
3345     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3346     public static pb::MessageParser<AggregateMessage> Parser { get { return _parser; } }
3347 
3348     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3349     public static pbr::MessageDescriptor Descriptor {
3350       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[17]; }
3351     }
3352 
3353     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3354     pbr::MessageDescriptor pb::IMessage.Descriptor {
3355       get { return Descriptor; }
3356     }
3357 
3358     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
AggregateMessage()3359     public AggregateMessage() {
3360       OnConstruction();
3361     }
3362 
OnConstruction()3363     partial void OnConstruction();
3364 
3365     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
AggregateMessage(AggregateMessage other)3366     public AggregateMessage(AggregateMessage other) : this() {
3367       fieldname_ = other.fieldname_;
3368       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3369     }
3370 
3371     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()3372     public AggregateMessage Clone() {
3373       return new AggregateMessage(this);
3374     }
3375 
3376     /// <summary>Field number for the "fieldname" field.</summary>
3377     public const int FieldnameFieldNumber = 1;
3378     private int fieldname_;
3379     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3380     public int Fieldname {
3381       get { return fieldname_; }
3382       set {
3383         fieldname_ = value;
3384       }
3385     }
3386 
3387     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)3388     public override bool Equals(object other) {
3389       return Equals(other as AggregateMessage);
3390     }
3391 
3392     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(AggregateMessage other)3393     public bool Equals(AggregateMessage other) {
3394       if (ReferenceEquals(other, null)) {
3395         return false;
3396       }
3397       if (ReferenceEquals(other, this)) {
3398         return true;
3399       }
3400       if (Fieldname != other.Fieldname) return false;
3401       return Equals(_unknownFields, other._unknownFields);
3402     }
3403 
3404     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()3405     public override int GetHashCode() {
3406       int hash = 1;
3407       if (Fieldname != 0) hash ^= Fieldname.GetHashCode();
3408       if (_unknownFields != null) {
3409         hash ^= _unknownFields.GetHashCode();
3410       }
3411       return hash;
3412     }
3413 
3414     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()3415     public override string ToString() {
3416       return pb::JsonFormatter.ToDiagnosticString(this);
3417     }
3418 
3419     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)3420     public void WriteTo(pb::CodedOutputStream output) {
3421     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3422       output.WriteRawMessage(this);
3423     #else
3424       if (Fieldname != 0) {
3425         output.WriteRawTag(8);
3426         output.WriteInt32(Fieldname);
3427       }
3428       if (_unknownFields != null) {
3429         _unknownFields.WriteTo(output);
3430       }
3431     #endif
3432     }
3433 
3434     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3435     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)3436     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3437       if (Fieldname != 0) {
3438         output.WriteRawTag(8);
3439         output.WriteInt32(Fieldname);
3440       }
3441       if (_unknownFields != null) {
3442         _unknownFields.WriteTo(ref output);
3443       }
3444     }
3445     #endif
3446 
3447     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()3448     public int CalculateSize() {
3449       int size = 0;
3450       if (Fieldname != 0) {
3451         size += 1 + pb::CodedOutputStream.ComputeInt32Size(Fieldname);
3452       }
3453       if (_unknownFields != null) {
3454         size += _unknownFields.CalculateSize();
3455       }
3456       return size;
3457     }
3458 
3459     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(AggregateMessage other)3460     public void MergeFrom(AggregateMessage other) {
3461       if (other == null) {
3462         return;
3463       }
3464       if (other.Fieldname != 0) {
3465         Fieldname = other.Fieldname;
3466       }
3467       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3468     }
3469 
3470     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)3471     public void MergeFrom(pb::CodedInputStream input) {
3472     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3473       input.ReadRawMessage(this);
3474     #else
3475       uint tag;
3476       while ((tag = input.ReadTag()) != 0) {
3477         switch(tag) {
3478           default:
3479             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3480             break;
3481           case 8: {
3482             Fieldname = input.ReadInt32();
3483             break;
3484           }
3485         }
3486       }
3487     #endif
3488     }
3489 
3490     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3491     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)3492     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3493       uint tag;
3494       while ((tag = input.ReadTag()) != 0) {
3495         switch(tag) {
3496           default:
3497             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3498             break;
3499           case 8: {
3500             Fieldname = input.ReadInt32();
3501             break;
3502           }
3503         }
3504       }
3505     }
3506     #endif
3507 
3508   }
3509 
3510   /// <summary>
3511   /// Test custom options for nested type.
3512   /// </summary>
3513   public sealed partial class NestedOptionType : pb::IMessage<NestedOptionType>
3514   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3515       , pb::IBufferMessage
3516   #endif
3517   {
3518     private static readonly pb::MessageParser<NestedOptionType> _parser = new pb::MessageParser<NestedOptionType>(() => new NestedOptionType());
3519     private pb::UnknownFieldSet _unknownFields;
3520     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3521     public static pb::MessageParser<NestedOptionType> Parser { get { return _parser; } }
3522 
3523     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3524     public static pbr::MessageDescriptor Descriptor {
3525       get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[18]; }
3526     }
3527 
3528     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3529     pbr::MessageDescriptor pb::IMessage.Descriptor {
3530       get { return Descriptor; }
3531     }
3532 
3533     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
NestedOptionType()3534     public NestedOptionType() {
3535       OnConstruction();
3536     }
3537 
OnConstruction()3538     partial void OnConstruction();
3539 
3540     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
NestedOptionType(NestedOptionType other)3541     public NestedOptionType(NestedOptionType other) : this() {
3542       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3543     }
3544 
3545     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()3546     public NestedOptionType Clone() {
3547       return new NestedOptionType(this);
3548     }
3549 
3550     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)3551     public override bool Equals(object other) {
3552       return Equals(other as NestedOptionType);
3553     }
3554 
3555     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(NestedOptionType other)3556     public bool Equals(NestedOptionType other) {
3557       if (ReferenceEquals(other, null)) {
3558         return false;
3559       }
3560       if (ReferenceEquals(other, this)) {
3561         return true;
3562       }
3563       return Equals(_unknownFields, other._unknownFields);
3564     }
3565 
3566     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()3567     public override int GetHashCode() {
3568       int hash = 1;
3569       if (_unknownFields != null) {
3570         hash ^= _unknownFields.GetHashCode();
3571       }
3572       return hash;
3573     }
3574 
3575     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()3576     public override string ToString() {
3577       return pb::JsonFormatter.ToDiagnosticString(this);
3578     }
3579 
3580     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)3581     public void WriteTo(pb::CodedOutputStream output) {
3582     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3583       output.WriteRawMessage(this);
3584     #else
3585       if (_unknownFields != null) {
3586         _unknownFields.WriteTo(output);
3587       }
3588     #endif
3589     }
3590 
3591     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3592     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)3593     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3594       if (_unknownFields != null) {
3595         _unknownFields.WriteTo(ref output);
3596       }
3597     }
3598     #endif
3599 
3600     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()3601     public int CalculateSize() {
3602       int size = 0;
3603       if (_unknownFields != null) {
3604         size += _unknownFields.CalculateSize();
3605       }
3606       return size;
3607     }
3608 
3609     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(NestedOptionType other)3610     public void MergeFrom(NestedOptionType other) {
3611       if (other == null) {
3612         return;
3613       }
3614       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3615     }
3616 
3617     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)3618     public void MergeFrom(pb::CodedInputStream input) {
3619     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3620       input.ReadRawMessage(this);
3621     #else
3622       uint tag;
3623       while ((tag = input.ReadTag()) != 0) {
3624         switch(tag) {
3625           default:
3626             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3627             break;
3628         }
3629       }
3630     #endif
3631     }
3632 
3633     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3634     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)3635     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3636       uint tag;
3637       while ((tag = input.ReadTag()) != 0) {
3638         switch(tag) {
3639           default:
3640             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3641             break;
3642         }
3643       }
3644     }
3645     #endif
3646 
3647     #region Nested types
3648     /// <summary>Container for nested types declared in the NestedOptionType message type.</summary>
3649     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3650     public static partial class Types {
3651       public enum NestedEnum {
3652         [pbr::OriginalName("UNSPECIFIED")] Unspecified = 0,
3653         [pbr::OriginalName("NESTED_ENUM_VALUE")] Value = 1,
3654       }
3655 
3656       public sealed partial class NestedMessage : pb::IMessage<NestedMessage>
3657       #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3658           , pb::IBufferMessage
3659       #endif
3660       {
3661         private static readonly pb::MessageParser<NestedMessage> _parser = new pb::MessageParser<NestedMessage>(() => new NestedMessage());
3662         private pb::UnknownFieldSet _unknownFields;
3663         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3664         public static pb::MessageParser<NestedMessage> Parser { get { return _parser; } }
3665 
3666         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3667         public static pbr::MessageDescriptor Descriptor {
3668           get { return global::UnitTest.Issues.TestProtos.NestedOptionType.Descriptor.NestedTypes[0]; }
3669         }
3670 
3671         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3672         pbr::MessageDescriptor pb::IMessage.Descriptor {
3673           get { return Descriptor; }
3674         }
3675 
3676         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
NestedMessage()3677         public NestedMessage() {
3678           OnConstruction();
3679         }
3680 
OnConstruction()3681         partial void OnConstruction();
3682 
3683         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
NestedMessage(NestedMessage other)3684         public NestedMessage(NestedMessage other) : this() {
3685           nestedField_ = other.nestedField_;
3686           _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3687         }
3688 
3689         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()3690         public NestedMessage Clone() {
3691           return new NestedMessage(this);
3692         }
3693 
3694         /// <summary>Field number for the "nested_field" field.</summary>
3695         public const int NestedFieldFieldNumber = 1;
3696         private int nestedField_;
3697         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3698         public int NestedField {
3699           get { return nestedField_; }
3700           set {
3701             nestedField_ = value;
3702           }
3703         }
3704 
3705         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)3706         public override bool Equals(object other) {
3707           return Equals(other as NestedMessage);
3708         }
3709 
3710         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(NestedMessage other)3711         public bool Equals(NestedMessage other) {
3712           if (ReferenceEquals(other, null)) {
3713             return false;
3714           }
3715           if (ReferenceEquals(other, this)) {
3716             return true;
3717           }
3718           if (NestedField != other.NestedField) return false;
3719           return Equals(_unknownFields, other._unknownFields);
3720         }
3721 
3722         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()3723         public override int GetHashCode() {
3724           int hash = 1;
3725           if (NestedField != 0) hash ^= NestedField.GetHashCode();
3726           if (_unknownFields != null) {
3727             hash ^= _unknownFields.GetHashCode();
3728           }
3729           return hash;
3730         }
3731 
3732         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()3733         public override string ToString() {
3734           return pb::JsonFormatter.ToDiagnosticString(this);
3735         }
3736 
3737         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)3738         public void WriteTo(pb::CodedOutputStream output) {
3739         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3740           output.WriteRawMessage(this);
3741         #else
3742           if (NestedField != 0) {
3743             output.WriteRawTag(8);
3744             output.WriteInt32(NestedField);
3745           }
3746           if (_unknownFields != null) {
3747             _unknownFields.WriteTo(output);
3748           }
3749         #endif
3750         }
3751 
3752         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3753         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalWriteTo(ref pb::WriteContext output)3754         void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3755           if (NestedField != 0) {
3756             output.WriteRawTag(8);
3757             output.WriteInt32(NestedField);
3758           }
3759           if (_unknownFields != null) {
3760             _unknownFields.WriteTo(ref output);
3761           }
3762         }
3763         #endif
3764 
3765         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()3766         public int CalculateSize() {
3767           int size = 0;
3768           if (NestedField != 0) {
3769             size += 1 + pb::CodedOutputStream.ComputeInt32Size(NestedField);
3770           }
3771           if (_unknownFields != null) {
3772             size += _unknownFields.CalculateSize();
3773           }
3774           return size;
3775         }
3776 
3777         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(NestedMessage other)3778         public void MergeFrom(NestedMessage other) {
3779           if (other == null) {
3780             return;
3781           }
3782           if (other.NestedField != 0) {
3783             NestedField = other.NestedField;
3784           }
3785           _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3786         }
3787 
3788         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)3789         public void MergeFrom(pb::CodedInputStream input) {
3790         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3791           input.ReadRawMessage(this);
3792         #else
3793           uint tag;
3794           while ((tag = input.ReadTag()) != 0) {
3795             switch(tag) {
3796               default:
3797                 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3798                 break;
3799               case 8: {
3800                 NestedField = input.ReadInt32();
3801                 break;
3802               }
3803             }
3804           }
3805         #endif
3806         }
3807 
3808         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3809         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)3810         void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3811           uint tag;
3812           while ((tag = input.ReadTag()) != 0) {
3813             switch(tag) {
3814               default:
3815                 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3816                 break;
3817               case 8: {
3818                 NestedField = input.ReadInt32();
3819                 break;
3820               }
3821             }
3822           }
3823         }
3824         #endif
3825 
3826       }
3827 
3828     }
3829     #endregion
3830 
3831   }
3832 
3833   #endregion
3834 
3835 }
3836 
3837 #endregion Designer generated code
3838