Free cookie consent management tool by TermsFeed Policy Generator

source: tags/3.3.2/HeuristicLab.ExtLibs/HeuristicLab.ProtobufCS/0.9.1/ProtobufCS/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs @ 13398

Last change on this file since 13398 was 4068, checked in by swagner, 14 years ago

Sorted usings and removed unused usings in entire solution (#1094)

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