• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Generated by the protocol buffer compiler.  DO NOT EDIT!
2 // source: google/protobuf/unittest_proto3.proto
3 #pragma warning disable 1591, 0612, 3021
4 #region Designer generated code
5 
6 using pb = global::Google.Protobuf;
7 using pbc = global::Google.Protobuf.Collections;
8 using pbr = global::Google.Protobuf.Reflection;
9 using scg = global::System.Collections.Generic;
10 namespace Google.Protobuf.TestProtos {
11 
12   /// <summary>Holder for reflection information generated from google/protobuf/unittest_proto3.proto</summary>
13   public static partial class UnittestProto3Reflection {
14 
15     #region Descriptor
16     /// <summary>File descriptor for google/protobuf/unittest_proto3.proto</summary>
17     public static pbr::FileDescriptor Descriptor {
18       get { return descriptor; }
19     }
20     private static pbr::FileDescriptor descriptor;
21 
UnittestProto3Reflection()22     static UnittestProto3Reflection() {
23       byte[] descriptorData = global::System.Convert.FromBase64String(
24           string.Concat(
25             "CiVnb29nbGUvcHJvdG9idWYvdW5pdHRlc3RfcHJvdG8zLnByb3RvEhFwcm90",
26             "b2J1Zl91bml0dGVzdBosZ29vZ2xlL3Byb3RvYnVmL3VuaXR0ZXN0X2ltcG9y",
27             "dF9wcm90bzMucHJvdG8i8A8KDFRlc3RBbGxUeXBlcxIUCgxzaW5nbGVfaW50",
28             "MzIYASABKAUSFAoMc2luZ2xlX2ludDY0GAIgASgDEhUKDXNpbmdsZV91aW50",
29             "MzIYAyABKA0SFQoNc2luZ2xlX3VpbnQ2NBgEIAEoBBIVCg1zaW5nbGVfc2lu",
30             "dDMyGAUgASgREhUKDXNpbmdsZV9zaW50NjQYBiABKBISFgoOc2luZ2xlX2Zp",
31             "eGVkMzIYByABKAcSFgoOc2luZ2xlX2ZpeGVkNjQYCCABKAYSFwoPc2luZ2xl",
32             "X3NmaXhlZDMyGAkgASgPEhcKD3NpbmdsZV9zZml4ZWQ2NBgKIAEoEBIUCgxz",
33             "aW5nbGVfZmxvYXQYCyABKAISFQoNc2luZ2xlX2RvdWJsZRgMIAEoARITCgtz",
34             "aW5nbGVfYm9vbBgNIAEoCBIVCg1zaW5nbGVfc3RyaW5nGA4gASgJEhQKDHNp",
35             "bmdsZV9ieXRlcxgPIAEoDBJMChVzaW5nbGVfbmVzdGVkX21lc3NhZ2UYEiAB",
36             "KAsyLS5wcm90b2J1Zl91bml0dGVzdC5UZXN0QWxsVHlwZXMuTmVzdGVkTWVz",
37             "c2FnZRJBChZzaW5nbGVfZm9yZWlnbl9tZXNzYWdlGBMgASgLMiEucHJvdG9i",
38             "dWZfdW5pdHRlc3QuRm9yZWlnbk1lc3NhZ2USRgoVc2luZ2xlX2ltcG9ydF9t",
39             "ZXNzYWdlGBQgASgLMicucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0LkltcG9y",
40             "dE1lc3NhZ2USRgoSc2luZ2xlX25lc3RlZF9lbnVtGBUgASgOMioucHJvdG9i",
41             "dWZfdW5pdHRlc3QuVGVzdEFsbFR5cGVzLk5lc3RlZEVudW0SOwoTc2luZ2xl",
42             "X2ZvcmVpZ25fZW51bRgWIAEoDjIeLnByb3RvYnVmX3VuaXR0ZXN0LkZvcmVp",
43             "Z25FbnVtEkAKEnNpbmdsZV9pbXBvcnRfZW51bRgXIAEoDjIkLnByb3RvYnVm",
44             "X3VuaXR0ZXN0X2ltcG9ydC5JbXBvcnRFbnVtElMKHHNpbmdsZV9wdWJsaWNf",
45             "aW1wb3J0X21lc3NhZ2UYGiABKAsyLS5wcm90b2J1Zl91bml0dGVzdF9pbXBv",
46             "cnQuUHVibGljSW1wb3J0TWVzc2FnZRIWCg5yZXBlYXRlZF9pbnQzMhgfIAMo",
47             "BRIWCg5yZXBlYXRlZF9pbnQ2NBggIAMoAxIXCg9yZXBlYXRlZF91aW50MzIY",
48             "ISADKA0SFwoPcmVwZWF0ZWRfdWludDY0GCIgAygEEhcKD3JlcGVhdGVkX3Np",
49             "bnQzMhgjIAMoERIXCg9yZXBlYXRlZF9zaW50NjQYJCADKBISGAoQcmVwZWF0",
50             "ZWRfZml4ZWQzMhglIAMoBxIYChByZXBlYXRlZF9maXhlZDY0GCYgAygGEhkK",
51             "EXJlcGVhdGVkX3NmaXhlZDMyGCcgAygPEhkKEXJlcGVhdGVkX3NmaXhlZDY0",
52             "GCggAygQEhYKDnJlcGVhdGVkX2Zsb2F0GCkgAygCEhcKD3JlcGVhdGVkX2Rv",
53             "dWJsZRgqIAMoARIVCg1yZXBlYXRlZF9ib29sGCsgAygIEhcKD3JlcGVhdGVk",
54             "X3N0cmluZxgsIAMoCRIWCg5yZXBlYXRlZF9ieXRlcxgtIAMoDBJOChdyZXBl",
55             "YXRlZF9uZXN0ZWRfbWVzc2FnZRgwIAMoCzItLnByb3RvYnVmX3VuaXR0ZXN0",
56             "LlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlEkMKGHJlcGVhdGVkX2ZvcmVp",
57             "Z25fbWVzc2FnZRgxIAMoCzIhLnByb3RvYnVmX3VuaXR0ZXN0LkZvcmVpZ25N",
58             "ZXNzYWdlEkgKF3JlcGVhdGVkX2ltcG9ydF9tZXNzYWdlGDIgAygLMicucHJv",
59             "dG9idWZfdW5pdHRlc3RfaW1wb3J0LkltcG9ydE1lc3NhZ2USSAoUcmVwZWF0",
60             "ZWRfbmVzdGVkX2VudW0YMyADKA4yKi5wcm90b2J1Zl91bml0dGVzdC5UZXN0",
61             "QWxsVHlwZXMuTmVzdGVkRW51bRI9ChVyZXBlYXRlZF9mb3JlaWduX2VudW0Y",
62             "NCADKA4yHi5wcm90b2J1Zl91bml0dGVzdC5Gb3JlaWduRW51bRJCChRyZXBl",
63             "YXRlZF9pbXBvcnRfZW51bRg1IAMoDjIkLnByb3RvYnVmX3VuaXR0ZXN0X2lt",
64             "cG9ydC5JbXBvcnRFbnVtElUKHnJlcGVhdGVkX3B1YmxpY19pbXBvcnRfbWVz",
65             "c2FnZRg2IAMoCzItLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydC5QdWJsaWNJ",
66             "bXBvcnRNZXNzYWdlEhYKDG9uZW9mX3VpbnQzMhhvIAEoDUgAEk0KFG9uZW9m",
67             "X25lc3RlZF9tZXNzYWdlGHAgASgLMi0ucHJvdG9idWZfdW5pdHRlc3QuVGVz",
68             "dEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VIABIWCgxvbmVvZl9zdHJpbmcYcSAB",
69             "KAlIABIVCgtvbmVvZl9ieXRlcxhyIAEoDEgAGhsKDU5lc3RlZE1lc3NhZ2US",
70             "CgoCYmIYASABKAUiVgoKTmVzdGVkRW51bRIbChdORVNURURfRU5VTV9VTlNQ",
71             "RUNJRklFRBAAEgcKA0ZPTxABEgcKA0JBUhACEgcKA0JBWhADEhAKA05FRxD/",
72             "//////////8BQg0KC29uZW9mX2ZpZWxkIrsBChJOZXN0ZWRUZXN0QWxsVHlw",
73             "ZXMSNAoFY2hpbGQYASABKAsyJS5wcm90b2J1Zl91bml0dGVzdC5OZXN0ZWRU",
74             "ZXN0QWxsVHlwZXMSMAoHcGF5bG9hZBgCIAEoCzIfLnByb3RvYnVmX3VuaXR0",
75             "ZXN0LlRlc3RBbGxUeXBlcxI9Cg5yZXBlYXRlZF9jaGlsZBgDIAMoCzIlLnBy",
76             "b3RvYnVmX3VuaXR0ZXN0Lk5lc3RlZFRlc3RBbGxUeXBlcyI0ChRUZXN0RGVw",
77             "cmVjYXRlZEZpZWxkcxIcChBkZXByZWNhdGVkX2ludDMyGAEgASgFQgIYASIb",
78             "Cg5Gb3JlaWduTWVzc2FnZRIJCgFjGAEgASgFIjAKElRlc3RSZXNlcnZlZEZp",
79             "ZWxkc0oECAIQA0oECA8QEEoECAkQDFIDYmFyUgNiYXoiWgoRVGVzdEZvcmVp",
80             "Z25OZXN0ZWQSRQoOZm9yZWlnbl9uZXN0ZWQYASABKAsyLS5wcm90b2J1Zl91",
81             "bml0dGVzdC5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZSI0ChhUZXN0UmVh",
82             "bGx5TGFyZ2VUYWdOdW1iZXISCQoBYRgBIAEoBRINCgJiYhj///9/IAEoBSJV",
83             "ChRUZXN0UmVjdXJzaXZlTWVzc2FnZRIyCgFhGAEgASgLMicucHJvdG9idWZf",
84             "dW5pdHRlc3QuVGVzdFJlY3Vyc2l2ZU1lc3NhZ2USCQoBaRgCIAEoBSJLChRU",
85             "ZXN0TXV0dWFsUmVjdXJzaW9uQRIzCgJiYhgBIAEoCzInLnByb3RvYnVmX3Vu",
86             "aXR0ZXN0LlRlc3RNdXR1YWxSZWN1cnNpb25CImIKFFRlc3RNdXR1YWxSZWN1",
87             "cnNpb25CEjIKAWEYASABKAsyJy5wcm90b2J1Zl91bml0dGVzdC5UZXN0TXV0",
88             "dWFsUmVjdXJzaW9uQRIWCg5vcHRpb25hbF9pbnQzMhgCIAEoBSLrAgoXVGVz",
89             "dENhbWVsQ2FzZUZpZWxkTmFtZXMSFgoOUHJpbWl0aXZlRmllbGQYASABKAUS",
90             "EwoLU3RyaW5nRmllbGQYAiABKAkSMQoJRW51bUZpZWxkGAMgASgOMh4ucHJv",
91             "dG9idWZfdW5pdHRlc3QuRm9yZWlnbkVudW0SNwoMTWVzc2FnZUZpZWxkGAQg",
92             "ASgLMiEucHJvdG9idWZfdW5pdHRlc3QuRm9yZWlnbk1lc3NhZ2USHgoWUmVw",
93             "ZWF0ZWRQcmltaXRpdmVGaWVsZBgHIAMoBRIbChNSZXBlYXRlZFN0cmluZ0Zp",
94             "ZWxkGAggAygJEjkKEVJlcGVhdGVkRW51bUZpZWxkGAkgAygOMh4ucHJvdG9i",
95             "dWZfdW5pdHRlc3QuRm9yZWlnbkVudW0SPwoUUmVwZWF0ZWRNZXNzYWdlRmll",
96             "bGQYCiADKAsyIS5wcm90b2J1Zl91bml0dGVzdC5Gb3JlaWduTWVzc2FnZSLH",
97             "AQoSVGVzdEZpZWxkT3JkZXJpbmdzEhEKCW15X3N0cmluZxgLIAEoCRIOCgZt",
98             "eV9pbnQYASABKAMSEAoIbXlfZmxvYXQYZSABKAISUwoVc2luZ2xlX25lc3Rl",
99             "ZF9tZXNzYWdlGMgBIAEoCzIzLnByb3RvYnVmX3VuaXR0ZXN0LlRlc3RGaWVs",
100             "ZE9yZGVyaW5ncy5OZXN0ZWRNZXNzYWdlGicKDU5lc3RlZE1lc3NhZ2USCgoC",
101             "b28YAiABKAMSCgoCYmIYASABKAUiSwoRU3BhcnNlRW51bU1lc3NhZ2USNgoL",
102             "c3BhcnNlX2VudW0YASABKA4yIS5wcm90b2J1Zl91bml0dGVzdC5UZXN0U3Bh",
103             "cnNlRW51bSIZCglPbmVTdHJpbmcSDAoEZGF0YRgBIAEoCSIaCgpNb3JlU3Ry",
104             "aW5nEgwKBGRhdGEYASADKAkiGAoIT25lQnl0ZXMSDAoEZGF0YRgBIAEoDCIZ",
105             "CglNb3JlQnl0ZXMSDAoEZGF0YRgBIAEoDCIcCgxJbnQzMk1lc3NhZ2USDAoE",
106             "ZGF0YRgBIAEoBSIdCg1VaW50MzJNZXNzYWdlEgwKBGRhdGEYASABKA0iHAoM",
107             "SW50NjRNZXNzYWdlEgwKBGRhdGEYASABKAMiHQoNVWludDY0TWVzc2FnZRIM",
108             "CgRkYXRhGAEgASgEIhsKC0Jvb2xNZXNzYWdlEgwKBGRhdGEYASABKAgicwoJ",
109             "VGVzdE9uZW9mEhEKB2Zvb19pbnQYASABKAVIABIUCgpmb29fc3RyaW5nGAIg",
110             "ASgJSAASNgoLZm9vX21lc3NhZ2UYAyABKAsyHy5wcm90b2J1Zl91bml0dGVz",
111             "dC5UZXN0QWxsVHlwZXNIAEIFCgNmb28iqgMKD1Rlc3RQYWNrZWRUeXBlcxIY",
112             "CgxwYWNrZWRfaW50MzIYWiADKAVCAhABEhgKDHBhY2tlZF9pbnQ2NBhbIAMo",
113             "A0ICEAESGQoNcGFja2VkX3VpbnQzMhhcIAMoDUICEAESGQoNcGFja2VkX3Vp",
114             "bnQ2NBhdIAMoBEICEAESGQoNcGFja2VkX3NpbnQzMhheIAMoEUICEAESGQoN",
115             "cGFja2VkX3NpbnQ2NBhfIAMoEkICEAESGgoOcGFja2VkX2ZpeGVkMzIYYCAD",
116             "KAdCAhABEhoKDnBhY2tlZF9maXhlZDY0GGEgAygGQgIQARIbCg9wYWNrZWRf",
117             "c2ZpeGVkMzIYYiADKA9CAhABEhsKD3BhY2tlZF9zZml4ZWQ2NBhjIAMoEEIC",
118             "EAESGAoMcGFja2VkX2Zsb2F0GGQgAygCQgIQARIZCg1wYWNrZWRfZG91Ymxl",
119             "GGUgAygBQgIQARIXCgtwYWNrZWRfYm9vbBhmIAMoCEICEAESNwoLcGFja2Vk",
120             "X2VudW0YZyADKA4yHi5wcm90b2J1Zl91bml0dGVzdC5Gb3JlaWduRW51bUIC",
121             "EAEiyAMKEVRlc3RVbnBhY2tlZFR5cGVzEhoKDnVucGFja2VkX2ludDMyGFog",
122             "AygFQgIQABIaCg51bnBhY2tlZF9pbnQ2NBhbIAMoA0ICEAASGwoPdW5wYWNr",
123             "ZWRfdWludDMyGFwgAygNQgIQABIbCg91bnBhY2tlZF91aW50NjQYXSADKARC",
124             "AhAAEhsKD3VucGFja2VkX3NpbnQzMhheIAMoEUICEAASGwoPdW5wYWNrZWRf",
125             "c2ludDY0GF8gAygSQgIQABIcChB1bnBhY2tlZF9maXhlZDMyGGAgAygHQgIQ",
126             "ABIcChB1bnBhY2tlZF9maXhlZDY0GGEgAygGQgIQABIdChF1bnBhY2tlZF9z",
127             "Zml4ZWQzMhhiIAMoD0ICEAASHQoRdW5wYWNrZWRfc2ZpeGVkNjQYYyADKBBC",
128             "AhAAEhoKDnVucGFja2VkX2Zsb2F0GGQgAygCQgIQABIbCg91bnBhY2tlZF9k",
129             "b3VibGUYZSADKAFCAhAAEhkKDXVucGFja2VkX2Jvb2wYZiADKAhCAhAAEjkK",
130             "DXVucGFja2VkX2VudW0YZyADKA4yHi5wcm90b2J1Zl91bml0dGVzdC5Gb3Jl",
131             "aWduRW51bUICEAAiwAEKI1Rlc3RSZXBlYXRlZFNjYWxhckRpZmZlcmVudFRh",
132             "Z1NpemVzEhgKEHJlcGVhdGVkX2ZpeGVkMzIYDCADKAcSFgoOcmVwZWF0ZWRf",
133             "aW50MzIYDSADKAUSGQoQcmVwZWF0ZWRfZml4ZWQ2NBj+DyADKAYSFwoOcmVw",
134             "ZWF0ZWRfaW50NjQY/w8gAygDEhgKDnJlcGVhdGVkX2Zsb2F0GP7/DyADKAIS",
135             "GQoPcmVwZWF0ZWRfdWludDY0GP//DyADKAQiKAobVGVzdENvbW1lbnRJbmpl",
136             "Y3Rpb25NZXNzYWdlEgkKAWEYASABKAkiDAoKRm9vUmVxdWVzdCINCgtGb29S",
137             "ZXNwb25zZSISChBGb29DbGllbnRNZXNzYWdlIhIKEEZvb1NlcnZlck1lc3Nh",
138             "Z2UiDAoKQmFyUmVxdWVzdCINCgtCYXJSZXNwb25zZSpZCgtGb3JlaWduRW51",
139             "bRIXChNGT1JFSUdOX1VOU1BFQ0lGSUVEEAASDwoLRk9SRUlHTl9GT08QBBIP",
140             "CgtGT1JFSUdOX0JBUhAFEg8KC0ZPUkVJR05fQkFaEAYqdQoUVGVzdEVudW1X",
141             "aXRoRHVwVmFsdWUSKAokVEVTVF9FTlVNX1dJVEhfRFVQX1ZBTFVFX1VOU1BF",
142             "Q0lGSUVEEAASCAoERk9PMRABEggKBEJBUjEQAhIHCgNCQVoQAxIICgRGT08y",
143             "EAESCAoEQkFSMhACGgIQASqdAQoOVGVzdFNwYXJzZUVudW0SIAocVEVTVF9T",
144             "UEFSU0VfRU5VTV9VTlNQRUNJRklFRBAAEgwKCFNQQVJTRV9BEHsSDgoIU1BB",
145             "UlNFX0IQpucDEg8KCFNQQVJTRV9DELKxgAYSFQoIU1BBUlNFX0QQ8f//////",
146             "////ARIVCghTUEFSU0VfRRC03vz///////8BEgwKCFNQQVJTRV9HEAIymQEK",
147             "C1Rlc3RTZXJ2aWNlEkQKA0ZvbxIdLnByb3RvYnVmX3VuaXR0ZXN0LkZvb1Jl",
148             "cXVlc3QaHi5wcm90b2J1Zl91bml0dGVzdC5Gb29SZXNwb25zZRJECgNCYXIS",
149             "HS5wcm90b2J1Zl91bml0dGVzdC5CYXJSZXF1ZXN0Gh4ucHJvdG9idWZfdW5p",
150             "dHRlc3QuQmFyUmVzcG9uc2VCOkINVW5pdHRlc3RQcm90b0gBgAEBiAEBkAEB",
151             "+AEBqgIaR29vZ2xlLlByb3RvYnVmLlRlc3RQcm90b3NiBnByb3RvMw=="));
152       descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
153           new pbr::FileDescriptor[] { global::Google.Protobuf.TestProtos.UnittestImportProto3Reflection.Descriptor, },
154           new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Google.Protobuf.TestProtos.ForeignEnum), typeof(global::Google.Protobuf.TestProtos.TestEnumWithDupValue), typeof(global::Google.Protobuf.TestProtos.TestSparseEnum), }, new pbr::GeneratedClrTypeInfo[] {
155             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestAllTypes), global::Google.Protobuf.TestProtos.TestAllTypes.Parser, new[]{ "SingleInt32", "SingleInt64", "SingleUint32", "SingleUint64", "SingleSint32", "SingleSint64", "SingleFixed32", "SingleFixed64", "SingleSfixed32", "SingleSfixed64", "SingleFloat", "SingleDouble", "SingleBool", "SingleString", "SingleBytes", "SingleNestedMessage", "SingleForeignMessage", "SingleImportMessage", "SingleNestedEnum", "SingleForeignEnum", "SingleImportEnum", "SinglePublicImportMessage", "RepeatedInt32", "RepeatedInt64", "RepeatedUint32", "RepeatedUint64", "RepeatedSint32", "RepeatedSint64", "RepeatedFixed32", "RepeatedFixed64", "RepeatedSfixed32", "RepeatedSfixed64", "RepeatedFloat", "RepeatedDouble", "RepeatedBool", "RepeatedString", "RepeatedBytes", "RepeatedNestedMessage", "RepeatedForeignMessage", "RepeatedImportMessage", "RepeatedNestedEnum", "RepeatedForeignEnum", "RepeatedImportEnum", "RepeatedPublicImportMessage", "OneofUint32", "OneofNestedMessage", "OneofString", "OneofBytes" }, new[]{ "OneofField" }, new[]{ typeof(global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum) }, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage), global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage.Parser, new[]{ "Bb" }, null, null, null)}),
156             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.NestedTestAllTypes), global::Google.Protobuf.TestProtos.NestedTestAllTypes.Parser, new[]{ "Child", "Payload", "RepeatedChild" }, null, null, null),
157             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestDeprecatedFields), global::Google.Protobuf.TestProtos.TestDeprecatedFields.Parser, new[]{ "DeprecatedInt32" }, null, null, null),
158             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.ForeignMessage), global::Google.Protobuf.TestProtos.ForeignMessage.Parser, new[]{ "C" }, null, null, null),
159             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestReservedFields), global::Google.Protobuf.TestProtos.TestReservedFields.Parser, null, null, null, null),
160             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestForeignNested), global::Google.Protobuf.TestProtos.TestForeignNested.Parser, new[]{ "ForeignNested" }, null, null, null),
161             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestReallyLargeTagNumber), global::Google.Protobuf.TestProtos.TestReallyLargeTagNumber.Parser, new[]{ "A", "Bb" }, null, null, null),
162             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestRecursiveMessage), global::Google.Protobuf.TestProtos.TestRecursiveMessage.Parser, new[]{ "A", "I" }, null, null, null),
163             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestMutualRecursionA), global::Google.Protobuf.TestProtos.TestMutualRecursionA.Parser, new[]{ "Bb" }, null, null, null),
164             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestMutualRecursionB), global::Google.Protobuf.TestProtos.TestMutualRecursionB.Parser, new[]{ "A", "OptionalInt32" }, null, null, null),
165             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestCamelCaseFieldNames), global::Google.Protobuf.TestProtos.TestCamelCaseFieldNames.Parser, new[]{ "PrimitiveField", "StringField", "EnumField", "MessageField", "RepeatedPrimitiveField", "RepeatedStringField", "RepeatedEnumField", "RepeatedMessageField" }, null, null, null),
166             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestFieldOrderings), global::Google.Protobuf.TestProtos.TestFieldOrderings.Parser, new[]{ "MyString", "MyInt", "MyFloat", "SingleNestedMessage" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestFieldOrderings.Types.NestedMessage), global::Google.Protobuf.TestProtos.TestFieldOrderings.Types.NestedMessage.Parser, new[]{ "Oo", "Bb" }, null, null, null)}),
167             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.SparseEnumMessage), global::Google.Protobuf.TestProtos.SparseEnumMessage.Parser, new[]{ "SparseEnum" }, null, null, null),
168             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.OneString), global::Google.Protobuf.TestProtos.OneString.Parser, new[]{ "Data" }, null, null, null),
169             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.MoreString), global::Google.Protobuf.TestProtos.MoreString.Parser, new[]{ "Data" }, null, null, null),
170             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.OneBytes), global::Google.Protobuf.TestProtos.OneBytes.Parser, new[]{ "Data" }, null, null, null),
171             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.MoreBytes), global::Google.Protobuf.TestProtos.MoreBytes.Parser, new[]{ "Data" }, null, null, null),
172             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.Int32Message), global::Google.Protobuf.TestProtos.Int32Message.Parser, new[]{ "Data" }, null, null, null),
173             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.Uint32Message), global::Google.Protobuf.TestProtos.Uint32Message.Parser, new[]{ "Data" }, null, null, null),
174             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.Int64Message), global::Google.Protobuf.TestProtos.Int64Message.Parser, new[]{ "Data" }, null, null, null),
175             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.Uint64Message), global::Google.Protobuf.TestProtos.Uint64Message.Parser, new[]{ "Data" }, null, null, null),
176             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.BoolMessage), global::Google.Protobuf.TestProtos.BoolMessage.Parser, new[]{ "Data" }, null, null, null),
177             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestOneof), global::Google.Protobuf.TestProtos.TestOneof.Parser, new[]{ "FooInt", "FooString", "FooMessage" }, new[]{ "Foo" }, null, null),
178             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestPackedTypes), global::Google.Protobuf.TestProtos.TestPackedTypes.Parser, new[]{ "PackedInt32", "PackedInt64", "PackedUint32", "PackedUint64", "PackedSint32", "PackedSint64", "PackedFixed32", "PackedFixed64", "PackedSfixed32", "PackedSfixed64", "PackedFloat", "PackedDouble", "PackedBool", "PackedEnum" }, null, null, null),
179             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestUnpackedTypes), global::Google.Protobuf.TestProtos.TestUnpackedTypes.Parser, new[]{ "UnpackedInt32", "UnpackedInt64", "UnpackedUint32", "UnpackedUint64", "UnpackedSint32", "UnpackedSint64", "UnpackedFixed32", "UnpackedFixed64", "UnpackedSfixed32", "UnpackedSfixed64", "UnpackedFloat", "UnpackedDouble", "UnpackedBool", "UnpackedEnum" }, null, null, null),
180             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestRepeatedScalarDifferentTagSizes), global::Google.Protobuf.TestProtos.TestRepeatedScalarDifferentTagSizes.Parser, new[]{ "RepeatedFixed32", "RepeatedInt32", "RepeatedFixed64", "RepeatedInt64", "RepeatedFloat", "RepeatedUint64" }, null, null, null),
181             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.TestCommentInjectionMessage), global::Google.Protobuf.TestProtos.TestCommentInjectionMessage.Parser, new[]{ "A" }, null, null, null),
182             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.FooRequest), global::Google.Protobuf.TestProtos.FooRequest.Parser, null, null, null, null),
183             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.FooResponse), global::Google.Protobuf.TestProtos.FooResponse.Parser, null, null, null, null),
184             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.FooClientMessage), global::Google.Protobuf.TestProtos.FooClientMessage.Parser, null, null, null, null),
185             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.FooServerMessage), global::Google.Protobuf.TestProtos.FooServerMessage.Parser, null, null, null, null),
186             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.BarRequest), global::Google.Protobuf.TestProtos.BarRequest.Parser, null, null, null, null),
187             new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.TestProtos.BarResponse), global::Google.Protobuf.TestProtos.BarResponse.Parser, null, null, null, null)
188           }));
189     }
190     #endregion
191 
192   }
193   #region Enums
194   public enum ForeignEnum {
195     [pbr::OriginalName("FOREIGN_UNSPECIFIED")] ForeignUnspecified = 0,
196     [pbr::OriginalName("FOREIGN_FOO")] ForeignFoo = 4,
197     [pbr::OriginalName("FOREIGN_BAR")] ForeignBar = 5,
198     [pbr::OriginalName("FOREIGN_BAZ")] ForeignBaz = 6,
199   }
200 
201   /// <summary>
202   ///  Test an enum that has multiple values with the same number.
203   /// </summary>
204   public enum TestEnumWithDupValue {
205     [pbr::OriginalName("TEST_ENUM_WITH_DUP_VALUE_UNSPECIFIED")] Unspecified = 0,
206     [pbr::OriginalName("FOO1")] Foo1 = 1,
207     [pbr::OriginalName("BAR1")] Bar1 = 2,
208     [pbr::OriginalName("BAZ")] Baz = 3,
209     [pbr::OriginalName("FOO2")] Foo2 = 1,
210     [pbr::OriginalName("BAR2")] Bar2 = 2,
211   }
212 
213   /// <summary>
214   ///  Test an enum with large, unordered values.
215   /// </summary>
216   public enum TestSparseEnum {
217     [pbr::OriginalName("TEST_SPARSE_ENUM_UNSPECIFIED")] Unspecified = 0,
218     [pbr::OriginalName("SPARSE_A")] SparseA = 123,
219     [pbr::OriginalName("SPARSE_B")] SparseB = 62374,
220     [pbr::OriginalName("SPARSE_C")] SparseC = 12589234,
221     [pbr::OriginalName("SPARSE_D")] SparseD = -15,
222     [pbr::OriginalName("SPARSE_E")] SparseE = -53452,
223     /// <summary>
224     ///  In proto3, value 0 must be the first one specified
225     ///  SPARSE_F = 0;
226     /// </summary>
227     [pbr::OriginalName("SPARSE_G")] SparseG = 2,
228   }
229 
230   #endregion
231 
232   #region Messages
233   /// <summary>
234   ///  This proto includes every type of field in both singular and repeated
235   ///  forms.
236   /// </summary>
237   public sealed partial class TestAllTypes : pb::IMessage<TestAllTypes> {
238     private static readonly pb::MessageParser<TestAllTypes> _parser = new pb::MessageParser<TestAllTypes>(() => new TestAllTypes());
239     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
240     public static pb::MessageParser<TestAllTypes> Parser { get { return _parser; } }
241 
242     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
243     public static pbr::MessageDescriptor Descriptor {
244       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[0]; }
245     }
246 
247     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
248     pbr::MessageDescriptor pb::IMessage.Descriptor {
249       get { return Descriptor; }
250     }
251 
252     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestAllTypes()253     public TestAllTypes() {
254       OnConstruction();
255     }
256 
OnConstruction()257     partial void OnConstruction();
258 
259     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestAllTypes(TestAllTypes other)260     public TestAllTypes(TestAllTypes other) : this() {
261       singleInt32_ = other.singleInt32_;
262       singleInt64_ = other.singleInt64_;
263       singleUint32_ = other.singleUint32_;
264       singleUint64_ = other.singleUint64_;
265       singleSint32_ = other.singleSint32_;
266       singleSint64_ = other.singleSint64_;
267       singleFixed32_ = other.singleFixed32_;
268       singleFixed64_ = other.singleFixed64_;
269       singleSfixed32_ = other.singleSfixed32_;
270       singleSfixed64_ = other.singleSfixed64_;
271       singleFloat_ = other.singleFloat_;
272       singleDouble_ = other.singleDouble_;
273       singleBool_ = other.singleBool_;
274       singleString_ = other.singleString_;
275       singleBytes_ = other.singleBytes_;
276       SingleNestedMessage = other.singleNestedMessage_ != null ? other.SingleNestedMessage.Clone() : null;
277       SingleForeignMessage = other.singleForeignMessage_ != null ? other.SingleForeignMessage.Clone() : null;
278       SingleImportMessage = other.singleImportMessage_ != null ? other.SingleImportMessage.Clone() : null;
279       singleNestedEnum_ = other.singleNestedEnum_;
280       singleForeignEnum_ = other.singleForeignEnum_;
281       singleImportEnum_ = other.singleImportEnum_;
282       SinglePublicImportMessage = other.singlePublicImportMessage_ != null ? other.SinglePublicImportMessage.Clone() : null;
283       repeatedInt32_ = other.repeatedInt32_.Clone();
284       repeatedInt64_ = other.repeatedInt64_.Clone();
285       repeatedUint32_ = other.repeatedUint32_.Clone();
286       repeatedUint64_ = other.repeatedUint64_.Clone();
287       repeatedSint32_ = other.repeatedSint32_.Clone();
288       repeatedSint64_ = other.repeatedSint64_.Clone();
289       repeatedFixed32_ = other.repeatedFixed32_.Clone();
290       repeatedFixed64_ = other.repeatedFixed64_.Clone();
291       repeatedSfixed32_ = other.repeatedSfixed32_.Clone();
292       repeatedSfixed64_ = other.repeatedSfixed64_.Clone();
293       repeatedFloat_ = other.repeatedFloat_.Clone();
294       repeatedDouble_ = other.repeatedDouble_.Clone();
295       repeatedBool_ = other.repeatedBool_.Clone();
296       repeatedString_ = other.repeatedString_.Clone();
297       repeatedBytes_ = other.repeatedBytes_.Clone();
298       repeatedNestedMessage_ = other.repeatedNestedMessage_.Clone();
299       repeatedForeignMessage_ = other.repeatedForeignMessage_.Clone();
300       repeatedImportMessage_ = other.repeatedImportMessage_.Clone();
301       repeatedNestedEnum_ = other.repeatedNestedEnum_.Clone();
302       repeatedForeignEnum_ = other.repeatedForeignEnum_.Clone();
303       repeatedImportEnum_ = other.repeatedImportEnum_.Clone();
304       repeatedPublicImportMessage_ = other.repeatedPublicImportMessage_.Clone();
305       switch (other.OneofFieldCase) {
306         case OneofFieldOneofCase.OneofUint32:
307           OneofUint32 = other.OneofUint32;
308           break;
309         case OneofFieldOneofCase.OneofNestedMessage:
310           OneofNestedMessage = other.OneofNestedMessage.Clone();
311           break;
312         case OneofFieldOneofCase.OneofString:
313           OneofString = other.OneofString;
314           break;
315         case OneofFieldOneofCase.OneofBytes:
316           OneofBytes = other.OneofBytes;
317           break;
318       }
319 
320     }
321 
322     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()323     public TestAllTypes Clone() {
324       return new TestAllTypes(this);
325     }
326 
327     /// <summary>Field number for the "single_int32" field.</summary>
328     public const int SingleInt32FieldNumber = 1;
329     private int singleInt32_;
330     /// <summary>
331     ///  Singular
332     /// </summary>
333     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
334     public int SingleInt32 {
335       get { return singleInt32_; }
336       set {
337         singleInt32_ = value;
338       }
339     }
340 
341     /// <summary>Field number for the "single_int64" field.</summary>
342     public const int SingleInt64FieldNumber = 2;
343     private long singleInt64_;
344     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
345     public long SingleInt64 {
346       get { return singleInt64_; }
347       set {
348         singleInt64_ = value;
349       }
350     }
351 
352     /// <summary>Field number for the "single_uint32" field.</summary>
353     public const int SingleUint32FieldNumber = 3;
354     private uint singleUint32_;
355     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
356     public uint SingleUint32 {
357       get { return singleUint32_; }
358       set {
359         singleUint32_ = value;
360       }
361     }
362 
363     /// <summary>Field number for the "single_uint64" field.</summary>
364     public const int SingleUint64FieldNumber = 4;
365     private ulong singleUint64_;
366     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
367     public ulong SingleUint64 {
368       get { return singleUint64_; }
369       set {
370         singleUint64_ = value;
371       }
372     }
373 
374     /// <summary>Field number for the "single_sint32" field.</summary>
375     public const int SingleSint32FieldNumber = 5;
376     private int singleSint32_;
377     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
378     public int SingleSint32 {
379       get { return singleSint32_; }
380       set {
381         singleSint32_ = value;
382       }
383     }
384 
385     /// <summary>Field number for the "single_sint64" field.</summary>
386     public const int SingleSint64FieldNumber = 6;
387     private long singleSint64_;
388     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
389     public long SingleSint64 {
390       get { return singleSint64_; }
391       set {
392         singleSint64_ = value;
393       }
394     }
395 
396     /// <summary>Field number for the "single_fixed32" field.</summary>
397     public const int SingleFixed32FieldNumber = 7;
398     private uint singleFixed32_;
399     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
400     public uint SingleFixed32 {
401       get { return singleFixed32_; }
402       set {
403         singleFixed32_ = value;
404       }
405     }
406 
407     /// <summary>Field number for the "single_fixed64" field.</summary>
408     public const int SingleFixed64FieldNumber = 8;
409     private ulong singleFixed64_;
410     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
411     public ulong SingleFixed64 {
412       get { return singleFixed64_; }
413       set {
414         singleFixed64_ = value;
415       }
416     }
417 
418     /// <summary>Field number for the "single_sfixed32" field.</summary>
419     public const int SingleSfixed32FieldNumber = 9;
420     private int singleSfixed32_;
421     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
422     public int SingleSfixed32 {
423       get { return singleSfixed32_; }
424       set {
425         singleSfixed32_ = value;
426       }
427     }
428 
429     /// <summary>Field number for the "single_sfixed64" field.</summary>
430     public const int SingleSfixed64FieldNumber = 10;
431     private long singleSfixed64_;
432     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
433     public long SingleSfixed64 {
434       get { return singleSfixed64_; }
435       set {
436         singleSfixed64_ = value;
437       }
438     }
439 
440     /// <summary>Field number for the "single_float" field.</summary>
441     public const int SingleFloatFieldNumber = 11;
442     private float singleFloat_;
443     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
444     public float SingleFloat {
445       get { return singleFloat_; }
446       set {
447         singleFloat_ = value;
448       }
449     }
450 
451     /// <summary>Field number for the "single_double" field.</summary>
452     public const int SingleDoubleFieldNumber = 12;
453     private double singleDouble_;
454     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
455     public double SingleDouble {
456       get { return singleDouble_; }
457       set {
458         singleDouble_ = value;
459       }
460     }
461 
462     /// <summary>Field number for the "single_bool" field.</summary>
463     public const int SingleBoolFieldNumber = 13;
464     private bool singleBool_;
465     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
466     public bool SingleBool {
467       get { return singleBool_; }
468       set {
469         singleBool_ = value;
470       }
471     }
472 
473     /// <summary>Field number for the "single_string" field.</summary>
474     public const int SingleStringFieldNumber = 14;
475     private string singleString_ = "";
476     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
477     public string SingleString {
478       get { return singleString_; }
479       set {
480         singleString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
481       }
482     }
483 
484     /// <summary>Field number for the "single_bytes" field.</summary>
485     public const int SingleBytesFieldNumber = 15;
486     private pb::ByteString singleBytes_ = pb::ByteString.Empty;
487     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
488     public pb::ByteString SingleBytes {
489       get { return singleBytes_; }
490       set {
491         singleBytes_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
492       }
493     }
494 
495     /// <summary>Field number for the "single_nested_message" field.</summary>
496     public const int SingleNestedMessageFieldNumber = 18;
497     private global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage singleNestedMessage_;
498     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
499     public global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage SingleNestedMessage {
500       get { return singleNestedMessage_; }
501       set {
502         singleNestedMessage_ = value;
503       }
504     }
505 
506     /// <summary>Field number for the "single_foreign_message" field.</summary>
507     public const int SingleForeignMessageFieldNumber = 19;
508     private global::Google.Protobuf.TestProtos.ForeignMessage singleForeignMessage_;
509     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
510     public global::Google.Protobuf.TestProtos.ForeignMessage SingleForeignMessage {
511       get { return singleForeignMessage_; }
512       set {
513         singleForeignMessage_ = value;
514       }
515     }
516 
517     /// <summary>Field number for the "single_import_message" field.</summary>
518     public const int SingleImportMessageFieldNumber = 20;
519     private global::Google.Protobuf.TestProtos.ImportMessage singleImportMessage_;
520     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
521     public global::Google.Protobuf.TestProtos.ImportMessage SingleImportMessage {
522       get { return singleImportMessage_; }
523       set {
524         singleImportMessage_ = value;
525       }
526     }
527 
528     /// <summary>Field number for the "single_nested_enum" field.</summary>
529     public const int SingleNestedEnumFieldNumber = 21;
530     private global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum singleNestedEnum_ = 0;
531     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
532     public global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum SingleNestedEnum {
533       get { return singleNestedEnum_; }
534       set {
535         singleNestedEnum_ = value;
536       }
537     }
538 
539     /// <summary>Field number for the "single_foreign_enum" field.</summary>
540     public const int SingleForeignEnumFieldNumber = 22;
541     private global::Google.Protobuf.TestProtos.ForeignEnum singleForeignEnum_ = 0;
542     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
543     public global::Google.Protobuf.TestProtos.ForeignEnum SingleForeignEnum {
544       get { return singleForeignEnum_; }
545       set {
546         singleForeignEnum_ = value;
547       }
548     }
549 
550     /// <summary>Field number for the "single_import_enum" field.</summary>
551     public const int SingleImportEnumFieldNumber = 23;
552     private global::Google.Protobuf.TestProtos.ImportEnum singleImportEnum_ = 0;
553     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
554     public global::Google.Protobuf.TestProtos.ImportEnum SingleImportEnum {
555       get { return singleImportEnum_; }
556       set {
557         singleImportEnum_ = value;
558       }
559     }
560 
561     /// <summary>Field number for the "single_public_import_message" field.</summary>
562     public const int SinglePublicImportMessageFieldNumber = 26;
563     private global::Google.Protobuf.TestProtos.PublicImportMessage singlePublicImportMessage_;
564     /// <summary>
565     ///  Defined in unittest_import_public.proto
566     /// </summary>
567     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
568     public global::Google.Protobuf.TestProtos.PublicImportMessage SinglePublicImportMessage {
569       get { return singlePublicImportMessage_; }
570       set {
571         singlePublicImportMessage_ = value;
572       }
573     }
574 
575     /// <summary>Field number for the "repeated_int32" field.</summary>
576     public const int RepeatedInt32FieldNumber = 31;
577     private static readonly pb::FieldCodec<int> _repeated_repeatedInt32_codec
578         = pb::FieldCodec.ForInt32(250);
579     private readonly pbc::RepeatedField<int> repeatedInt32_ = new pbc::RepeatedField<int>();
580     /// <summary>
581     ///  Repeated
582     /// </summary>
583     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
584     public pbc::RepeatedField<int> RepeatedInt32 {
585       get { return repeatedInt32_; }
586     }
587 
588     /// <summary>Field number for the "repeated_int64" field.</summary>
589     public const int RepeatedInt64FieldNumber = 32;
590     private static readonly pb::FieldCodec<long> _repeated_repeatedInt64_codec
591         = pb::FieldCodec.ForInt64(258);
592     private readonly pbc::RepeatedField<long> repeatedInt64_ = new pbc::RepeatedField<long>();
593     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
594     public pbc::RepeatedField<long> RepeatedInt64 {
595       get { return repeatedInt64_; }
596     }
597 
598     /// <summary>Field number for the "repeated_uint32" field.</summary>
599     public const int RepeatedUint32FieldNumber = 33;
600     private static readonly pb::FieldCodec<uint> _repeated_repeatedUint32_codec
601         = pb::FieldCodec.ForUInt32(266);
602     private readonly pbc::RepeatedField<uint> repeatedUint32_ = new pbc::RepeatedField<uint>();
603     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
604     public pbc::RepeatedField<uint> RepeatedUint32 {
605       get { return repeatedUint32_; }
606     }
607 
608     /// <summary>Field number for the "repeated_uint64" field.</summary>
609     public const int RepeatedUint64FieldNumber = 34;
610     private static readonly pb::FieldCodec<ulong> _repeated_repeatedUint64_codec
611         = pb::FieldCodec.ForUInt64(274);
612     private readonly pbc::RepeatedField<ulong> repeatedUint64_ = new pbc::RepeatedField<ulong>();
613     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
614     public pbc::RepeatedField<ulong> RepeatedUint64 {
615       get { return repeatedUint64_; }
616     }
617 
618     /// <summary>Field number for the "repeated_sint32" field.</summary>
619     public const int RepeatedSint32FieldNumber = 35;
620     private static readonly pb::FieldCodec<int> _repeated_repeatedSint32_codec
621         = pb::FieldCodec.ForSInt32(282);
622     private readonly pbc::RepeatedField<int> repeatedSint32_ = new pbc::RepeatedField<int>();
623     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
624     public pbc::RepeatedField<int> RepeatedSint32 {
625       get { return repeatedSint32_; }
626     }
627 
628     /// <summary>Field number for the "repeated_sint64" field.</summary>
629     public const int RepeatedSint64FieldNumber = 36;
630     private static readonly pb::FieldCodec<long> _repeated_repeatedSint64_codec
631         = pb::FieldCodec.ForSInt64(290);
632     private readonly pbc::RepeatedField<long> repeatedSint64_ = new pbc::RepeatedField<long>();
633     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
634     public pbc::RepeatedField<long> RepeatedSint64 {
635       get { return repeatedSint64_; }
636     }
637 
638     /// <summary>Field number for the "repeated_fixed32" field.</summary>
639     public const int RepeatedFixed32FieldNumber = 37;
640     private static readonly pb::FieldCodec<uint> _repeated_repeatedFixed32_codec
641         = pb::FieldCodec.ForFixed32(298);
642     private readonly pbc::RepeatedField<uint> repeatedFixed32_ = new pbc::RepeatedField<uint>();
643     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
644     public pbc::RepeatedField<uint> RepeatedFixed32 {
645       get { return repeatedFixed32_; }
646     }
647 
648     /// <summary>Field number for the "repeated_fixed64" field.</summary>
649     public const int RepeatedFixed64FieldNumber = 38;
650     private static readonly pb::FieldCodec<ulong> _repeated_repeatedFixed64_codec
651         = pb::FieldCodec.ForFixed64(306);
652     private readonly pbc::RepeatedField<ulong> repeatedFixed64_ = new pbc::RepeatedField<ulong>();
653     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
654     public pbc::RepeatedField<ulong> RepeatedFixed64 {
655       get { return repeatedFixed64_; }
656     }
657 
658     /// <summary>Field number for the "repeated_sfixed32" field.</summary>
659     public const int RepeatedSfixed32FieldNumber = 39;
660     private static readonly pb::FieldCodec<int> _repeated_repeatedSfixed32_codec
661         = pb::FieldCodec.ForSFixed32(314);
662     private readonly pbc::RepeatedField<int> repeatedSfixed32_ = new pbc::RepeatedField<int>();
663     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
664     public pbc::RepeatedField<int> RepeatedSfixed32 {
665       get { return repeatedSfixed32_; }
666     }
667 
668     /// <summary>Field number for the "repeated_sfixed64" field.</summary>
669     public const int RepeatedSfixed64FieldNumber = 40;
670     private static readonly pb::FieldCodec<long> _repeated_repeatedSfixed64_codec
671         = pb::FieldCodec.ForSFixed64(322);
672     private readonly pbc::RepeatedField<long> repeatedSfixed64_ = new pbc::RepeatedField<long>();
673     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
674     public pbc::RepeatedField<long> RepeatedSfixed64 {
675       get { return repeatedSfixed64_; }
676     }
677 
678     /// <summary>Field number for the "repeated_float" field.</summary>
679     public const int RepeatedFloatFieldNumber = 41;
680     private static readonly pb::FieldCodec<float> _repeated_repeatedFloat_codec
681         = pb::FieldCodec.ForFloat(330);
682     private readonly pbc::RepeatedField<float> repeatedFloat_ = new pbc::RepeatedField<float>();
683     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
684     public pbc::RepeatedField<float> RepeatedFloat {
685       get { return repeatedFloat_; }
686     }
687 
688     /// <summary>Field number for the "repeated_double" field.</summary>
689     public const int RepeatedDoubleFieldNumber = 42;
690     private static readonly pb::FieldCodec<double> _repeated_repeatedDouble_codec
691         = pb::FieldCodec.ForDouble(338);
692     private readonly pbc::RepeatedField<double> repeatedDouble_ = new pbc::RepeatedField<double>();
693     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
694     public pbc::RepeatedField<double> RepeatedDouble {
695       get { return repeatedDouble_; }
696     }
697 
698     /// <summary>Field number for the "repeated_bool" field.</summary>
699     public const int RepeatedBoolFieldNumber = 43;
700     private static readonly pb::FieldCodec<bool> _repeated_repeatedBool_codec
701         = pb::FieldCodec.ForBool(346);
702     private readonly pbc::RepeatedField<bool> repeatedBool_ = new pbc::RepeatedField<bool>();
703     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
704     public pbc::RepeatedField<bool> RepeatedBool {
705       get { return repeatedBool_; }
706     }
707 
708     /// <summary>Field number for the "repeated_string" field.</summary>
709     public const int RepeatedStringFieldNumber = 44;
710     private static readonly pb::FieldCodec<string> _repeated_repeatedString_codec
711         = pb::FieldCodec.ForString(354);
712     private readonly pbc::RepeatedField<string> repeatedString_ = new pbc::RepeatedField<string>();
713     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
714     public pbc::RepeatedField<string> RepeatedString {
715       get { return repeatedString_; }
716     }
717 
718     /// <summary>Field number for the "repeated_bytes" field.</summary>
719     public const int RepeatedBytesFieldNumber = 45;
720     private static readonly pb::FieldCodec<pb::ByteString> _repeated_repeatedBytes_codec
721         = pb::FieldCodec.ForBytes(362);
722     private readonly pbc::RepeatedField<pb::ByteString> repeatedBytes_ = new pbc::RepeatedField<pb::ByteString>();
723     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
724     public pbc::RepeatedField<pb::ByteString> RepeatedBytes {
725       get { return repeatedBytes_; }
726     }
727 
728     /// <summary>Field number for the "repeated_nested_message" field.</summary>
729     public const int RepeatedNestedMessageFieldNumber = 48;
730     private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage> _repeated_repeatedNestedMessage_codec
731         = pb::FieldCodec.ForMessage(386, global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage.Parser);
732     private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage> repeatedNestedMessage_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage>();
733     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
734     public pbc::RepeatedField<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage> RepeatedNestedMessage {
735       get { return repeatedNestedMessage_; }
736     }
737 
738     /// <summary>Field number for the "repeated_foreign_message" field.</summary>
739     public const int RepeatedForeignMessageFieldNumber = 49;
740     private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ForeignMessage> _repeated_repeatedForeignMessage_codec
741         = pb::FieldCodec.ForMessage(394, global::Google.Protobuf.TestProtos.ForeignMessage.Parser);
742     private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignMessage> repeatedForeignMessage_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignMessage>();
743     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
744     public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignMessage> RepeatedForeignMessage {
745       get { return repeatedForeignMessage_; }
746     }
747 
748     /// <summary>Field number for the "repeated_import_message" field.</summary>
749     public const int RepeatedImportMessageFieldNumber = 50;
750     private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ImportMessage> _repeated_repeatedImportMessage_codec
751         = pb::FieldCodec.ForMessage(402, global::Google.Protobuf.TestProtos.ImportMessage.Parser);
752     private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ImportMessage> repeatedImportMessage_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ImportMessage>();
753     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
754     public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ImportMessage> RepeatedImportMessage {
755       get { return repeatedImportMessage_; }
756     }
757 
758     /// <summary>Field number for the "repeated_nested_enum" field.</summary>
759     public const int RepeatedNestedEnumFieldNumber = 51;
760     private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum> _repeated_repeatedNestedEnum_codec
761         = pb::FieldCodec.ForEnum(410, x => (int) x, x => (global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum) x);
762     private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum> repeatedNestedEnum_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum>();
763     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
764     public pbc::RepeatedField<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum> RepeatedNestedEnum {
765       get { return repeatedNestedEnum_; }
766     }
767 
768     /// <summary>Field number for the "repeated_foreign_enum" field.</summary>
769     public const int RepeatedForeignEnumFieldNumber = 52;
770     private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ForeignEnum> _repeated_repeatedForeignEnum_codec
771         = pb::FieldCodec.ForEnum(418, x => (int) x, x => (global::Google.Protobuf.TestProtos.ForeignEnum) x);
772     private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> repeatedForeignEnum_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum>();
773     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
774     public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> RepeatedForeignEnum {
775       get { return repeatedForeignEnum_; }
776     }
777 
778     /// <summary>Field number for the "repeated_import_enum" field.</summary>
779     public const int RepeatedImportEnumFieldNumber = 53;
780     private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ImportEnum> _repeated_repeatedImportEnum_codec
781         = pb::FieldCodec.ForEnum(426, x => (int) x, x => (global::Google.Protobuf.TestProtos.ImportEnum) x);
782     private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ImportEnum> repeatedImportEnum_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ImportEnum>();
783     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
784     public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ImportEnum> RepeatedImportEnum {
785       get { return repeatedImportEnum_; }
786     }
787 
788     /// <summary>Field number for the "repeated_public_import_message" field.</summary>
789     public const int RepeatedPublicImportMessageFieldNumber = 54;
790     private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.PublicImportMessage> _repeated_repeatedPublicImportMessage_codec
791         = pb::FieldCodec.ForMessage(434, global::Google.Protobuf.TestProtos.PublicImportMessage.Parser);
792     private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.PublicImportMessage> repeatedPublicImportMessage_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.PublicImportMessage>();
793     /// <summary>
794     ///  Defined in unittest_import_public.proto
795     /// </summary>
796     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
797     public pbc::RepeatedField<global::Google.Protobuf.TestProtos.PublicImportMessage> RepeatedPublicImportMessage {
798       get { return repeatedPublicImportMessage_; }
799     }
800 
801     /// <summary>Field number for the "oneof_uint32" field.</summary>
802     public const int OneofUint32FieldNumber = 111;
803     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
804     public uint OneofUint32 {
805       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofUint32 ? (uint) oneofField_ : 0; }
806       set {
807         oneofField_ = value;
808         oneofFieldCase_ = OneofFieldOneofCase.OneofUint32;
809       }
810     }
811 
812     /// <summary>Field number for the "oneof_nested_message" field.</summary>
813     public const int OneofNestedMessageFieldNumber = 112;
814     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
815     public global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage OneofNestedMessage {
816       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage ? (global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage) oneofField_ : null; }
817       set {
818         oneofField_ = value;
819         oneofFieldCase_ = value == null ? OneofFieldOneofCase.None : OneofFieldOneofCase.OneofNestedMessage;
820       }
821     }
822 
823     /// <summary>Field number for the "oneof_string" field.</summary>
824     public const int OneofStringFieldNumber = 113;
825     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
826     public string OneofString {
827       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofString ? (string) oneofField_ : ""; }
828       set {
829         oneofField_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
830         oneofFieldCase_ = OneofFieldOneofCase.OneofString;
831       }
832     }
833 
834     /// <summary>Field number for the "oneof_bytes" field.</summary>
835     public const int OneofBytesFieldNumber = 114;
836     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
837     public pb::ByteString OneofBytes {
838       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofBytes ? (pb::ByteString) oneofField_ : pb::ByteString.Empty; }
839       set {
840         oneofField_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
841         oneofFieldCase_ = OneofFieldOneofCase.OneofBytes;
842       }
843     }
844 
845     private object oneofField_;
846     /// <summary>Enum of possible cases for the "oneof_field" oneof.</summary>
847     public enum OneofFieldOneofCase {
848       None = 0,
849       OneofUint32 = 111,
850       OneofNestedMessage = 112,
851       OneofString = 113,
852       OneofBytes = 114,
853     }
854     private OneofFieldOneofCase oneofFieldCase_ = OneofFieldOneofCase.None;
855     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
856     public OneofFieldOneofCase OneofFieldCase {
857       get { return oneofFieldCase_; }
858     }
859 
860     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ClearOneofField()861     public void ClearOneofField() {
862       oneofFieldCase_ = OneofFieldOneofCase.None;
863       oneofField_ = null;
864     }
865 
866     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)867     public override bool Equals(object other) {
868       return Equals(other as TestAllTypes);
869     }
870 
871     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestAllTypes other)872     public bool Equals(TestAllTypes other) {
873       if (ReferenceEquals(other, null)) {
874         return false;
875       }
876       if (ReferenceEquals(other, this)) {
877         return true;
878       }
879       if (SingleInt32 != other.SingleInt32) return false;
880       if (SingleInt64 != other.SingleInt64) return false;
881       if (SingleUint32 != other.SingleUint32) return false;
882       if (SingleUint64 != other.SingleUint64) return false;
883       if (SingleSint32 != other.SingleSint32) return false;
884       if (SingleSint64 != other.SingleSint64) return false;
885       if (SingleFixed32 != other.SingleFixed32) return false;
886       if (SingleFixed64 != other.SingleFixed64) return false;
887       if (SingleSfixed32 != other.SingleSfixed32) return false;
888       if (SingleSfixed64 != other.SingleSfixed64) return false;
889       if (SingleFloat != other.SingleFloat) return false;
890       if (SingleDouble != other.SingleDouble) return false;
891       if (SingleBool != other.SingleBool) return false;
892       if (SingleString != other.SingleString) return false;
893       if (SingleBytes != other.SingleBytes) return false;
894       if (!object.Equals(SingleNestedMessage, other.SingleNestedMessage)) return false;
895       if (!object.Equals(SingleForeignMessage, other.SingleForeignMessage)) return false;
896       if (!object.Equals(SingleImportMessage, other.SingleImportMessage)) return false;
897       if (SingleNestedEnum != other.SingleNestedEnum) return false;
898       if (SingleForeignEnum != other.SingleForeignEnum) return false;
899       if (SingleImportEnum != other.SingleImportEnum) return false;
900       if (!object.Equals(SinglePublicImportMessage, other.SinglePublicImportMessage)) return false;
901       if(!repeatedInt32_.Equals(other.repeatedInt32_)) return false;
902       if(!repeatedInt64_.Equals(other.repeatedInt64_)) return false;
903       if(!repeatedUint32_.Equals(other.repeatedUint32_)) return false;
904       if(!repeatedUint64_.Equals(other.repeatedUint64_)) return false;
905       if(!repeatedSint32_.Equals(other.repeatedSint32_)) return false;
906       if(!repeatedSint64_.Equals(other.repeatedSint64_)) return false;
907       if(!repeatedFixed32_.Equals(other.repeatedFixed32_)) return false;
908       if(!repeatedFixed64_.Equals(other.repeatedFixed64_)) return false;
909       if(!repeatedSfixed32_.Equals(other.repeatedSfixed32_)) return false;
910       if(!repeatedSfixed64_.Equals(other.repeatedSfixed64_)) return false;
911       if(!repeatedFloat_.Equals(other.repeatedFloat_)) return false;
912       if(!repeatedDouble_.Equals(other.repeatedDouble_)) return false;
913       if(!repeatedBool_.Equals(other.repeatedBool_)) return false;
914       if(!repeatedString_.Equals(other.repeatedString_)) return false;
915       if(!repeatedBytes_.Equals(other.repeatedBytes_)) return false;
916       if(!repeatedNestedMessage_.Equals(other.repeatedNestedMessage_)) return false;
917       if(!repeatedForeignMessage_.Equals(other.repeatedForeignMessage_)) return false;
918       if(!repeatedImportMessage_.Equals(other.repeatedImportMessage_)) return false;
919       if(!repeatedNestedEnum_.Equals(other.repeatedNestedEnum_)) return false;
920       if(!repeatedForeignEnum_.Equals(other.repeatedForeignEnum_)) return false;
921       if(!repeatedImportEnum_.Equals(other.repeatedImportEnum_)) return false;
922       if(!repeatedPublicImportMessage_.Equals(other.repeatedPublicImportMessage_)) return false;
923       if (OneofUint32 != other.OneofUint32) return false;
924       if (!object.Equals(OneofNestedMessage, other.OneofNestedMessage)) return false;
925       if (OneofString != other.OneofString) return false;
926       if (OneofBytes != other.OneofBytes) return false;
927       if (OneofFieldCase != other.OneofFieldCase) return false;
928       return true;
929     }
930 
931     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()932     public override int GetHashCode() {
933       int hash = 1;
934       if (SingleInt32 != 0) hash ^= SingleInt32.GetHashCode();
935       if (SingleInt64 != 0L) hash ^= SingleInt64.GetHashCode();
936       if (SingleUint32 != 0) hash ^= SingleUint32.GetHashCode();
937       if (SingleUint64 != 0UL) hash ^= SingleUint64.GetHashCode();
938       if (SingleSint32 != 0) hash ^= SingleSint32.GetHashCode();
939       if (SingleSint64 != 0L) hash ^= SingleSint64.GetHashCode();
940       if (SingleFixed32 != 0) hash ^= SingleFixed32.GetHashCode();
941       if (SingleFixed64 != 0UL) hash ^= SingleFixed64.GetHashCode();
942       if (SingleSfixed32 != 0) hash ^= SingleSfixed32.GetHashCode();
943       if (SingleSfixed64 != 0L) hash ^= SingleSfixed64.GetHashCode();
944       if (SingleFloat != 0F) hash ^= SingleFloat.GetHashCode();
945       if (SingleDouble != 0D) hash ^= SingleDouble.GetHashCode();
946       if (SingleBool != false) hash ^= SingleBool.GetHashCode();
947       if (SingleString.Length != 0) hash ^= SingleString.GetHashCode();
948       if (SingleBytes.Length != 0) hash ^= SingleBytes.GetHashCode();
949       if (singleNestedMessage_ != null) hash ^= SingleNestedMessage.GetHashCode();
950       if (singleForeignMessage_ != null) hash ^= SingleForeignMessage.GetHashCode();
951       if (singleImportMessage_ != null) hash ^= SingleImportMessage.GetHashCode();
952       if (SingleNestedEnum != 0) hash ^= SingleNestedEnum.GetHashCode();
953       if (SingleForeignEnum != 0) hash ^= SingleForeignEnum.GetHashCode();
954       if (SingleImportEnum != 0) hash ^= SingleImportEnum.GetHashCode();
955       if (singlePublicImportMessage_ != null) hash ^= SinglePublicImportMessage.GetHashCode();
956       hash ^= repeatedInt32_.GetHashCode();
957       hash ^= repeatedInt64_.GetHashCode();
958       hash ^= repeatedUint32_.GetHashCode();
959       hash ^= repeatedUint64_.GetHashCode();
960       hash ^= repeatedSint32_.GetHashCode();
961       hash ^= repeatedSint64_.GetHashCode();
962       hash ^= repeatedFixed32_.GetHashCode();
963       hash ^= repeatedFixed64_.GetHashCode();
964       hash ^= repeatedSfixed32_.GetHashCode();
965       hash ^= repeatedSfixed64_.GetHashCode();
966       hash ^= repeatedFloat_.GetHashCode();
967       hash ^= repeatedDouble_.GetHashCode();
968       hash ^= repeatedBool_.GetHashCode();
969       hash ^= repeatedString_.GetHashCode();
970       hash ^= repeatedBytes_.GetHashCode();
971       hash ^= repeatedNestedMessage_.GetHashCode();
972       hash ^= repeatedForeignMessage_.GetHashCode();
973       hash ^= repeatedImportMessage_.GetHashCode();
974       hash ^= repeatedNestedEnum_.GetHashCode();
975       hash ^= repeatedForeignEnum_.GetHashCode();
976       hash ^= repeatedImportEnum_.GetHashCode();
977       hash ^= repeatedPublicImportMessage_.GetHashCode();
978       if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) hash ^= OneofUint32.GetHashCode();
979       if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) hash ^= OneofNestedMessage.GetHashCode();
980       if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) hash ^= OneofString.GetHashCode();
981       if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) hash ^= OneofBytes.GetHashCode();
982       hash ^= (int) oneofFieldCase_;
983       return hash;
984     }
985 
986     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()987     public override string ToString() {
988       return pb::JsonFormatter.ToDiagnosticString(this);
989     }
990 
991     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)992     public void WriteTo(pb::CodedOutputStream output) {
993       if (SingleInt32 != 0) {
994         output.WriteRawTag(8);
995         output.WriteInt32(SingleInt32);
996       }
997       if (SingleInt64 != 0L) {
998         output.WriteRawTag(16);
999         output.WriteInt64(SingleInt64);
1000       }
1001       if (SingleUint32 != 0) {
1002         output.WriteRawTag(24);
1003         output.WriteUInt32(SingleUint32);
1004       }
1005       if (SingleUint64 != 0UL) {
1006         output.WriteRawTag(32);
1007         output.WriteUInt64(SingleUint64);
1008       }
1009       if (SingleSint32 != 0) {
1010         output.WriteRawTag(40);
1011         output.WriteSInt32(SingleSint32);
1012       }
1013       if (SingleSint64 != 0L) {
1014         output.WriteRawTag(48);
1015         output.WriteSInt64(SingleSint64);
1016       }
1017       if (SingleFixed32 != 0) {
1018         output.WriteRawTag(61);
1019         output.WriteFixed32(SingleFixed32);
1020       }
1021       if (SingleFixed64 != 0UL) {
1022         output.WriteRawTag(65);
1023         output.WriteFixed64(SingleFixed64);
1024       }
1025       if (SingleSfixed32 != 0) {
1026         output.WriteRawTag(77);
1027         output.WriteSFixed32(SingleSfixed32);
1028       }
1029       if (SingleSfixed64 != 0L) {
1030         output.WriteRawTag(81);
1031         output.WriteSFixed64(SingleSfixed64);
1032       }
1033       if (SingleFloat != 0F) {
1034         output.WriteRawTag(93);
1035         output.WriteFloat(SingleFloat);
1036       }
1037       if (SingleDouble != 0D) {
1038         output.WriteRawTag(97);
1039         output.WriteDouble(SingleDouble);
1040       }
1041       if (SingleBool != false) {
1042         output.WriteRawTag(104);
1043         output.WriteBool(SingleBool);
1044       }
1045       if (SingleString.Length != 0) {
1046         output.WriteRawTag(114);
1047         output.WriteString(SingleString);
1048       }
1049       if (SingleBytes.Length != 0) {
1050         output.WriteRawTag(122);
1051         output.WriteBytes(SingleBytes);
1052       }
1053       if (singleNestedMessage_ != null) {
1054         output.WriteRawTag(146, 1);
1055         output.WriteMessage(SingleNestedMessage);
1056       }
1057       if (singleForeignMessage_ != null) {
1058         output.WriteRawTag(154, 1);
1059         output.WriteMessage(SingleForeignMessage);
1060       }
1061       if (singleImportMessage_ != null) {
1062         output.WriteRawTag(162, 1);
1063         output.WriteMessage(SingleImportMessage);
1064       }
1065       if (SingleNestedEnum != 0) {
1066         output.WriteRawTag(168, 1);
1067         output.WriteEnum((int) SingleNestedEnum);
1068       }
1069       if (SingleForeignEnum != 0) {
1070         output.WriteRawTag(176, 1);
1071         output.WriteEnum((int) SingleForeignEnum);
1072       }
1073       if (SingleImportEnum != 0) {
1074         output.WriteRawTag(184, 1);
1075         output.WriteEnum((int) SingleImportEnum);
1076       }
1077       if (singlePublicImportMessage_ != null) {
1078         output.WriteRawTag(210, 1);
1079         output.WriteMessage(SinglePublicImportMessage);
1080       }
1081       repeatedInt32_.WriteTo(output, _repeated_repeatedInt32_codec);
1082       repeatedInt64_.WriteTo(output, _repeated_repeatedInt64_codec);
1083       repeatedUint32_.WriteTo(output, _repeated_repeatedUint32_codec);
1084       repeatedUint64_.WriteTo(output, _repeated_repeatedUint64_codec);
1085       repeatedSint32_.WriteTo(output, _repeated_repeatedSint32_codec);
1086       repeatedSint64_.WriteTo(output, _repeated_repeatedSint64_codec);
1087       repeatedFixed32_.WriteTo(output, _repeated_repeatedFixed32_codec);
1088       repeatedFixed64_.WriteTo(output, _repeated_repeatedFixed64_codec);
1089       repeatedSfixed32_.WriteTo(output, _repeated_repeatedSfixed32_codec);
1090       repeatedSfixed64_.WriteTo(output, _repeated_repeatedSfixed64_codec);
1091       repeatedFloat_.WriteTo(output, _repeated_repeatedFloat_codec);
1092       repeatedDouble_.WriteTo(output, _repeated_repeatedDouble_codec);
1093       repeatedBool_.WriteTo(output, _repeated_repeatedBool_codec);
1094       repeatedString_.WriteTo(output, _repeated_repeatedString_codec);
1095       repeatedBytes_.WriteTo(output, _repeated_repeatedBytes_codec);
1096       repeatedNestedMessage_.WriteTo(output, _repeated_repeatedNestedMessage_codec);
1097       repeatedForeignMessage_.WriteTo(output, _repeated_repeatedForeignMessage_codec);
1098       repeatedImportMessage_.WriteTo(output, _repeated_repeatedImportMessage_codec);
1099       repeatedNestedEnum_.WriteTo(output, _repeated_repeatedNestedEnum_codec);
1100       repeatedForeignEnum_.WriteTo(output, _repeated_repeatedForeignEnum_codec);
1101       repeatedImportEnum_.WriteTo(output, _repeated_repeatedImportEnum_codec);
1102       repeatedPublicImportMessage_.WriteTo(output, _repeated_repeatedPublicImportMessage_codec);
1103       if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) {
1104         output.WriteRawTag(248, 6);
1105         output.WriteUInt32(OneofUint32);
1106       }
1107       if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
1108         output.WriteRawTag(130, 7);
1109         output.WriteMessage(OneofNestedMessage);
1110       }
1111       if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) {
1112         output.WriteRawTag(138, 7);
1113         output.WriteString(OneofString);
1114       }
1115       if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) {
1116         output.WriteRawTag(146, 7);
1117         output.WriteBytes(OneofBytes);
1118       }
1119     }
1120 
1121     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()1122     public int CalculateSize() {
1123       int size = 0;
1124       if (SingleInt32 != 0) {
1125         size += 1 + pb::CodedOutputStream.ComputeInt32Size(SingleInt32);
1126       }
1127       if (SingleInt64 != 0L) {
1128         size += 1 + pb::CodedOutputStream.ComputeInt64Size(SingleInt64);
1129       }
1130       if (SingleUint32 != 0) {
1131         size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SingleUint32);
1132       }
1133       if (SingleUint64 != 0UL) {
1134         size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SingleUint64);
1135       }
1136       if (SingleSint32 != 0) {
1137         size += 1 + pb::CodedOutputStream.ComputeSInt32Size(SingleSint32);
1138       }
1139       if (SingleSint64 != 0L) {
1140         size += 1 + pb::CodedOutputStream.ComputeSInt64Size(SingleSint64);
1141       }
1142       if (SingleFixed32 != 0) {
1143         size += 1 + 4;
1144       }
1145       if (SingleFixed64 != 0UL) {
1146         size += 1 + 8;
1147       }
1148       if (SingleSfixed32 != 0) {
1149         size += 1 + 4;
1150       }
1151       if (SingleSfixed64 != 0L) {
1152         size += 1 + 8;
1153       }
1154       if (SingleFloat != 0F) {
1155         size += 1 + 4;
1156       }
1157       if (SingleDouble != 0D) {
1158         size += 1 + 8;
1159       }
1160       if (SingleBool != false) {
1161         size += 1 + 1;
1162       }
1163       if (SingleString.Length != 0) {
1164         size += 1 + pb::CodedOutputStream.ComputeStringSize(SingleString);
1165       }
1166       if (SingleBytes.Length != 0) {
1167         size += 1 + pb::CodedOutputStream.ComputeBytesSize(SingleBytes);
1168       }
1169       if (singleNestedMessage_ != null) {
1170         size += 2 + pb::CodedOutputStream.ComputeMessageSize(SingleNestedMessage);
1171       }
1172       if (singleForeignMessage_ != null) {
1173         size += 2 + pb::CodedOutputStream.ComputeMessageSize(SingleForeignMessage);
1174       }
1175       if (singleImportMessage_ != null) {
1176         size += 2 + pb::CodedOutputStream.ComputeMessageSize(SingleImportMessage);
1177       }
1178       if (SingleNestedEnum != 0) {
1179         size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) SingleNestedEnum);
1180       }
1181       if (SingleForeignEnum != 0) {
1182         size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) SingleForeignEnum);
1183       }
1184       if (SingleImportEnum != 0) {
1185         size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) SingleImportEnum);
1186       }
1187       if (singlePublicImportMessage_ != null) {
1188         size += 2 + pb::CodedOutputStream.ComputeMessageSize(SinglePublicImportMessage);
1189       }
1190       size += repeatedInt32_.CalculateSize(_repeated_repeatedInt32_codec);
1191       size += repeatedInt64_.CalculateSize(_repeated_repeatedInt64_codec);
1192       size += repeatedUint32_.CalculateSize(_repeated_repeatedUint32_codec);
1193       size += repeatedUint64_.CalculateSize(_repeated_repeatedUint64_codec);
1194       size += repeatedSint32_.CalculateSize(_repeated_repeatedSint32_codec);
1195       size += repeatedSint64_.CalculateSize(_repeated_repeatedSint64_codec);
1196       size += repeatedFixed32_.CalculateSize(_repeated_repeatedFixed32_codec);
1197       size += repeatedFixed64_.CalculateSize(_repeated_repeatedFixed64_codec);
1198       size += repeatedSfixed32_.CalculateSize(_repeated_repeatedSfixed32_codec);
1199       size += repeatedSfixed64_.CalculateSize(_repeated_repeatedSfixed64_codec);
1200       size += repeatedFloat_.CalculateSize(_repeated_repeatedFloat_codec);
1201       size += repeatedDouble_.CalculateSize(_repeated_repeatedDouble_codec);
1202       size += repeatedBool_.CalculateSize(_repeated_repeatedBool_codec);
1203       size += repeatedString_.CalculateSize(_repeated_repeatedString_codec);
1204       size += repeatedBytes_.CalculateSize(_repeated_repeatedBytes_codec);
1205       size += repeatedNestedMessage_.CalculateSize(_repeated_repeatedNestedMessage_codec);
1206       size += repeatedForeignMessage_.CalculateSize(_repeated_repeatedForeignMessage_codec);
1207       size += repeatedImportMessage_.CalculateSize(_repeated_repeatedImportMessage_codec);
1208       size += repeatedNestedEnum_.CalculateSize(_repeated_repeatedNestedEnum_codec);
1209       size += repeatedForeignEnum_.CalculateSize(_repeated_repeatedForeignEnum_codec);
1210       size += repeatedImportEnum_.CalculateSize(_repeated_repeatedImportEnum_codec);
1211       size += repeatedPublicImportMessage_.CalculateSize(_repeated_repeatedPublicImportMessage_codec);
1212       if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) {
1213         size += 2 + pb::CodedOutputStream.ComputeUInt32Size(OneofUint32);
1214       }
1215       if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
1216         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OneofNestedMessage);
1217       }
1218       if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) {
1219         size += 2 + pb::CodedOutputStream.ComputeStringSize(OneofString);
1220       }
1221       if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) {
1222         size += 2 + pb::CodedOutputStream.ComputeBytesSize(OneofBytes);
1223       }
1224       return size;
1225     }
1226 
1227     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestAllTypes other)1228     public void MergeFrom(TestAllTypes other) {
1229       if (other == null) {
1230         return;
1231       }
1232       if (other.SingleInt32 != 0) {
1233         SingleInt32 = other.SingleInt32;
1234       }
1235       if (other.SingleInt64 != 0L) {
1236         SingleInt64 = other.SingleInt64;
1237       }
1238       if (other.SingleUint32 != 0) {
1239         SingleUint32 = other.SingleUint32;
1240       }
1241       if (other.SingleUint64 != 0UL) {
1242         SingleUint64 = other.SingleUint64;
1243       }
1244       if (other.SingleSint32 != 0) {
1245         SingleSint32 = other.SingleSint32;
1246       }
1247       if (other.SingleSint64 != 0L) {
1248         SingleSint64 = other.SingleSint64;
1249       }
1250       if (other.SingleFixed32 != 0) {
1251         SingleFixed32 = other.SingleFixed32;
1252       }
1253       if (other.SingleFixed64 != 0UL) {
1254         SingleFixed64 = other.SingleFixed64;
1255       }
1256       if (other.SingleSfixed32 != 0) {
1257         SingleSfixed32 = other.SingleSfixed32;
1258       }
1259       if (other.SingleSfixed64 != 0L) {
1260         SingleSfixed64 = other.SingleSfixed64;
1261       }
1262       if (other.SingleFloat != 0F) {
1263         SingleFloat = other.SingleFloat;
1264       }
1265       if (other.SingleDouble != 0D) {
1266         SingleDouble = other.SingleDouble;
1267       }
1268       if (other.SingleBool != false) {
1269         SingleBool = other.SingleBool;
1270       }
1271       if (other.SingleString.Length != 0) {
1272         SingleString = other.SingleString;
1273       }
1274       if (other.SingleBytes.Length != 0) {
1275         SingleBytes = other.SingleBytes;
1276       }
1277       if (other.singleNestedMessage_ != null) {
1278         if (singleNestedMessage_ == null) {
1279           singleNestedMessage_ = new global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage();
1280         }
1281         SingleNestedMessage.MergeFrom(other.SingleNestedMessage);
1282       }
1283       if (other.singleForeignMessage_ != null) {
1284         if (singleForeignMessage_ == null) {
1285           singleForeignMessage_ = new global::Google.Protobuf.TestProtos.ForeignMessage();
1286         }
1287         SingleForeignMessage.MergeFrom(other.SingleForeignMessage);
1288       }
1289       if (other.singleImportMessage_ != null) {
1290         if (singleImportMessage_ == null) {
1291           singleImportMessage_ = new global::Google.Protobuf.TestProtos.ImportMessage();
1292         }
1293         SingleImportMessage.MergeFrom(other.SingleImportMessage);
1294       }
1295       if (other.SingleNestedEnum != 0) {
1296         SingleNestedEnum = other.SingleNestedEnum;
1297       }
1298       if (other.SingleForeignEnum != 0) {
1299         SingleForeignEnum = other.SingleForeignEnum;
1300       }
1301       if (other.SingleImportEnum != 0) {
1302         SingleImportEnum = other.SingleImportEnum;
1303       }
1304       if (other.singlePublicImportMessage_ != null) {
1305         if (singlePublicImportMessage_ == null) {
1306           singlePublicImportMessage_ = new global::Google.Protobuf.TestProtos.PublicImportMessage();
1307         }
1308         SinglePublicImportMessage.MergeFrom(other.SinglePublicImportMessage);
1309       }
1310       repeatedInt32_.Add(other.repeatedInt32_);
1311       repeatedInt64_.Add(other.repeatedInt64_);
1312       repeatedUint32_.Add(other.repeatedUint32_);
1313       repeatedUint64_.Add(other.repeatedUint64_);
1314       repeatedSint32_.Add(other.repeatedSint32_);
1315       repeatedSint64_.Add(other.repeatedSint64_);
1316       repeatedFixed32_.Add(other.repeatedFixed32_);
1317       repeatedFixed64_.Add(other.repeatedFixed64_);
1318       repeatedSfixed32_.Add(other.repeatedSfixed32_);
1319       repeatedSfixed64_.Add(other.repeatedSfixed64_);
1320       repeatedFloat_.Add(other.repeatedFloat_);
1321       repeatedDouble_.Add(other.repeatedDouble_);
1322       repeatedBool_.Add(other.repeatedBool_);
1323       repeatedString_.Add(other.repeatedString_);
1324       repeatedBytes_.Add(other.repeatedBytes_);
1325       repeatedNestedMessage_.Add(other.repeatedNestedMessage_);
1326       repeatedForeignMessage_.Add(other.repeatedForeignMessage_);
1327       repeatedImportMessage_.Add(other.repeatedImportMessage_);
1328       repeatedNestedEnum_.Add(other.repeatedNestedEnum_);
1329       repeatedForeignEnum_.Add(other.repeatedForeignEnum_);
1330       repeatedImportEnum_.Add(other.repeatedImportEnum_);
1331       repeatedPublicImportMessage_.Add(other.repeatedPublicImportMessage_);
1332       switch (other.OneofFieldCase) {
1333         case OneofFieldOneofCase.OneofUint32:
1334           OneofUint32 = other.OneofUint32;
1335           break;
1336         case OneofFieldOneofCase.OneofNestedMessage:
1337           OneofNestedMessage = other.OneofNestedMessage;
1338           break;
1339         case OneofFieldOneofCase.OneofString:
1340           OneofString = other.OneofString;
1341           break;
1342         case OneofFieldOneofCase.OneofBytes:
1343           OneofBytes = other.OneofBytes;
1344           break;
1345       }
1346 
1347     }
1348 
1349     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)1350     public void MergeFrom(pb::CodedInputStream input) {
1351       uint tag;
1352       while ((tag = input.ReadTag()) != 0) {
1353         switch(tag) {
1354           default:
1355             input.SkipLastField();
1356             break;
1357           case 8: {
1358             SingleInt32 = input.ReadInt32();
1359             break;
1360           }
1361           case 16: {
1362             SingleInt64 = input.ReadInt64();
1363             break;
1364           }
1365           case 24: {
1366             SingleUint32 = input.ReadUInt32();
1367             break;
1368           }
1369           case 32: {
1370             SingleUint64 = input.ReadUInt64();
1371             break;
1372           }
1373           case 40: {
1374             SingleSint32 = input.ReadSInt32();
1375             break;
1376           }
1377           case 48: {
1378             SingleSint64 = input.ReadSInt64();
1379             break;
1380           }
1381           case 61: {
1382             SingleFixed32 = input.ReadFixed32();
1383             break;
1384           }
1385           case 65: {
1386             SingleFixed64 = input.ReadFixed64();
1387             break;
1388           }
1389           case 77: {
1390             SingleSfixed32 = input.ReadSFixed32();
1391             break;
1392           }
1393           case 81: {
1394             SingleSfixed64 = input.ReadSFixed64();
1395             break;
1396           }
1397           case 93: {
1398             SingleFloat = input.ReadFloat();
1399             break;
1400           }
1401           case 97: {
1402             SingleDouble = input.ReadDouble();
1403             break;
1404           }
1405           case 104: {
1406             SingleBool = input.ReadBool();
1407             break;
1408           }
1409           case 114: {
1410             SingleString = input.ReadString();
1411             break;
1412           }
1413           case 122: {
1414             SingleBytes = input.ReadBytes();
1415             break;
1416           }
1417           case 146: {
1418             if (singleNestedMessage_ == null) {
1419               singleNestedMessage_ = new global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage();
1420             }
1421             input.ReadMessage(singleNestedMessage_);
1422             break;
1423           }
1424           case 154: {
1425             if (singleForeignMessage_ == null) {
1426               singleForeignMessage_ = new global::Google.Protobuf.TestProtos.ForeignMessage();
1427             }
1428             input.ReadMessage(singleForeignMessage_);
1429             break;
1430           }
1431           case 162: {
1432             if (singleImportMessage_ == null) {
1433               singleImportMessage_ = new global::Google.Protobuf.TestProtos.ImportMessage();
1434             }
1435             input.ReadMessage(singleImportMessage_);
1436             break;
1437           }
1438           case 168: {
1439             singleNestedEnum_ = (global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum) input.ReadEnum();
1440             break;
1441           }
1442           case 176: {
1443             singleForeignEnum_ = (global::Google.Protobuf.TestProtos.ForeignEnum) input.ReadEnum();
1444             break;
1445           }
1446           case 184: {
1447             singleImportEnum_ = (global::Google.Protobuf.TestProtos.ImportEnum) input.ReadEnum();
1448             break;
1449           }
1450           case 210: {
1451             if (singlePublicImportMessage_ == null) {
1452               singlePublicImportMessage_ = new global::Google.Protobuf.TestProtos.PublicImportMessage();
1453             }
1454             input.ReadMessage(singlePublicImportMessage_);
1455             break;
1456           }
1457           case 250:
1458           case 248: {
1459             repeatedInt32_.AddEntriesFrom(input, _repeated_repeatedInt32_codec);
1460             break;
1461           }
1462           case 258:
1463           case 256: {
1464             repeatedInt64_.AddEntriesFrom(input, _repeated_repeatedInt64_codec);
1465             break;
1466           }
1467           case 266:
1468           case 264: {
1469             repeatedUint32_.AddEntriesFrom(input, _repeated_repeatedUint32_codec);
1470             break;
1471           }
1472           case 274:
1473           case 272: {
1474             repeatedUint64_.AddEntriesFrom(input, _repeated_repeatedUint64_codec);
1475             break;
1476           }
1477           case 282:
1478           case 280: {
1479             repeatedSint32_.AddEntriesFrom(input, _repeated_repeatedSint32_codec);
1480             break;
1481           }
1482           case 290:
1483           case 288: {
1484             repeatedSint64_.AddEntriesFrom(input, _repeated_repeatedSint64_codec);
1485             break;
1486           }
1487           case 298:
1488           case 301: {
1489             repeatedFixed32_.AddEntriesFrom(input, _repeated_repeatedFixed32_codec);
1490             break;
1491           }
1492           case 306:
1493           case 305: {
1494             repeatedFixed64_.AddEntriesFrom(input, _repeated_repeatedFixed64_codec);
1495             break;
1496           }
1497           case 314:
1498           case 317: {
1499             repeatedSfixed32_.AddEntriesFrom(input, _repeated_repeatedSfixed32_codec);
1500             break;
1501           }
1502           case 322:
1503           case 321: {
1504             repeatedSfixed64_.AddEntriesFrom(input, _repeated_repeatedSfixed64_codec);
1505             break;
1506           }
1507           case 330:
1508           case 333: {
1509             repeatedFloat_.AddEntriesFrom(input, _repeated_repeatedFloat_codec);
1510             break;
1511           }
1512           case 338:
1513           case 337: {
1514             repeatedDouble_.AddEntriesFrom(input, _repeated_repeatedDouble_codec);
1515             break;
1516           }
1517           case 346:
1518           case 344: {
1519             repeatedBool_.AddEntriesFrom(input, _repeated_repeatedBool_codec);
1520             break;
1521           }
1522           case 354: {
1523             repeatedString_.AddEntriesFrom(input, _repeated_repeatedString_codec);
1524             break;
1525           }
1526           case 362: {
1527             repeatedBytes_.AddEntriesFrom(input, _repeated_repeatedBytes_codec);
1528             break;
1529           }
1530           case 386: {
1531             repeatedNestedMessage_.AddEntriesFrom(input, _repeated_repeatedNestedMessage_codec);
1532             break;
1533           }
1534           case 394: {
1535             repeatedForeignMessage_.AddEntriesFrom(input, _repeated_repeatedForeignMessage_codec);
1536             break;
1537           }
1538           case 402: {
1539             repeatedImportMessage_.AddEntriesFrom(input, _repeated_repeatedImportMessage_codec);
1540             break;
1541           }
1542           case 410:
1543           case 408: {
1544             repeatedNestedEnum_.AddEntriesFrom(input, _repeated_repeatedNestedEnum_codec);
1545             break;
1546           }
1547           case 418:
1548           case 416: {
1549             repeatedForeignEnum_.AddEntriesFrom(input, _repeated_repeatedForeignEnum_codec);
1550             break;
1551           }
1552           case 426:
1553           case 424: {
1554             repeatedImportEnum_.AddEntriesFrom(input, _repeated_repeatedImportEnum_codec);
1555             break;
1556           }
1557           case 434: {
1558             repeatedPublicImportMessage_.AddEntriesFrom(input, _repeated_repeatedPublicImportMessage_codec);
1559             break;
1560           }
1561           case 888: {
1562             OneofUint32 = input.ReadUInt32();
1563             break;
1564           }
1565           case 898: {
1566             global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage subBuilder = new global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage();
1567             if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
1568               subBuilder.MergeFrom(OneofNestedMessage);
1569             }
1570             input.ReadMessage(subBuilder);
1571             OneofNestedMessage = subBuilder;
1572             break;
1573           }
1574           case 906: {
1575             OneofString = input.ReadString();
1576             break;
1577           }
1578           case 914: {
1579             OneofBytes = input.ReadBytes();
1580             break;
1581           }
1582         }
1583       }
1584     }
1585 
1586     #region Nested types
1587     /// <summary>Container for nested types declared in the TestAllTypes message type.</summary>
1588     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1589     public static partial class Types {
1590       public enum NestedEnum {
1591         [pbr::OriginalName("NESTED_ENUM_UNSPECIFIED")] Unspecified = 0,
1592         [pbr::OriginalName("FOO")] Foo = 1,
1593         [pbr::OriginalName("BAR")] Bar = 2,
1594         [pbr::OriginalName("BAZ")] Baz = 3,
1595         /// <summary>
1596         ///  Intentionally negative.
1597         /// </summary>
1598         [pbr::OriginalName("NEG")] Neg = -1,
1599       }
1600 
1601       public sealed partial class NestedMessage : pb::IMessage<NestedMessage> {
1602         private static readonly pb::MessageParser<NestedMessage> _parser = new pb::MessageParser<NestedMessage>(() => new NestedMessage());
1603         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1604         public static pb::MessageParser<NestedMessage> Parser { get { return _parser; } }
1605 
1606         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1607         public static pbr::MessageDescriptor Descriptor {
1608           get { return global::Google.Protobuf.TestProtos.TestAllTypes.Descriptor.NestedTypes[0]; }
1609         }
1610 
1611         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1612         pbr::MessageDescriptor pb::IMessage.Descriptor {
1613           get { return Descriptor; }
1614         }
1615 
1616         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
NestedMessage()1617         public NestedMessage() {
1618           OnConstruction();
1619         }
1620 
OnConstruction()1621         partial void OnConstruction();
1622 
1623         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
NestedMessage(NestedMessage other)1624         public NestedMessage(NestedMessage other) : this() {
1625           bb_ = other.bb_;
1626         }
1627 
1628         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()1629         public NestedMessage Clone() {
1630           return new NestedMessage(this);
1631         }
1632 
1633         /// <summary>Field number for the "bb" field.</summary>
1634         public const int BbFieldNumber = 1;
1635         private int bb_;
1636         /// <summary>
1637         ///  The field name "b" fails to compile in proto1 because it conflicts with
1638         ///  a local variable named "b" in one of the generated methods.  Doh.
1639         ///  This file needs to compile in proto1 to test backwards-compatibility.
1640         /// </summary>
1641         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1642         public int Bb {
1643           get { return bb_; }
1644           set {
1645             bb_ = value;
1646           }
1647         }
1648 
1649         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)1650         public override bool Equals(object other) {
1651           return Equals(other as NestedMessage);
1652         }
1653 
1654         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(NestedMessage other)1655         public bool Equals(NestedMessage other) {
1656           if (ReferenceEquals(other, null)) {
1657             return false;
1658           }
1659           if (ReferenceEquals(other, this)) {
1660             return true;
1661           }
1662           if (Bb != other.Bb) return false;
1663           return true;
1664         }
1665 
1666         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()1667         public override int GetHashCode() {
1668           int hash = 1;
1669           if (Bb != 0) hash ^= Bb.GetHashCode();
1670           return hash;
1671         }
1672 
1673         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()1674         public override string ToString() {
1675           return pb::JsonFormatter.ToDiagnosticString(this);
1676         }
1677 
1678         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)1679         public void WriteTo(pb::CodedOutputStream output) {
1680           if (Bb != 0) {
1681             output.WriteRawTag(8);
1682             output.WriteInt32(Bb);
1683           }
1684         }
1685 
1686         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()1687         public int CalculateSize() {
1688           int size = 0;
1689           if (Bb != 0) {
1690             size += 1 + pb::CodedOutputStream.ComputeInt32Size(Bb);
1691           }
1692           return size;
1693         }
1694 
1695         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(NestedMessage other)1696         public void MergeFrom(NestedMessage other) {
1697           if (other == null) {
1698             return;
1699           }
1700           if (other.Bb != 0) {
1701             Bb = other.Bb;
1702           }
1703         }
1704 
1705         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)1706         public void MergeFrom(pb::CodedInputStream input) {
1707           uint tag;
1708           while ((tag = input.ReadTag()) != 0) {
1709             switch(tag) {
1710               default:
1711                 input.SkipLastField();
1712                 break;
1713               case 8: {
1714                 Bb = input.ReadInt32();
1715                 break;
1716               }
1717             }
1718           }
1719         }
1720 
1721       }
1722 
1723     }
1724     #endregion
1725 
1726   }
1727 
1728   /// <summary>
1729   ///  This proto includes a recusively nested message.
1730   /// </summary>
1731   public sealed partial class NestedTestAllTypes : pb::IMessage<NestedTestAllTypes> {
1732     private static readonly pb::MessageParser<NestedTestAllTypes> _parser = new pb::MessageParser<NestedTestAllTypes>(() => new NestedTestAllTypes());
1733     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1734     public static pb::MessageParser<NestedTestAllTypes> Parser { get { return _parser; } }
1735 
1736     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1737     public static pbr::MessageDescriptor Descriptor {
1738       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[1]; }
1739     }
1740 
1741     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1742     pbr::MessageDescriptor pb::IMessage.Descriptor {
1743       get { return Descriptor; }
1744     }
1745 
1746     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
NestedTestAllTypes()1747     public NestedTestAllTypes() {
1748       OnConstruction();
1749     }
1750 
OnConstruction()1751     partial void OnConstruction();
1752 
1753     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
NestedTestAllTypes(NestedTestAllTypes other)1754     public NestedTestAllTypes(NestedTestAllTypes other) : this() {
1755       Child = other.child_ != null ? other.Child.Clone() : null;
1756       Payload = other.payload_ != null ? other.Payload.Clone() : null;
1757       repeatedChild_ = other.repeatedChild_.Clone();
1758     }
1759 
1760     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()1761     public NestedTestAllTypes Clone() {
1762       return new NestedTestAllTypes(this);
1763     }
1764 
1765     /// <summary>Field number for the "child" field.</summary>
1766     public const int ChildFieldNumber = 1;
1767     private global::Google.Protobuf.TestProtos.NestedTestAllTypes child_;
1768     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1769     public global::Google.Protobuf.TestProtos.NestedTestAllTypes Child {
1770       get { return child_; }
1771       set {
1772         child_ = value;
1773       }
1774     }
1775 
1776     /// <summary>Field number for the "payload" field.</summary>
1777     public const int PayloadFieldNumber = 2;
1778     private global::Google.Protobuf.TestProtos.TestAllTypes payload_;
1779     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1780     public global::Google.Protobuf.TestProtos.TestAllTypes Payload {
1781       get { return payload_; }
1782       set {
1783         payload_ = value;
1784       }
1785     }
1786 
1787     /// <summary>Field number for the "repeated_child" field.</summary>
1788     public const int RepeatedChildFieldNumber = 3;
1789     private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.NestedTestAllTypes> _repeated_repeatedChild_codec
1790         = pb::FieldCodec.ForMessage(26, global::Google.Protobuf.TestProtos.NestedTestAllTypes.Parser);
1791     private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.NestedTestAllTypes> repeatedChild_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.NestedTestAllTypes>();
1792     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1793     public pbc::RepeatedField<global::Google.Protobuf.TestProtos.NestedTestAllTypes> RepeatedChild {
1794       get { return repeatedChild_; }
1795     }
1796 
1797     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)1798     public override bool Equals(object other) {
1799       return Equals(other as NestedTestAllTypes);
1800     }
1801 
1802     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(NestedTestAllTypes other)1803     public bool Equals(NestedTestAllTypes other) {
1804       if (ReferenceEquals(other, null)) {
1805         return false;
1806       }
1807       if (ReferenceEquals(other, this)) {
1808         return true;
1809       }
1810       if (!object.Equals(Child, other.Child)) return false;
1811       if (!object.Equals(Payload, other.Payload)) return false;
1812       if(!repeatedChild_.Equals(other.repeatedChild_)) return false;
1813       return true;
1814     }
1815 
1816     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()1817     public override int GetHashCode() {
1818       int hash = 1;
1819       if (child_ != null) hash ^= Child.GetHashCode();
1820       if (payload_ != null) hash ^= Payload.GetHashCode();
1821       hash ^= repeatedChild_.GetHashCode();
1822       return hash;
1823     }
1824 
1825     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()1826     public override string ToString() {
1827       return pb::JsonFormatter.ToDiagnosticString(this);
1828     }
1829 
1830     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)1831     public void WriteTo(pb::CodedOutputStream output) {
1832       if (child_ != null) {
1833         output.WriteRawTag(10);
1834         output.WriteMessage(Child);
1835       }
1836       if (payload_ != null) {
1837         output.WriteRawTag(18);
1838         output.WriteMessage(Payload);
1839       }
1840       repeatedChild_.WriteTo(output, _repeated_repeatedChild_codec);
1841     }
1842 
1843     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()1844     public int CalculateSize() {
1845       int size = 0;
1846       if (child_ != null) {
1847         size += 1 + pb::CodedOutputStream.ComputeMessageSize(Child);
1848       }
1849       if (payload_ != null) {
1850         size += 1 + pb::CodedOutputStream.ComputeMessageSize(Payload);
1851       }
1852       size += repeatedChild_.CalculateSize(_repeated_repeatedChild_codec);
1853       return size;
1854     }
1855 
1856     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(NestedTestAllTypes other)1857     public void MergeFrom(NestedTestAllTypes other) {
1858       if (other == null) {
1859         return;
1860       }
1861       if (other.child_ != null) {
1862         if (child_ == null) {
1863           child_ = new global::Google.Protobuf.TestProtos.NestedTestAllTypes();
1864         }
1865         Child.MergeFrom(other.Child);
1866       }
1867       if (other.payload_ != null) {
1868         if (payload_ == null) {
1869           payload_ = new global::Google.Protobuf.TestProtos.TestAllTypes();
1870         }
1871         Payload.MergeFrom(other.Payload);
1872       }
1873       repeatedChild_.Add(other.repeatedChild_);
1874     }
1875 
1876     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)1877     public void MergeFrom(pb::CodedInputStream input) {
1878       uint tag;
1879       while ((tag = input.ReadTag()) != 0) {
1880         switch(tag) {
1881           default:
1882             input.SkipLastField();
1883             break;
1884           case 10: {
1885             if (child_ == null) {
1886               child_ = new global::Google.Protobuf.TestProtos.NestedTestAllTypes();
1887             }
1888             input.ReadMessage(child_);
1889             break;
1890           }
1891           case 18: {
1892             if (payload_ == null) {
1893               payload_ = new global::Google.Protobuf.TestProtos.TestAllTypes();
1894             }
1895             input.ReadMessage(payload_);
1896             break;
1897           }
1898           case 26: {
1899             repeatedChild_.AddEntriesFrom(input, _repeated_repeatedChild_codec);
1900             break;
1901           }
1902         }
1903       }
1904     }
1905 
1906   }
1907 
1908   public sealed partial class TestDeprecatedFields : pb::IMessage<TestDeprecatedFields> {
1909     private static readonly pb::MessageParser<TestDeprecatedFields> _parser = new pb::MessageParser<TestDeprecatedFields>(() => new TestDeprecatedFields());
1910     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1911     public static pb::MessageParser<TestDeprecatedFields> Parser { get { return _parser; } }
1912 
1913     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1914     public static pbr::MessageDescriptor Descriptor {
1915       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[2]; }
1916     }
1917 
1918     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1919     pbr::MessageDescriptor pb::IMessage.Descriptor {
1920       get { return Descriptor; }
1921     }
1922 
1923     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestDeprecatedFields()1924     public TestDeprecatedFields() {
1925       OnConstruction();
1926     }
1927 
OnConstruction()1928     partial void OnConstruction();
1929 
1930     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestDeprecatedFields(TestDeprecatedFields other)1931     public TestDeprecatedFields(TestDeprecatedFields other) : this() {
1932       deprecatedInt32_ = other.deprecatedInt32_;
1933     }
1934 
1935     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()1936     public TestDeprecatedFields Clone() {
1937       return new TestDeprecatedFields(this);
1938     }
1939 
1940     /// <summary>Field number for the "deprecated_int32" field.</summary>
1941     public const int DeprecatedInt32FieldNumber = 1;
1942     private int deprecatedInt32_;
1943     [global::System.ObsoleteAttribute]
1944     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1945     public int DeprecatedInt32 {
1946       get { return deprecatedInt32_; }
1947       set {
1948         deprecatedInt32_ = value;
1949       }
1950     }
1951 
1952     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)1953     public override bool Equals(object other) {
1954       return Equals(other as TestDeprecatedFields);
1955     }
1956 
1957     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestDeprecatedFields other)1958     public bool Equals(TestDeprecatedFields other) {
1959       if (ReferenceEquals(other, null)) {
1960         return false;
1961       }
1962       if (ReferenceEquals(other, this)) {
1963         return true;
1964       }
1965       if (DeprecatedInt32 != other.DeprecatedInt32) return false;
1966       return true;
1967     }
1968 
1969     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()1970     public override int GetHashCode() {
1971       int hash = 1;
1972       if (DeprecatedInt32 != 0) hash ^= DeprecatedInt32.GetHashCode();
1973       return hash;
1974     }
1975 
1976     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()1977     public override string ToString() {
1978       return pb::JsonFormatter.ToDiagnosticString(this);
1979     }
1980 
1981     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)1982     public void WriteTo(pb::CodedOutputStream output) {
1983       if (DeprecatedInt32 != 0) {
1984         output.WriteRawTag(8);
1985         output.WriteInt32(DeprecatedInt32);
1986       }
1987     }
1988 
1989     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()1990     public int CalculateSize() {
1991       int size = 0;
1992       if (DeprecatedInt32 != 0) {
1993         size += 1 + pb::CodedOutputStream.ComputeInt32Size(DeprecatedInt32);
1994       }
1995       return size;
1996     }
1997 
1998     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestDeprecatedFields other)1999     public void MergeFrom(TestDeprecatedFields other) {
2000       if (other == null) {
2001         return;
2002       }
2003       if (other.DeprecatedInt32 != 0) {
2004         DeprecatedInt32 = other.DeprecatedInt32;
2005       }
2006     }
2007 
2008     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)2009     public void MergeFrom(pb::CodedInputStream input) {
2010       uint tag;
2011       while ((tag = input.ReadTag()) != 0) {
2012         switch(tag) {
2013           default:
2014             input.SkipLastField();
2015             break;
2016           case 8: {
2017             DeprecatedInt32 = input.ReadInt32();
2018             break;
2019           }
2020         }
2021       }
2022     }
2023 
2024   }
2025 
2026   /// <summary>
2027   ///  Define these after TestAllTypes to make sure the compiler can handle
2028   ///  that.
2029   /// </summary>
2030   public sealed partial class ForeignMessage : pb::IMessage<ForeignMessage> {
2031     private static readonly pb::MessageParser<ForeignMessage> _parser = new pb::MessageParser<ForeignMessage>(() => new ForeignMessage());
2032     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2033     public static pb::MessageParser<ForeignMessage> Parser { get { return _parser; } }
2034 
2035     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2036     public static pbr::MessageDescriptor Descriptor {
2037       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[3]; }
2038     }
2039 
2040     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2041     pbr::MessageDescriptor pb::IMessage.Descriptor {
2042       get { return Descriptor; }
2043     }
2044 
2045     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ForeignMessage()2046     public ForeignMessage() {
2047       OnConstruction();
2048     }
2049 
OnConstruction()2050     partial void OnConstruction();
2051 
2052     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ForeignMessage(ForeignMessage other)2053     public ForeignMessage(ForeignMessage other) : this() {
2054       c_ = other.c_;
2055     }
2056 
2057     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()2058     public ForeignMessage Clone() {
2059       return new ForeignMessage(this);
2060     }
2061 
2062     /// <summary>Field number for the "c" field.</summary>
2063     public const int CFieldNumber = 1;
2064     private int c_;
2065     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2066     public int C {
2067       get { return c_; }
2068       set {
2069         c_ = value;
2070       }
2071     }
2072 
2073     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)2074     public override bool Equals(object other) {
2075       return Equals(other as ForeignMessage);
2076     }
2077 
2078     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(ForeignMessage other)2079     public bool Equals(ForeignMessage other) {
2080       if (ReferenceEquals(other, null)) {
2081         return false;
2082       }
2083       if (ReferenceEquals(other, this)) {
2084         return true;
2085       }
2086       if (C != other.C) return false;
2087       return true;
2088     }
2089 
2090     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()2091     public override int GetHashCode() {
2092       int hash = 1;
2093       if (C != 0) hash ^= C.GetHashCode();
2094       return hash;
2095     }
2096 
2097     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()2098     public override string ToString() {
2099       return pb::JsonFormatter.ToDiagnosticString(this);
2100     }
2101 
2102     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)2103     public void WriteTo(pb::CodedOutputStream output) {
2104       if (C != 0) {
2105         output.WriteRawTag(8);
2106         output.WriteInt32(C);
2107       }
2108     }
2109 
2110     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()2111     public int CalculateSize() {
2112       int size = 0;
2113       if (C != 0) {
2114         size += 1 + pb::CodedOutputStream.ComputeInt32Size(C);
2115       }
2116       return size;
2117     }
2118 
2119     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(ForeignMessage other)2120     public void MergeFrom(ForeignMessage other) {
2121       if (other == null) {
2122         return;
2123       }
2124       if (other.C != 0) {
2125         C = other.C;
2126       }
2127     }
2128 
2129     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)2130     public void MergeFrom(pb::CodedInputStream input) {
2131       uint tag;
2132       while ((tag = input.ReadTag()) != 0) {
2133         switch(tag) {
2134           default:
2135             input.SkipLastField();
2136             break;
2137           case 8: {
2138             C = input.ReadInt32();
2139             break;
2140           }
2141         }
2142       }
2143     }
2144 
2145   }
2146 
2147   public sealed partial class TestReservedFields : pb::IMessage<TestReservedFields> {
2148     private static readonly pb::MessageParser<TestReservedFields> _parser = new pb::MessageParser<TestReservedFields>(() => new TestReservedFields());
2149     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2150     public static pb::MessageParser<TestReservedFields> Parser { get { return _parser; } }
2151 
2152     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2153     public static pbr::MessageDescriptor Descriptor {
2154       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[4]; }
2155     }
2156 
2157     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2158     pbr::MessageDescriptor pb::IMessage.Descriptor {
2159       get { return Descriptor; }
2160     }
2161 
2162     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestReservedFields()2163     public TestReservedFields() {
2164       OnConstruction();
2165     }
2166 
OnConstruction()2167     partial void OnConstruction();
2168 
2169     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestReservedFields(TestReservedFields other)2170     public TestReservedFields(TestReservedFields other) : this() {
2171     }
2172 
2173     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()2174     public TestReservedFields Clone() {
2175       return new TestReservedFields(this);
2176     }
2177 
2178     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)2179     public override bool Equals(object other) {
2180       return Equals(other as TestReservedFields);
2181     }
2182 
2183     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestReservedFields other)2184     public bool Equals(TestReservedFields other) {
2185       if (ReferenceEquals(other, null)) {
2186         return false;
2187       }
2188       if (ReferenceEquals(other, this)) {
2189         return true;
2190       }
2191       return true;
2192     }
2193 
2194     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()2195     public override int GetHashCode() {
2196       int hash = 1;
2197       return hash;
2198     }
2199 
2200     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()2201     public override string ToString() {
2202       return pb::JsonFormatter.ToDiagnosticString(this);
2203     }
2204 
2205     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)2206     public void WriteTo(pb::CodedOutputStream output) {
2207     }
2208 
2209     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()2210     public int CalculateSize() {
2211       int size = 0;
2212       return size;
2213     }
2214 
2215     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestReservedFields other)2216     public void MergeFrom(TestReservedFields other) {
2217       if (other == null) {
2218         return;
2219       }
2220     }
2221 
2222     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)2223     public void MergeFrom(pb::CodedInputStream input) {
2224       uint tag;
2225       while ((tag = input.ReadTag()) != 0) {
2226         switch(tag) {
2227           default:
2228             input.SkipLastField();
2229             break;
2230         }
2231       }
2232     }
2233 
2234   }
2235 
2236   /// <summary>
2237   ///  Test that we can use NestedMessage from outside TestAllTypes.
2238   /// </summary>
2239   public sealed partial class TestForeignNested : pb::IMessage<TestForeignNested> {
2240     private static readonly pb::MessageParser<TestForeignNested> _parser = new pb::MessageParser<TestForeignNested>(() => new TestForeignNested());
2241     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2242     public static pb::MessageParser<TestForeignNested> Parser { get { return _parser; } }
2243 
2244     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2245     public static pbr::MessageDescriptor Descriptor {
2246       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[5]; }
2247     }
2248 
2249     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2250     pbr::MessageDescriptor pb::IMessage.Descriptor {
2251       get { return Descriptor; }
2252     }
2253 
2254     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestForeignNested()2255     public TestForeignNested() {
2256       OnConstruction();
2257     }
2258 
OnConstruction()2259     partial void OnConstruction();
2260 
2261     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestForeignNested(TestForeignNested other)2262     public TestForeignNested(TestForeignNested other) : this() {
2263       ForeignNested = other.foreignNested_ != null ? other.ForeignNested.Clone() : null;
2264     }
2265 
2266     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()2267     public TestForeignNested Clone() {
2268       return new TestForeignNested(this);
2269     }
2270 
2271     /// <summary>Field number for the "foreign_nested" field.</summary>
2272     public const int ForeignNestedFieldNumber = 1;
2273     private global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage foreignNested_;
2274     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2275     public global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage ForeignNested {
2276       get { return foreignNested_; }
2277       set {
2278         foreignNested_ = value;
2279       }
2280     }
2281 
2282     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)2283     public override bool Equals(object other) {
2284       return Equals(other as TestForeignNested);
2285     }
2286 
2287     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestForeignNested other)2288     public bool Equals(TestForeignNested other) {
2289       if (ReferenceEquals(other, null)) {
2290         return false;
2291       }
2292       if (ReferenceEquals(other, this)) {
2293         return true;
2294       }
2295       if (!object.Equals(ForeignNested, other.ForeignNested)) return false;
2296       return true;
2297     }
2298 
2299     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()2300     public override int GetHashCode() {
2301       int hash = 1;
2302       if (foreignNested_ != null) hash ^= ForeignNested.GetHashCode();
2303       return hash;
2304     }
2305 
2306     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()2307     public override string ToString() {
2308       return pb::JsonFormatter.ToDiagnosticString(this);
2309     }
2310 
2311     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)2312     public void WriteTo(pb::CodedOutputStream output) {
2313       if (foreignNested_ != null) {
2314         output.WriteRawTag(10);
2315         output.WriteMessage(ForeignNested);
2316       }
2317     }
2318 
2319     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()2320     public int CalculateSize() {
2321       int size = 0;
2322       if (foreignNested_ != null) {
2323         size += 1 + pb::CodedOutputStream.ComputeMessageSize(ForeignNested);
2324       }
2325       return size;
2326     }
2327 
2328     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestForeignNested other)2329     public void MergeFrom(TestForeignNested other) {
2330       if (other == null) {
2331         return;
2332       }
2333       if (other.foreignNested_ != null) {
2334         if (foreignNested_ == null) {
2335           foreignNested_ = new global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage();
2336         }
2337         ForeignNested.MergeFrom(other.ForeignNested);
2338       }
2339     }
2340 
2341     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)2342     public void MergeFrom(pb::CodedInputStream input) {
2343       uint tag;
2344       while ((tag = input.ReadTag()) != 0) {
2345         switch(tag) {
2346           default:
2347             input.SkipLastField();
2348             break;
2349           case 10: {
2350             if (foreignNested_ == null) {
2351               foreignNested_ = new global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage();
2352             }
2353             input.ReadMessage(foreignNested_);
2354             break;
2355           }
2356         }
2357       }
2358     }
2359 
2360   }
2361 
2362   /// <summary>
2363   ///  Test that really large tag numbers don't break anything.
2364   /// </summary>
2365   public sealed partial class TestReallyLargeTagNumber : pb::IMessage<TestReallyLargeTagNumber> {
2366     private static readonly pb::MessageParser<TestReallyLargeTagNumber> _parser = new pb::MessageParser<TestReallyLargeTagNumber>(() => new TestReallyLargeTagNumber());
2367     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2368     public static pb::MessageParser<TestReallyLargeTagNumber> Parser { get { return _parser; } }
2369 
2370     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2371     public static pbr::MessageDescriptor Descriptor {
2372       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[6]; }
2373     }
2374 
2375     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2376     pbr::MessageDescriptor pb::IMessage.Descriptor {
2377       get { return Descriptor; }
2378     }
2379 
2380     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestReallyLargeTagNumber()2381     public TestReallyLargeTagNumber() {
2382       OnConstruction();
2383     }
2384 
OnConstruction()2385     partial void OnConstruction();
2386 
2387     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestReallyLargeTagNumber(TestReallyLargeTagNumber other)2388     public TestReallyLargeTagNumber(TestReallyLargeTagNumber other) : this() {
2389       a_ = other.a_;
2390       bb_ = other.bb_;
2391     }
2392 
2393     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()2394     public TestReallyLargeTagNumber Clone() {
2395       return new TestReallyLargeTagNumber(this);
2396     }
2397 
2398     /// <summary>Field number for the "a" field.</summary>
2399     public const int AFieldNumber = 1;
2400     private int a_;
2401     /// <summary>
2402     ///  The largest possible tag number is 2^28 - 1, since the wire format uses
2403     ///  three bits to communicate wire type.
2404     /// </summary>
2405     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2406     public int A {
2407       get { return a_; }
2408       set {
2409         a_ = value;
2410       }
2411     }
2412 
2413     /// <summary>Field number for the "bb" field.</summary>
2414     public const int BbFieldNumber = 268435455;
2415     private int bb_;
2416     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2417     public int Bb {
2418       get { return bb_; }
2419       set {
2420         bb_ = value;
2421       }
2422     }
2423 
2424     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)2425     public override bool Equals(object other) {
2426       return Equals(other as TestReallyLargeTagNumber);
2427     }
2428 
2429     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestReallyLargeTagNumber other)2430     public bool Equals(TestReallyLargeTagNumber other) {
2431       if (ReferenceEquals(other, null)) {
2432         return false;
2433       }
2434       if (ReferenceEquals(other, this)) {
2435         return true;
2436       }
2437       if (A != other.A) return false;
2438       if (Bb != other.Bb) return false;
2439       return true;
2440     }
2441 
2442     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()2443     public override int GetHashCode() {
2444       int hash = 1;
2445       if (A != 0) hash ^= A.GetHashCode();
2446       if (Bb != 0) hash ^= Bb.GetHashCode();
2447       return hash;
2448     }
2449 
2450     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()2451     public override string ToString() {
2452       return pb::JsonFormatter.ToDiagnosticString(this);
2453     }
2454 
2455     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)2456     public void WriteTo(pb::CodedOutputStream output) {
2457       if (A != 0) {
2458         output.WriteRawTag(8);
2459         output.WriteInt32(A);
2460       }
2461       if (Bb != 0) {
2462         output.WriteRawTag(248, 255, 255, 255, 7);
2463         output.WriteInt32(Bb);
2464       }
2465     }
2466 
2467     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()2468     public int CalculateSize() {
2469       int size = 0;
2470       if (A != 0) {
2471         size += 1 + pb::CodedOutputStream.ComputeInt32Size(A);
2472       }
2473       if (Bb != 0) {
2474         size += 5 + pb::CodedOutputStream.ComputeInt32Size(Bb);
2475       }
2476       return size;
2477     }
2478 
2479     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestReallyLargeTagNumber other)2480     public void MergeFrom(TestReallyLargeTagNumber other) {
2481       if (other == null) {
2482         return;
2483       }
2484       if (other.A != 0) {
2485         A = other.A;
2486       }
2487       if (other.Bb != 0) {
2488         Bb = other.Bb;
2489       }
2490     }
2491 
2492     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)2493     public void MergeFrom(pb::CodedInputStream input) {
2494       uint tag;
2495       while ((tag = input.ReadTag()) != 0) {
2496         switch(tag) {
2497           default:
2498             input.SkipLastField();
2499             break;
2500           case 8: {
2501             A = input.ReadInt32();
2502             break;
2503           }
2504           case 2147483640: {
2505             Bb = input.ReadInt32();
2506             break;
2507           }
2508         }
2509       }
2510     }
2511 
2512   }
2513 
2514   public sealed partial class TestRecursiveMessage : pb::IMessage<TestRecursiveMessage> {
2515     private static readonly pb::MessageParser<TestRecursiveMessage> _parser = new pb::MessageParser<TestRecursiveMessage>(() => new TestRecursiveMessage());
2516     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2517     public static pb::MessageParser<TestRecursiveMessage> Parser { get { return _parser; } }
2518 
2519     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2520     public static pbr::MessageDescriptor Descriptor {
2521       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[7]; }
2522     }
2523 
2524     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2525     pbr::MessageDescriptor pb::IMessage.Descriptor {
2526       get { return Descriptor; }
2527     }
2528 
2529     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestRecursiveMessage()2530     public TestRecursiveMessage() {
2531       OnConstruction();
2532     }
2533 
OnConstruction()2534     partial void OnConstruction();
2535 
2536     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestRecursiveMessage(TestRecursiveMessage other)2537     public TestRecursiveMessage(TestRecursiveMessage other) : this() {
2538       A = other.a_ != null ? other.A.Clone() : null;
2539       i_ = other.i_;
2540     }
2541 
2542     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()2543     public TestRecursiveMessage Clone() {
2544       return new TestRecursiveMessage(this);
2545     }
2546 
2547     /// <summary>Field number for the "a" field.</summary>
2548     public const int AFieldNumber = 1;
2549     private global::Google.Protobuf.TestProtos.TestRecursiveMessage a_;
2550     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2551     public global::Google.Protobuf.TestProtos.TestRecursiveMessage A {
2552       get { return a_; }
2553       set {
2554         a_ = value;
2555       }
2556     }
2557 
2558     /// <summary>Field number for the "i" field.</summary>
2559     public const int IFieldNumber = 2;
2560     private int i_;
2561     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2562     public int I {
2563       get { return i_; }
2564       set {
2565         i_ = value;
2566       }
2567     }
2568 
2569     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)2570     public override bool Equals(object other) {
2571       return Equals(other as TestRecursiveMessage);
2572     }
2573 
2574     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestRecursiveMessage other)2575     public bool Equals(TestRecursiveMessage other) {
2576       if (ReferenceEquals(other, null)) {
2577         return false;
2578       }
2579       if (ReferenceEquals(other, this)) {
2580         return true;
2581       }
2582       if (!object.Equals(A, other.A)) return false;
2583       if (I != other.I) return false;
2584       return true;
2585     }
2586 
2587     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()2588     public override int GetHashCode() {
2589       int hash = 1;
2590       if (a_ != null) hash ^= A.GetHashCode();
2591       if (I != 0) hash ^= I.GetHashCode();
2592       return hash;
2593     }
2594 
2595     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()2596     public override string ToString() {
2597       return pb::JsonFormatter.ToDiagnosticString(this);
2598     }
2599 
2600     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)2601     public void WriteTo(pb::CodedOutputStream output) {
2602       if (a_ != null) {
2603         output.WriteRawTag(10);
2604         output.WriteMessage(A);
2605       }
2606       if (I != 0) {
2607         output.WriteRawTag(16);
2608         output.WriteInt32(I);
2609       }
2610     }
2611 
2612     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()2613     public int CalculateSize() {
2614       int size = 0;
2615       if (a_ != null) {
2616         size += 1 + pb::CodedOutputStream.ComputeMessageSize(A);
2617       }
2618       if (I != 0) {
2619         size += 1 + pb::CodedOutputStream.ComputeInt32Size(I);
2620       }
2621       return size;
2622     }
2623 
2624     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestRecursiveMessage other)2625     public void MergeFrom(TestRecursiveMessage other) {
2626       if (other == null) {
2627         return;
2628       }
2629       if (other.a_ != null) {
2630         if (a_ == null) {
2631           a_ = new global::Google.Protobuf.TestProtos.TestRecursiveMessage();
2632         }
2633         A.MergeFrom(other.A);
2634       }
2635       if (other.I != 0) {
2636         I = other.I;
2637       }
2638     }
2639 
2640     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)2641     public void MergeFrom(pb::CodedInputStream input) {
2642       uint tag;
2643       while ((tag = input.ReadTag()) != 0) {
2644         switch(tag) {
2645           default:
2646             input.SkipLastField();
2647             break;
2648           case 10: {
2649             if (a_ == null) {
2650               a_ = new global::Google.Protobuf.TestProtos.TestRecursiveMessage();
2651             }
2652             input.ReadMessage(a_);
2653             break;
2654           }
2655           case 16: {
2656             I = input.ReadInt32();
2657             break;
2658           }
2659         }
2660       }
2661     }
2662 
2663   }
2664 
2665   /// <summary>
2666   ///  Test that mutual recursion works.
2667   /// </summary>
2668   public sealed partial class TestMutualRecursionA : pb::IMessage<TestMutualRecursionA> {
2669     private static readonly pb::MessageParser<TestMutualRecursionA> _parser = new pb::MessageParser<TestMutualRecursionA>(() => new TestMutualRecursionA());
2670     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2671     public static pb::MessageParser<TestMutualRecursionA> Parser { get { return _parser; } }
2672 
2673     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2674     public static pbr::MessageDescriptor Descriptor {
2675       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[8]; }
2676     }
2677 
2678     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2679     pbr::MessageDescriptor pb::IMessage.Descriptor {
2680       get { return Descriptor; }
2681     }
2682 
2683     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestMutualRecursionA()2684     public TestMutualRecursionA() {
2685       OnConstruction();
2686     }
2687 
OnConstruction()2688     partial void OnConstruction();
2689 
2690     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestMutualRecursionA(TestMutualRecursionA other)2691     public TestMutualRecursionA(TestMutualRecursionA other) : this() {
2692       Bb = other.bb_ != null ? other.Bb.Clone() : null;
2693     }
2694 
2695     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()2696     public TestMutualRecursionA Clone() {
2697       return new TestMutualRecursionA(this);
2698     }
2699 
2700     /// <summary>Field number for the "bb" field.</summary>
2701     public const int BbFieldNumber = 1;
2702     private global::Google.Protobuf.TestProtos.TestMutualRecursionB bb_;
2703     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2704     public global::Google.Protobuf.TestProtos.TestMutualRecursionB Bb {
2705       get { return bb_; }
2706       set {
2707         bb_ = value;
2708       }
2709     }
2710 
2711     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)2712     public override bool Equals(object other) {
2713       return Equals(other as TestMutualRecursionA);
2714     }
2715 
2716     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestMutualRecursionA other)2717     public bool Equals(TestMutualRecursionA other) {
2718       if (ReferenceEquals(other, null)) {
2719         return false;
2720       }
2721       if (ReferenceEquals(other, this)) {
2722         return true;
2723       }
2724       if (!object.Equals(Bb, other.Bb)) return false;
2725       return true;
2726     }
2727 
2728     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()2729     public override int GetHashCode() {
2730       int hash = 1;
2731       if (bb_ != null) hash ^= Bb.GetHashCode();
2732       return hash;
2733     }
2734 
2735     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()2736     public override string ToString() {
2737       return pb::JsonFormatter.ToDiagnosticString(this);
2738     }
2739 
2740     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)2741     public void WriteTo(pb::CodedOutputStream output) {
2742       if (bb_ != null) {
2743         output.WriteRawTag(10);
2744         output.WriteMessage(Bb);
2745       }
2746     }
2747 
2748     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()2749     public int CalculateSize() {
2750       int size = 0;
2751       if (bb_ != null) {
2752         size += 1 + pb::CodedOutputStream.ComputeMessageSize(Bb);
2753       }
2754       return size;
2755     }
2756 
2757     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestMutualRecursionA other)2758     public void MergeFrom(TestMutualRecursionA other) {
2759       if (other == null) {
2760         return;
2761       }
2762       if (other.bb_ != null) {
2763         if (bb_ == null) {
2764           bb_ = new global::Google.Protobuf.TestProtos.TestMutualRecursionB();
2765         }
2766         Bb.MergeFrom(other.Bb);
2767       }
2768     }
2769 
2770     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)2771     public void MergeFrom(pb::CodedInputStream input) {
2772       uint tag;
2773       while ((tag = input.ReadTag()) != 0) {
2774         switch(tag) {
2775           default:
2776             input.SkipLastField();
2777             break;
2778           case 10: {
2779             if (bb_ == null) {
2780               bb_ = new global::Google.Protobuf.TestProtos.TestMutualRecursionB();
2781             }
2782             input.ReadMessage(bb_);
2783             break;
2784           }
2785         }
2786       }
2787     }
2788 
2789   }
2790 
2791   public sealed partial class TestMutualRecursionB : pb::IMessage<TestMutualRecursionB> {
2792     private static readonly pb::MessageParser<TestMutualRecursionB> _parser = new pb::MessageParser<TestMutualRecursionB>(() => new TestMutualRecursionB());
2793     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2794     public static pb::MessageParser<TestMutualRecursionB> Parser { get { return _parser; } }
2795 
2796     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2797     public static pbr::MessageDescriptor Descriptor {
2798       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[9]; }
2799     }
2800 
2801     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2802     pbr::MessageDescriptor pb::IMessage.Descriptor {
2803       get { return Descriptor; }
2804     }
2805 
2806     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestMutualRecursionB()2807     public TestMutualRecursionB() {
2808       OnConstruction();
2809     }
2810 
OnConstruction()2811     partial void OnConstruction();
2812 
2813     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestMutualRecursionB(TestMutualRecursionB other)2814     public TestMutualRecursionB(TestMutualRecursionB other) : this() {
2815       A = other.a_ != null ? other.A.Clone() : null;
2816       optionalInt32_ = other.optionalInt32_;
2817     }
2818 
2819     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()2820     public TestMutualRecursionB Clone() {
2821       return new TestMutualRecursionB(this);
2822     }
2823 
2824     /// <summary>Field number for the "a" field.</summary>
2825     public const int AFieldNumber = 1;
2826     private global::Google.Protobuf.TestProtos.TestMutualRecursionA a_;
2827     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2828     public global::Google.Protobuf.TestProtos.TestMutualRecursionA A {
2829       get { return a_; }
2830       set {
2831         a_ = value;
2832       }
2833     }
2834 
2835     /// <summary>Field number for the "optional_int32" field.</summary>
2836     public const int OptionalInt32FieldNumber = 2;
2837     private int optionalInt32_;
2838     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2839     public int OptionalInt32 {
2840       get { return optionalInt32_; }
2841       set {
2842         optionalInt32_ = value;
2843       }
2844     }
2845 
2846     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)2847     public override bool Equals(object other) {
2848       return Equals(other as TestMutualRecursionB);
2849     }
2850 
2851     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestMutualRecursionB other)2852     public bool Equals(TestMutualRecursionB other) {
2853       if (ReferenceEquals(other, null)) {
2854         return false;
2855       }
2856       if (ReferenceEquals(other, this)) {
2857         return true;
2858       }
2859       if (!object.Equals(A, other.A)) return false;
2860       if (OptionalInt32 != other.OptionalInt32) return false;
2861       return true;
2862     }
2863 
2864     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()2865     public override int GetHashCode() {
2866       int hash = 1;
2867       if (a_ != null) hash ^= A.GetHashCode();
2868       if (OptionalInt32 != 0) hash ^= OptionalInt32.GetHashCode();
2869       return hash;
2870     }
2871 
2872     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()2873     public override string ToString() {
2874       return pb::JsonFormatter.ToDiagnosticString(this);
2875     }
2876 
2877     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)2878     public void WriteTo(pb::CodedOutputStream output) {
2879       if (a_ != null) {
2880         output.WriteRawTag(10);
2881         output.WriteMessage(A);
2882       }
2883       if (OptionalInt32 != 0) {
2884         output.WriteRawTag(16);
2885         output.WriteInt32(OptionalInt32);
2886       }
2887     }
2888 
2889     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()2890     public int CalculateSize() {
2891       int size = 0;
2892       if (a_ != null) {
2893         size += 1 + pb::CodedOutputStream.ComputeMessageSize(A);
2894       }
2895       if (OptionalInt32 != 0) {
2896         size += 1 + pb::CodedOutputStream.ComputeInt32Size(OptionalInt32);
2897       }
2898       return size;
2899     }
2900 
2901     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestMutualRecursionB other)2902     public void MergeFrom(TestMutualRecursionB other) {
2903       if (other == null) {
2904         return;
2905       }
2906       if (other.a_ != null) {
2907         if (a_ == null) {
2908           a_ = new global::Google.Protobuf.TestProtos.TestMutualRecursionA();
2909         }
2910         A.MergeFrom(other.A);
2911       }
2912       if (other.OptionalInt32 != 0) {
2913         OptionalInt32 = other.OptionalInt32;
2914       }
2915     }
2916 
2917     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)2918     public void MergeFrom(pb::CodedInputStream input) {
2919       uint tag;
2920       while ((tag = input.ReadTag()) != 0) {
2921         switch(tag) {
2922           default:
2923             input.SkipLastField();
2924             break;
2925           case 10: {
2926             if (a_ == null) {
2927               a_ = new global::Google.Protobuf.TestProtos.TestMutualRecursionA();
2928             }
2929             input.ReadMessage(a_);
2930             break;
2931           }
2932           case 16: {
2933             OptionalInt32 = input.ReadInt32();
2934             break;
2935           }
2936         }
2937       }
2938     }
2939 
2940   }
2941 
2942   /// <summary>
2943   ///  Test message with CamelCase field names.  This violates Protocol Buffer
2944   ///  standard style.
2945   /// </summary>
2946   public sealed partial class TestCamelCaseFieldNames : pb::IMessage<TestCamelCaseFieldNames> {
2947     private static readonly pb::MessageParser<TestCamelCaseFieldNames> _parser = new pb::MessageParser<TestCamelCaseFieldNames>(() => new TestCamelCaseFieldNames());
2948     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2949     public static pb::MessageParser<TestCamelCaseFieldNames> Parser { get { return _parser; } }
2950 
2951     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2952     public static pbr::MessageDescriptor Descriptor {
2953       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[10]; }
2954     }
2955 
2956     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2957     pbr::MessageDescriptor pb::IMessage.Descriptor {
2958       get { return Descriptor; }
2959     }
2960 
2961     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestCamelCaseFieldNames()2962     public TestCamelCaseFieldNames() {
2963       OnConstruction();
2964     }
2965 
OnConstruction()2966     partial void OnConstruction();
2967 
2968     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestCamelCaseFieldNames(TestCamelCaseFieldNames other)2969     public TestCamelCaseFieldNames(TestCamelCaseFieldNames other) : this() {
2970       primitiveField_ = other.primitiveField_;
2971       stringField_ = other.stringField_;
2972       enumField_ = other.enumField_;
2973       MessageField = other.messageField_ != null ? other.MessageField.Clone() : null;
2974       repeatedPrimitiveField_ = other.repeatedPrimitiveField_.Clone();
2975       repeatedStringField_ = other.repeatedStringField_.Clone();
2976       repeatedEnumField_ = other.repeatedEnumField_.Clone();
2977       repeatedMessageField_ = other.repeatedMessageField_.Clone();
2978     }
2979 
2980     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()2981     public TestCamelCaseFieldNames Clone() {
2982       return new TestCamelCaseFieldNames(this);
2983     }
2984 
2985     /// <summary>Field number for the "PrimitiveField" field.</summary>
2986     public const int PrimitiveFieldFieldNumber = 1;
2987     private int primitiveField_;
2988     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2989     public int PrimitiveField {
2990       get { return primitiveField_; }
2991       set {
2992         primitiveField_ = value;
2993       }
2994     }
2995 
2996     /// <summary>Field number for the "StringField" field.</summary>
2997     public const int StringFieldFieldNumber = 2;
2998     private string stringField_ = "";
2999     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3000     public string StringField {
3001       get { return stringField_; }
3002       set {
3003         stringField_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
3004       }
3005     }
3006 
3007     /// <summary>Field number for the "EnumField" field.</summary>
3008     public const int EnumFieldFieldNumber = 3;
3009     private global::Google.Protobuf.TestProtos.ForeignEnum enumField_ = 0;
3010     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3011     public global::Google.Protobuf.TestProtos.ForeignEnum EnumField {
3012       get { return enumField_; }
3013       set {
3014         enumField_ = value;
3015       }
3016     }
3017 
3018     /// <summary>Field number for the "MessageField" field.</summary>
3019     public const int MessageFieldFieldNumber = 4;
3020     private global::Google.Protobuf.TestProtos.ForeignMessage messageField_;
3021     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3022     public global::Google.Protobuf.TestProtos.ForeignMessage MessageField {
3023       get { return messageField_; }
3024       set {
3025         messageField_ = value;
3026       }
3027     }
3028 
3029     /// <summary>Field number for the "RepeatedPrimitiveField" field.</summary>
3030     public const int RepeatedPrimitiveFieldFieldNumber = 7;
3031     private static readonly pb::FieldCodec<int> _repeated_repeatedPrimitiveField_codec
3032         = pb::FieldCodec.ForInt32(58);
3033     private readonly pbc::RepeatedField<int> repeatedPrimitiveField_ = new pbc::RepeatedField<int>();
3034     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3035     public pbc::RepeatedField<int> RepeatedPrimitiveField {
3036       get { return repeatedPrimitiveField_; }
3037     }
3038 
3039     /// <summary>Field number for the "RepeatedStringField" field.</summary>
3040     public const int RepeatedStringFieldFieldNumber = 8;
3041     private static readonly pb::FieldCodec<string> _repeated_repeatedStringField_codec
3042         = pb::FieldCodec.ForString(66);
3043     private readonly pbc::RepeatedField<string> repeatedStringField_ = new pbc::RepeatedField<string>();
3044     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3045     public pbc::RepeatedField<string> RepeatedStringField {
3046       get { return repeatedStringField_; }
3047     }
3048 
3049     /// <summary>Field number for the "RepeatedEnumField" field.</summary>
3050     public const int RepeatedEnumFieldFieldNumber = 9;
3051     private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ForeignEnum> _repeated_repeatedEnumField_codec
3052         = pb::FieldCodec.ForEnum(74, x => (int) x, x => (global::Google.Protobuf.TestProtos.ForeignEnum) x);
3053     private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> repeatedEnumField_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum>();
3054     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3055     public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> RepeatedEnumField {
3056       get { return repeatedEnumField_; }
3057     }
3058 
3059     /// <summary>Field number for the "RepeatedMessageField" field.</summary>
3060     public const int RepeatedMessageFieldFieldNumber = 10;
3061     private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ForeignMessage> _repeated_repeatedMessageField_codec
3062         = pb::FieldCodec.ForMessage(82, global::Google.Protobuf.TestProtos.ForeignMessage.Parser);
3063     private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignMessage> repeatedMessageField_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignMessage>();
3064     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3065     public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignMessage> RepeatedMessageField {
3066       get { return repeatedMessageField_; }
3067     }
3068 
3069     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)3070     public override bool Equals(object other) {
3071       return Equals(other as TestCamelCaseFieldNames);
3072     }
3073 
3074     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestCamelCaseFieldNames other)3075     public bool Equals(TestCamelCaseFieldNames other) {
3076       if (ReferenceEquals(other, null)) {
3077         return false;
3078       }
3079       if (ReferenceEquals(other, this)) {
3080         return true;
3081       }
3082       if (PrimitiveField != other.PrimitiveField) return false;
3083       if (StringField != other.StringField) return false;
3084       if (EnumField != other.EnumField) return false;
3085       if (!object.Equals(MessageField, other.MessageField)) return false;
3086       if(!repeatedPrimitiveField_.Equals(other.repeatedPrimitiveField_)) return false;
3087       if(!repeatedStringField_.Equals(other.repeatedStringField_)) return false;
3088       if(!repeatedEnumField_.Equals(other.repeatedEnumField_)) return false;
3089       if(!repeatedMessageField_.Equals(other.repeatedMessageField_)) return false;
3090       return true;
3091     }
3092 
3093     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()3094     public override int GetHashCode() {
3095       int hash = 1;
3096       if (PrimitiveField != 0) hash ^= PrimitiveField.GetHashCode();
3097       if (StringField.Length != 0) hash ^= StringField.GetHashCode();
3098       if (EnumField != 0) hash ^= EnumField.GetHashCode();
3099       if (messageField_ != null) hash ^= MessageField.GetHashCode();
3100       hash ^= repeatedPrimitiveField_.GetHashCode();
3101       hash ^= repeatedStringField_.GetHashCode();
3102       hash ^= repeatedEnumField_.GetHashCode();
3103       hash ^= repeatedMessageField_.GetHashCode();
3104       return hash;
3105     }
3106 
3107     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()3108     public override string ToString() {
3109       return pb::JsonFormatter.ToDiagnosticString(this);
3110     }
3111 
3112     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)3113     public void WriteTo(pb::CodedOutputStream output) {
3114       if (PrimitiveField != 0) {
3115         output.WriteRawTag(8);
3116         output.WriteInt32(PrimitiveField);
3117       }
3118       if (StringField.Length != 0) {
3119         output.WriteRawTag(18);
3120         output.WriteString(StringField);
3121       }
3122       if (EnumField != 0) {
3123         output.WriteRawTag(24);
3124         output.WriteEnum((int) EnumField);
3125       }
3126       if (messageField_ != null) {
3127         output.WriteRawTag(34);
3128         output.WriteMessage(MessageField);
3129       }
3130       repeatedPrimitiveField_.WriteTo(output, _repeated_repeatedPrimitiveField_codec);
3131       repeatedStringField_.WriteTo(output, _repeated_repeatedStringField_codec);
3132       repeatedEnumField_.WriteTo(output, _repeated_repeatedEnumField_codec);
3133       repeatedMessageField_.WriteTo(output, _repeated_repeatedMessageField_codec);
3134     }
3135 
3136     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()3137     public int CalculateSize() {
3138       int size = 0;
3139       if (PrimitiveField != 0) {
3140         size += 1 + pb::CodedOutputStream.ComputeInt32Size(PrimitiveField);
3141       }
3142       if (StringField.Length != 0) {
3143         size += 1 + pb::CodedOutputStream.ComputeStringSize(StringField);
3144       }
3145       if (EnumField != 0) {
3146         size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EnumField);
3147       }
3148       if (messageField_ != null) {
3149         size += 1 + pb::CodedOutputStream.ComputeMessageSize(MessageField);
3150       }
3151       size += repeatedPrimitiveField_.CalculateSize(_repeated_repeatedPrimitiveField_codec);
3152       size += repeatedStringField_.CalculateSize(_repeated_repeatedStringField_codec);
3153       size += repeatedEnumField_.CalculateSize(_repeated_repeatedEnumField_codec);
3154       size += repeatedMessageField_.CalculateSize(_repeated_repeatedMessageField_codec);
3155       return size;
3156     }
3157 
3158     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestCamelCaseFieldNames other)3159     public void MergeFrom(TestCamelCaseFieldNames other) {
3160       if (other == null) {
3161         return;
3162       }
3163       if (other.PrimitiveField != 0) {
3164         PrimitiveField = other.PrimitiveField;
3165       }
3166       if (other.StringField.Length != 0) {
3167         StringField = other.StringField;
3168       }
3169       if (other.EnumField != 0) {
3170         EnumField = other.EnumField;
3171       }
3172       if (other.messageField_ != null) {
3173         if (messageField_ == null) {
3174           messageField_ = new global::Google.Protobuf.TestProtos.ForeignMessage();
3175         }
3176         MessageField.MergeFrom(other.MessageField);
3177       }
3178       repeatedPrimitiveField_.Add(other.repeatedPrimitiveField_);
3179       repeatedStringField_.Add(other.repeatedStringField_);
3180       repeatedEnumField_.Add(other.repeatedEnumField_);
3181       repeatedMessageField_.Add(other.repeatedMessageField_);
3182     }
3183 
3184     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)3185     public void MergeFrom(pb::CodedInputStream input) {
3186       uint tag;
3187       while ((tag = input.ReadTag()) != 0) {
3188         switch(tag) {
3189           default:
3190             input.SkipLastField();
3191             break;
3192           case 8: {
3193             PrimitiveField = input.ReadInt32();
3194             break;
3195           }
3196           case 18: {
3197             StringField = input.ReadString();
3198             break;
3199           }
3200           case 24: {
3201             enumField_ = (global::Google.Protobuf.TestProtos.ForeignEnum) input.ReadEnum();
3202             break;
3203           }
3204           case 34: {
3205             if (messageField_ == null) {
3206               messageField_ = new global::Google.Protobuf.TestProtos.ForeignMessage();
3207             }
3208             input.ReadMessage(messageField_);
3209             break;
3210           }
3211           case 58:
3212           case 56: {
3213             repeatedPrimitiveField_.AddEntriesFrom(input, _repeated_repeatedPrimitiveField_codec);
3214             break;
3215           }
3216           case 66: {
3217             repeatedStringField_.AddEntriesFrom(input, _repeated_repeatedStringField_codec);
3218             break;
3219           }
3220           case 74:
3221           case 72: {
3222             repeatedEnumField_.AddEntriesFrom(input, _repeated_repeatedEnumField_codec);
3223             break;
3224           }
3225           case 82: {
3226             repeatedMessageField_.AddEntriesFrom(input, _repeated_repeatedMessageField_codec);
3227             break;
3228           }
3229         }
3230       }
3231     }
3232 
3233   }
3234 
3235   /// <summary>
3236   ///  We list fields out of order, to ensure that we're using field number and not
3237   ///  field index to determine serialization order.
3238   /// </summary>
3239   public sealed partial class TestFieldOrderings : pb::IMessage<TestFieldOrderings> {
3240     private static readonly pb::MessageParser<TestFieldOrderings> _parser = new pb::MessageParser<TestFieldOrderings>(() => new TestFieldOrderings());
3241     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3242     public static pb::MessageParser<TestFieldOrderings> Parser { get { return _parser; } }
3243 
3244     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3245     public static pbr::MessageDescriptor Descriptor {
3246       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[11]; }
3247     }
3248 
3249     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3250     pbr::MessageDescriptor pb::IMessage.Descriptor {
3251       get { return Descriptor; }
3252     }
3253 
3254     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestFieldOrderings()3255     public TestFieldOrderings() {
3256       OnConstruction();
3257     }
3258 
OnConstruction()3259     partial void OnConstruction();
3260 
3261     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestFieldOrderings(TestFieldOrderings other)3262     public TestFieldOrderings(TestFieldOrderings other) : this() {
3263       myString_ = other.myString_;
3264       myInt_ = other.myInt_;
3265       myFloat_ = other.myFloat_;
3266       SingleNestedMessage = other.singleNestedMessage_ != null ? other.SingleNestedMessage.Clone() : null;
3267     }
3268 
3269     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()3270     public TestFieldOrderings Clone() {
3271       return new TestFieldOrderings(this);
3272     }
3273 
3274     /// <summary>Field number for the "my_string" field.</summary>
3275     public const int MyStringFieldNumber = 11;
3276     private string myString_ = "";
3277     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3278     public string MyString {
3279       get { return myString_; }
3280       set {
3281         myString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
3282       }
3283     }
3284 
3285     /// <summary>Field number for the "my_int" field.</summary>
3286     public const int MyIntFieldNumber = 1;
3287     private long myInt_;
3288     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3289     public long MyInt {
3290       get { return myInt_; }
3291       set {
3292         myInt_ = value;
3293       }
3294     }
3295 
3296     /// <summary>Field number for the "my_float" field.</summary>
3297     public const int MyFloatFieldNumber = 101;
3298     private float myFloat_;
3299     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3300     public float MyFloat {
3301       get { return myFloat_; }
3302       set {
3303         myFloat_ = value;
3304       }
3305     }
3306 
3307     /// <summary>Field number for the "single_nested_message" field.</summary>
3308     public const int SingleNestedMessageFieldNumber = 200;
3309     private global::Google.Protobuf.TestProtos.TestFieldOrderings.Types.NestedMessage singleNestedMessage_;
3310     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3311     public global::Google.Protobuf.TestProtos.TestFieldOrderings.Types.NestedMessage SingleNestedMessage {
3312       get { return singleNestedMessage_; }
3313       set {
3314         singleNestedMessage_ = value;
3315       }
3316     }
3317 
3318     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)3319     public override bool Equals(object other) {
3320       return Equals(other as TestFieldOrderings);
3321     }
3322 
3323     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestFieldOrderings other)3324     public bool Equals(TestFieldOrderings other) {
3325       if (ReferenceEquals(other, null)) {
3326         return false;
3327       }
3328       if (ReferenceEquals(other, this)) {
3329         return true;
3330       }
3331       if (MyString != other.MyString) return false;
3332       if (MyInt != other.MyInt) return false;
3333       if (MyFloat != other.MyFloat) return false;
3334       if (!object.Equals(SingleNestedMessage, other.SingleNestedMessage)) return false;
3335       return true;
3336     }
3337 
3338     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()3339     public override int GetHashCode() {
3340       int hash = 1;
3341       if (MyString.Length != 0) hash ^= MyString.GetHashCode();
3342       if (MyInt != 0L) hash ^= MyInt.GetHashCode();
3343       if (MyFloat != 0F) hash ^= MyFloat.GetHashCode();
3344       if (singleNestedMessage_ != null) hash ^= SingleNestedMessage.GetHashCode();
3345       return hash;
3346     }
3347 
3348     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()3349     public override string ToString() {
3350       return pb::JsonFormatter.ToDiagnosticString(this);
3351     }
3352 
3353     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)3354     public void WriteTo(pb::CodedOutputStream output) {
3355       if (MyInt != 0L) {
3356         output.WriteRawTag(8);
3357         output.WriteInt64(MyInt);
3358       }
3359       if (MyString.Length != 0) {
3360         output.WriteRawTag(90);
3361         output.WriteString(MyString);
3362       }
3363       if (MyFloat != 0F) {
3364         output.WriteRawTag(173, 6);
3365         output.WriteFloat(MyFloat);
3366       }
3367       if (singleNestedMessage_ != null) {
3368         output.WriteRawTag(194, 12);
3369         output.WriteMessage(SingleNestedMessage);
3370       }
3371     }
3372 
3373     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()3374     public int CalculateSize() {
3375       int size = 0;
3376       if (MyString.Length != 0) {
3377         size += 1 + pb::CodedOutputStream.ComputeStringSize(MyString);
3378       }
3379       if (MyInt != 0L) {
3380         size += 1 + pb::CodedOutputStream.ComputeInt64Size(MyInt);
3381       }
3382       if (MyFloat != 0F) {
3383         size += 2 + 4;
3384       }
3385       if (singleNestedMessage_ != null) {
3386         size += 2 + pb::CodedOutputStream.ComputeMessageSize(SingleNestedMessage);
3387       }
3388       return size;
3389     }
3390 
3391     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestFieldOrderings other)3392     public void MergeFrom(TestFieldOrderings other) {
3393       if (other == null) {
3394         return;
3395       }
3396       if (other.MyString.Length != 0) {
3397         MyString = other.MyString;
3398       }
3399       if (other.MyInt != 0L) {
3400         MyInt = other.MyInt;
3401       }
3402       if (other.MyFloat != 0F) {
3403         MyFloat = other.MyFloat;
3404       }
3405       if (other.singleNestedMessage_ != null) {
3406         if (singleNestedMessage_ == null) {
3407           singleNestedMessage_ = new global::Google.Protobuf.TestProtos.TestFieldOrderings.Types.NestedMessage();
3408         }
3409         SingleNestedMessage.MergeFrom(other.SingleNestedMessage);
3410       }
3411     }
3412 
3413     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)3414     public void MergeFrom(pb::CodedInputStream input) {
3415       uint tag;
3416       while ((tag = input.ReadTag()) != 0) {
3417         switch(tag) {
3418           default:
3419             input.SkipLastField();
3420             break;
3421           case 8: {
3422             MyInt = input.ReadInt64();
3423             break;
3424           }
3425           case 90: {
3426             MyString = input.ReadString();
3427             break;
3428           }
3429           case 813: {
3430             MyFloat = input.ReadFloat();
3431             break;
3432           }
3433           case 1602: {
3434             if (singleNestedMessage_ == null) {
3435               singleNestedMessage_ = new global::Google.Protobuf.TestProtos.TestFieldOrderings.Types.NestedMessage();
3436             }
3437             input.ReadMessage(singleNestedMessage_);
3438             break;
3439           }
3440         }
3441       }
3442     }
3443 
3444     #region Nested types
3445     /// <summary>Container for nested types declared in the TestFieldOrderings message type.</summary>
3446     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3447     public static partial class Types {
3448       public sealed partial class NestedMessage : pb::IMessage<NestedMessage> {
3449         private static readonly pb::MessageParser<NestedMessage> _parser = new pb::MessageParser<NestedMessage>(() => new NestedMessage());
3450         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3451         public static pb::MessageParser<NestedMessage> Parser { get { return _parser; } }
3452 
3453         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3454         public static pbr::MessageDescriptor Descriptor {
3455           get { return global::Google.Protobuf.TestProtos.TestFieldOrderings.Descriptor.NestedTypes[0]; }
3456         }
3457 
3458         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3459         pbr::MessageDescriptor pb::IMessage.Descriptor {
3460           get { return Descriptor; }
3461         }
3462 
3463         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
NestedMessage()3464         public NestedMessage() {
3465           OnConstruction();
3466         }
3467 
OnConstruction()3468         partial void OnConstruction();
3469 
3470         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
NestedMessage(NestedMessage other)3471         public NestedMessage(NestedMessage other) : this() {
3472           oo_ = other.oo_;
3473           bb_ = other.bb_;
3474         }
3475 
3476         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()3477         public NestedMessage Clone() {
3478           return new NestedMessage(this);
3479         }
3480 
3481         /// <summary>Field number for the "oo" field.</summary>
3482         public const int OoFieldNumber = 2;
3483         private long oo_;
3484         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3485         public long Oo {
3486           get { return oo_; }
3487           set {
3488             oo_ = value;
3489           }
3490         }
3491 
3492         /// <summary>Field number for the "bb" field.</summary>
3493         public const int BbFieldNumber = 1;
3494         private int bb_;
3495         /// <summary>
3496         ///  The field name "b" fails to compile in proto1 because it conflicts with
3497         ///  a local variable named "b" in one of the generated methods.  Doh.
3498         ///  This file needs to compile in proto1 to test backwards-compatibility.
3499         /// </summary>
3500         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3501         public int Bb {
3502           get { return bb_; }
3503           set {
3504             bb_ = value;
3505           }
3506         }
3507 
3508         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)3509         public override bool Equals(object other) {
3510           return Equals(other as NestedMessage);
3511         }
3512 
3513         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(NestedMessage other)3514         public bool Equals(NestedMessage other) {
3515           if (ReferenceEquals(other, null)) {
3516             return false;
3517           }
3518           if (ReferenceEquals(other, this)) {
3519             return true;
3520           }
3521           if (Oo != other.Oo) return false;
3522           if (Bb != other.Bb) return false;
3523           return true;
3524         }
3525 
3526         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()3527         public override int GetHashCode() {
3528           int hash = 1;
3529           if (Oo != 0L) hash ^= Oo.GetHashCode();
3530           if (Bb != 0) hash ^= Bb.GetHashCode();
3531           return hash;
3532         }
3533 
3534         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()3535         public override string ToString() {
3536           return pb::JsonFormatter.ToDiagnosticString(this);
3537         }
3538 
3539         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)3540         public void WriteTo(pb::CodedOutputStream output) {
3541           if (Bb != 0) {
3542             output.WriteRawTag(8);
3543             output.WriteInt32(Bb);
3544           }
3545           if (Oo != 0L) {
3546             output.WriteRawTag(16);
3547             output.WriteInt64(Oo);
3548           }
3549         }
3550 
3551         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()3552         public int CalculateSize() {
3553           int size = 0;
3554           if (Oo != 0L) {
3555             size += 1 + pb::CodedOutputStream.ComputeInt64Size(Oo);
3556           }
3557           if (Bb != 0) {
3558             size += 1 + pb::CodedOutputStream.ComputeInt32Size(Bb);
3559           }
3560           return size;
3561         }
3562 
3563         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(NestedMessage other)3564         public void MergeFrom(NestedMessage other) {
3565           if (other == null) {
3566             return;
3567           }
3568           if (other.Oo != 0L) {
3569             Oo = other.Oo;
3570           }
3571           if (other.Bb != 0) {
3572             Bb = other.Bb;
3573           }
3574         }
3575 
3576         [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)3577         public void MergeFrom(pb::CodedInputStream input) {
3578           uint tag;
3579           while ((tag = input.ReadTag()) != 0) {
3580             switch(tag) {
3581               default:
3582                 input.SkipLastField();
3583                 break;
3584               case 8: {
3585                 Bb = input.ReadInt32();
3586                 break;
3587               }
3588               case 16: {
3589                 Oo = input.ReadInt64();
3590                 break;
3591               }
3592             }
3593           }
3594         }
3595 
3596       }
3597 
3598     }
3599     #endregion
3600 
3601   }
3602 
3603   public sealed partial class SparseEnumMessage : pb::IMessage<SparseEnumMessage> {
3604     private static readonly pb::MessageParser<SparseEnumMessage> _parser = new pb::MessageParser<SparseEnumMessage>(() => new SparseEnumMessage());
3605     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3606     public static pb::MessageParser<SparseEnumMessage> Parser { get { return _parser; } }
3607 
3608     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3609     public static pbr::MessageDescriptor Descriptor {
3610       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[12]; }
3611     }
3612 
3613     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3614     pbr::MessageDescriptor pb::IMessage.Descriptor {
3615       get { return Descriptor; }
3616     }
3617 
3618     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
SparseEnumMessage()3619     public SparseEnumMessage() {
3620       OnConstruction();
3621     }
3622 
OnConstruction()3623     partial void OnConstruction();
3624 
3625     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
SparseEnumMessage(SparseEnumMessage other)3626     public SparseEnumMessage(SparseEnumMessage other) : this() {
3627       sparseEnum_ = other.sparseEnum_;
3628     }
3629 
3630     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()3631     public SparseEnumMessage Clone() {
3632       return new SparseEnumMessage(this);
3633     }
3634 
3635     /// <summary>Field number for the "sparse_enum" field.</summary>
3636     public const int SparseEnumFieldNumber = 1;
3637     private global::Google.Protobuf.TestProtos.TestSparseEnum sparseEnum_ = 0;
3638     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3639     public global::Google.Protobuf.TestProtos.TestSparseEnum SparseEnum {
3640       get { return sparseEnum_; }
3641       set {
3642         sparseEnum_ = value;
3643       }
3644     }
3645 
3646     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)3647     public override bool Equals(object other) {
3648       return Equals(other as SparseEnumMessage);
3649     }
3650 
3651     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(SparseEnumMessage other)3652     public bool Equals(SparseEnumMessage other) {
3653       if (ReferenceEquals(other, null)) {
3654         return false;
3655       }
3656       if (ReferenceEquals(other, this)) {
3657         return true;
3658       }
3659       if (SparseEnum != other.SparseEnum) return false;
3660       return true;
3661     }
3662 
3663     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()3664     public override int GetHashCode() {
3665       int hash = 1;
3666       if (SparseEnum != 0) hash ^= SparseEnum.GetHashCode();
3667       return hash;
3668     }
3669 
3670     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()3671     public override string ToString() {
3672       return pb::JsonFormatter.ToDiagnosticString(this);
3673     }
3674 
3675     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)3676     public void WriteTo(pb::CodedOutputStream output) {
3677       if (SparseEnum != 0) {
3678         output.WriteRawTag(8);
3679         output.WriteEnum((int) SparseEnum);
3680       }
3681     }
3682 
3683     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()3684     public int CalculateSize() {
3685       int size = 0;
3686       if (SparseEnum != 0) {
3687         size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) SparseEnum);
3688       }
3689       return size;
3690     }
3691 
3692     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(SparseEnumMessage other)3693     public void MergeFrom(SparseEnumMessage other) {
3694       if (other == null) {
3695         return;
3696       }
3697       if (other.SparseEnum != 0) {
3698         SparseEnum = other.SparseEnum;
3699       }
3700     }
3701 
3702     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)3703     public void MergeFrom(pb::CodedInputStream input) {
3704       uint tag;
3705       while ((tag = input.ReadTag()) != 0) {
3706         switch(tag) {
3707           default:
3708             input.SkipLastField();
3709             break;
3710           case 8: {
3711             sparseEnum_ = (global::Google.Protobuf.TestProtos.TestSparseEnum) input.ReadEnum();
3712             break;
3713           }
3714         }
3715       }
3716     }
3717 
3718   }
3719 
3720   /// <summary>
3721   ///  Test String and Bytes: string is for valid UTF-8 strings
3722   /// </summary>
3723   public sealed partial class OneString : pb::IMessage<OneString> {
3724     private static readonly pb::MessageParser<OneString> _parser = new pb::MessageParser<OneString>(() => new OneString());
3725     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3726     public static pb::MessageParser<OneString> Parser { get { return _parser; } }
3727 
3728     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3729     public static pbr::MessageDescriptor Descriptor {
3730       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[13]; }
3731     }
3732 
3733     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3734     pbr::MessageDescriptor pb::IMessage.Descriptor {
3735       get { return Descriptor; }
3736     }
3737 
3738     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
OneString()3739     public OneString() {
3740       OnConstruction();
3741     }
3742 
OnConstruction()3743     partial void OnConstruction();
3744 
3745     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
OneString(OneString other)3746     public OneString(OneString other) : this() {
3747       data_ = other.data_;
3748     }
3749 
3750     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()3751     public OneString Clone() {
3752       return new OneString(this);
3753     }
3754 
3755     /// <summary>Field number for the "data" field.</summary>
3756     public const int DataFieldNumber = 1;
3757     private string data_ = "";
3758     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3759     public string Data {
3760       get { return data_; }
3761       set {
3762         data_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
3763       }
3764     }
3765 
3766     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)3767     public override bool Equals(object other) {
3768       return Equals(other as OneString);
3769     }
3770 
3771     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(OneString other)3772     public bool Equals(OneString other) {
3773       if (ReferenceEquals(other, null)) {
3774         return false;
3775       }
3776       if (ReferenceEquals(other, this)) {
3777         return true;
3778       }
3779       if (Data != other.Data) return false;
3780       return true;
3781     }
3782 
3783     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()3784     public override int GetHashCode() {
3785       int hash = 1;
3786       if (Data.Length != 0) hash ^= Data.GetHashCode();
3787       return hash;
3788     }
3789 
3790     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()3791     public override string ToString() {
3792       return pb::JsonFormatter.ToDiagnosticString(this);
3793     }
3794 
3795     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)3796     public void WriteTo(pb::CodedOutputStream output) {
3797       if (Data.Length != 0) {
3798         output.WriteRawTag(10);
3799         output.WriteString(Data);
3800       }
3801     }
3802 
3803     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()3804     public int CalculateSize() {
3805       int size = 0;
3806       if (Data.Length != 0) {
3807         size += 1 + pb::CodedOutputStream.ComputeStringSize(Data);
3808       }
3809       return size;
3810     }
3811 
3812     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(OneString other)3813     public void MergeFrom(OneString other) {
3814       if (other == null) {
3815         return;
3816       }
3817       if (other.Data.Length != 0) {
3818         Data = other.Data;
3819       }
3820     }
3821 
3822     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)3823     public void MergeFrom(pb::CodedInputStream input) {
3824       uint tag;
3825       while ((tag = input.ReadTag()) != 0) {
3826         switch(tag) {
3827           default:
3828             input.SkipLastField();
3829             break;
3830           case 10: {
3831             Data = input.ReadString();
3832             break;
3833           }
3834         }
3835       }
3836     }
3837 
3838   }
3839 
3840   public sealed partial class MoreString : pb::IMessage<MoreString> {
3841     private static readonly pb::MessageParser<MoreString> _parser = new pb::MessageParser<MoreString>(() => new MoreString());
3842     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3843     public static pb::MessageParser<MoreString> Parser { get { return _parser; } }
3844 
3845     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3846     public static pbr::MessageDescriptor Descriptor {
3847       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[14]; }
3848     }
3849 
3850     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3851     pbr::MessageDescriptor pb::IMessage.Descriptor {
3852       get { return Descriptor; }
3853     }
3854 
3855     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MoreString()3856     public MoreString() {
3857       OnConstruction();
3858     }
3859 
OnConstruction()3860     partial void OnConstruction();
3861 
3862     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MoreString(MoreString other)3863     public MoreString(MoreString other) : this() {
3864       data_ = other.data_.Clone();
3865     }
3866 
3867     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()3868     public MoreString Clone() {
3869       return new MoreString(this);
3870     }
3871 
3872     /// <summary>Field number for the "data" field.</summary>
3873     public const int DataFieldNumber = 1;
3874     private static readonly pb::FieldCodec<string> _repeated_data_codec
3875         = pb::FieldCodec.ForString(10);
3876     private readonly pbc::RepeatedField<string> data_ = new pbc::RepeatedField<string>();
3877     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3878     public pbc::RepeatedField<string> Data {
3879       get { return data_; }
3880     }
3881 
3882     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)3883     public override bool Equals(object other) {
3884       return Equals(other as MoreString);
3885     }
3886 
3887     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(MoreString other)3888     public bool Equals(MoreString other) {
3889       if (ReferenceEquals(other, null)) {
3890         return false;
3891       }
3892       if (ReferenceEquals(other, this)) {
3893         return true;
3894       }
3895       if(!data_.Equals(other.data_)) return false;
3896       return true;
3897     }
3898 
3899     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()3900     public override int GetHashCode() {
3901       int hash = 1;
3902       hash ^= data_.GetHashCode();
3903       return hash;
3904     }
3905 
3906     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()3907     public override string ToString() {
3908       return pb::JsonFormatter.ToDiagnosticString(this);
3909     }
3910 
3911     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)3912     public void WriteTo(pb::CodedOutputStream output) {
3913       data_.WriteTo(output, _repeated_data_codec);
3914     }
3915 
3916     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()3917     public int CalculateSize() {
3918       int size = 0;
3919       size += data_.CalculateSize(_repeated_data_codec);
3920       return size;
3921     }
3922 
3923     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(MoreString other)3924     public void MergeFrom(MoreString other) {
3925       if (other == null) {
3926         return;
3927       }
3928       data_.Add(other.data_);
3929     }
3930 
3931     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)3932     public void MergeFrom(pb::CodedInputStream input) {
3933       uint tag;
3934       while ((tag = input.ReadTag()) != 0) {
3935         switch(tag) {
3936           default:
3937             input.SkipLastField();
3938             break;
3939           case 10: {
3940             data_.AddEntriesFrom(input, _repeated_data_codec);
3941             break;
3942           }
3943         }
3944       }
3945     }
3946 
3947   }
3948 
3949   public sealed partial class OneBytes : pb::IMessage<OneBytes> {
3950     private static readonly pb::MessageParser<OneBytes> _parser = new pb::MessageParser<OneBytes>(() => new OneBytes());
3951     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3952     public static pb::MessageParser<OneBytes> Parser { get { return _parser; } }
3953 
3954     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3955     public static pbr::MessageDescriptor Descriptor {
3956       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[15]; }
3957     }
3958 
3959     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3960     pbr::MessageDescriptor pb::IMessage.Descriptor {
3961       get { return Descriptor; }
3962     }
3963 
3964     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
OneBytes()3965     public OneBytes() {
3966       OnConstruction();
3967     }
3968 
OnConstruction()3969     partial void OnConstruction();
3970 
3971     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
OneBytes(OneBytes other)3972     public OneBytes(OneBytes other) : this() {
3973       data_ = other.data_;
3974     }
3975 
3976     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()3977     public OneBytes Clone() {
3978       return new OneBytes(this);
3979     }
3980 
3981     /// <summary>Field number for the "data" field.</summary>
3982     public const int DataFieldNumber = 1;
3983     private pb::ByteString data_ = pb::ByteString.Empty;
3984     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3985     public pb::ByteString Data {
3986       get { return data_; }
3987       set {
3988         data_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
3989       }
3990     }
3991 
3992     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)3993     public override bool Equals(object other) {
3994       return Equals(other as OneBytes);
3995     }
3996 
3997     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(OneBytes other)3998     public bool Equals(OneBytes other) {
3999       if (ReferenceEquals(other, null)) {
4000         return false;
4001       }
4002       if (ReferenceEquals(other, this)) {
4003         return true;
4004       }
4005       if (Data != other.Data) return false;
4006       return true;
4007     }
4008 
4009     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()4010     public override int GetHashCode() {
4011       int hash = 1;
4012       if (Data.Length != 0) hash ^= Data.GetHashCode();
4013       return hash;
4014     }
4015 
4016     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()4017     public override string ToString() {
4018       return pb::JsonFormatter.ToDiagnosticString(this);
4019     }
4020 
4021     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)4022     public void WriteTo(pb::CodedOutputStream output) {
4023       if (Data.Length != 0) {
4024         output.WriteRawTag(10);
4025         output.WriteBytes(Data);
4026       }
4027     }
4028 
4029     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()4030     public int CalculateSize() {
4031       int size = 0;
4032       if (Data.Length != 0) {
4033         size += 1 + pb::CodedOutputStream.ComputeBytesSize(Data);
4034       }
4035       return size;
4036     }
4037 
4038     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(OneBytes other)4039     public void MergeFrom(OneBytes other) {
4040       if (other == null) {
4041         return;
4042       }
4043       if (other.Data.Length != 0) {
4044         Data = other.Data;
4045       }
4046     }
4047 
4048     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)4049     public void MergeFrom(pb::CodedInputStream input) {
4050       uint tag;
4051       while ((tag = input.ReadTag()) != 0) {
4052         switch(tag) {
4053           default:
4054             input.SkipLastField();
4055             break;
4056           case 10: {
4057             Data = input.ReadBytes();
4058             break;
4059           }
4060         }
4061       }
4062     }
4063 
4064   }
4065 
4066   public sealed partial class MoreBytes : pb::IMessage<MoreBytes> {
4067     private static readonly pb::MessageParser<MoreBytes> _parser = new pb::MessageParser<MoreBytes>(() => new MoreBytes());
4068     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4069     public static pb::MessageParser<MoreBytes> Parser { get { return _parser; } }
4070 
4071     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4072     public static pbr::MessageDescriptor Descriptor {
4073       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[16]; }
4074     }
4075 
4076     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4077     pbr::MessageDescriptor pb::IMessage.Descriptor {
4078       get { return Descriptor; }
4079     }
4080 
4081     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MoreBytes()4082     public MoreBytes() {
4083       OnConstruction();
4084     }
4085 
OnConstruction()4086     partial void OnConstruction();
4087 
4088     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MoreBytes(MoreBytes other)4089     public MoreBytes(MoreBytes other) : this() {
4090       data_ = other.data_;
4091     }
4092 
4093     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()4094     public MoreBytes Clone() {
4095       return new MoreBytes(this);
4096     }
4097 
4098     /// <summary>Field number for the "data" field.</summary>
4099     public const int DataFieldNumber = 1;
4100     private pb::ByteString data_ = pb::ByteString.Empty;
4101     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4102     public pb::ByteString Data {
4103       get { return data_; }
4104       set {
4105         data_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
4106       }
4107     }
4108 
4109     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)4110     public override bool Equals(object other) {
4111       return Equals(other as MoreBytes);
4112     }
4113 
4114     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(MoreBytes other)4115     public bool Equals(MoreBytes other) {
4116       if (ReferenceEquals(other, null)) {
4117         return false;
4118       }
4119       if (ReferenceEquals(other, this)) {
4120         return true;
4121       }
4122       if (Data != other.Data) return false;
4123       return true;
4124     }
4125 
4126     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()4127     public override int GetHashCode() {
4128       int hash = 1;
4129       if (Data.Length != 0) hash ^= Data.GetHashCode();
4130       return hash;
4131     }
4132 
4133     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()4134     public override string ToString() {
4135       return pb::JsonFormatter.ToDiagnosticString(this);
4136     }
4137 
4138     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)4139     public void WriteTo(pb::CodedOutputStream output) {
4140       if (Data.Length != 0) {
4141         output.WriteRawTag(10);
4142         output.WriteBytes(Data);
4143       }
4144     }
4145 
4146     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()4147     public int CalculateSize() {
4148       int size = 0;
4149       if (Data.Length != 0) {
4150         size += 1 + pb::CodedOutputStream.ComputeBytesSize(Data);
4151       }
4152       return size;
4153     }
4154 
4155     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(MoreBytes other)4156     public void MergeFrom(MoreBytes other) {
4157       if (other == null) {
4158         return;
4159       }
4160       if (other.Data.Length != 0) {
4161         Data = other.Data;
4162       }
4163     }
4164 
4165     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)4166     public void MergeFrom(pb::CodedInputStream input) {
4167       uint tag;
4168       while ((tag = input.ReadTag()) != 0) {
4169         switch(tag) {
4170           default:
4171             input.SkipLastField();
4172             break;
4173           case 10: {
4174             Data = input.ReadBytes();
4175             break;
4176           }
4177         }
4178       }
4179     }
4180 
4181   }
4182 
4183   /// <summary>
4184   ///  Test int32, uint32, int64, uint64, and bool are all compatible
4185   /// </summary>
4186   public sealed partial class Int32Message : pb::IMessage<Int32Message> {
4187     private static readonly pb::MessageParser<Int32Message> _parser = new pb::MessageParser<Int32Message>(() => new Int32Message());
4188     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4189     public static pb::MessageParser<Int32Message> Parser { get { return _parser; } }
4190 
4191     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4192     public static pbr::MessageDescriptor Descriptor {
4193       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[17]; }
4194     }
4195 
4196     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4197     pbr::MessageDescriptor pb::IMessage.Descriptor {
4198       get { return Descriptor; }
4199     }
4200 
4201     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Int32Message()4202     public Int32Message() {
4203       OnConstruction();
4204     }
4205 
OnConstruction()4206     partial void OnConstruction();
4207 
4208     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Int32Message(Int32Message other)4209     public Int32Message(Int32Message other) : this() {
4210       data_ = other.data_;
4211     }
4212 
4213     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()4214     public Int32Message Clone() {
4215       return new Int32Message(this);
4216     }
4217 
4218     /// <summary>Field number for the "data" field.</summary>
4219     public const int DataFieldNumber = 1;
4220     private int data_;
4221     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4222     public int Data {
4223       get { return data_; }
4224       set {
4225         data_ = value;
4226       }
4227     }
4228 
4229     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)4230     public override bool Equals(object other) {
4231       return Equals(other as Int32Message);
4232     }
4233 
4234     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(Int32Message other)4235     public bool Equals(Int32Message other) {
4236       if (ReferenceEquals(other, null)) {
4237         return false;
4238       }
4239       if (ReferenceEquals(other, this)) {
4240         return true;
4241       }
4242       if (Data != other.Data) return false;
4243       return true;
4244     }
4245 
4246     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()4247     public override int GetHashCode() {
4248       int hash = 1;
4249       if (Data != 0) hash ^= Data.GetHashCode();
4250       return hash;
4251     }
4252 
4253     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()4254     public override string ToString() {
4255       return pb::JsonFormatter.ToDiagnosticString(this);
4256     }
4257 
4258     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)4259     public void WriteTo(pb::CodedOutputStream output) {
4260       if (Data != 0) {
4261         output.WriteRawTag(8);
4262         output.WriteInt32(Data);
4263       }
4264     }
4265 
4266     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()4267     public int CalculateSize() {
4268       int size = 0;
4269       if (Data != 0) {
4270         size += 1 + pb::CodedOutputStream.ComputeInt32Size(Data);
4271       }
4272       return size;
4273     }
4274 
4275     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(Int32Message other)4276     public void MergeFrom(Int32Message other) {
4277       if (other == null) {
4278         return;
4279       }
4280       if (other.Data != 0) {
4281         Data = other.Data;
4282       }
4283     }
4284 
4285     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)4286     public void MergeFrom(pb::CodedInputStream input) {
4287       uint tag;
4288       while ((tag = input.ReadTag()) != 0) {
4289         switch(tag) {
4290           default:
4291             input.SkipLastField();
4292             break;
4293           case 8: {
4294             Data = input.ReadInt32();
4295             break;
4296           }
4297         }
4298       }
4299     }
4300 
4301   }
4302 
4303   public sealed partial class Uint32Message : pb::IMessage<Uint32Message> {
4304     private static readonly pb::MessageParser<Uint32Message> _parser = new pb::MessageParser<Uint32Message>(() => new Uint32Message());
4305     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4306     public static pb::MessageParser<Uint32Message> Parser { get { return _parser; } }
4307 
4308     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4309     public static pbr::MessageDescriptor Descriptor {
4310       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[18]; }
4311     }
4312 
4313     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4314     pbr::MessageDescriptor pb::IMessage.Descriptor {
4315       get { return Descriptor; }
4316     }
4317 
4318     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Uint32Message()4319     public Uint32Message() {
4320       OnConstruction();
4321     }
4322 
OnConstruction()4323     partial void OnConstruction();
4324 
4325     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Uint32Message(Uint32Message other)4326     public Uint32Message(Uint32Message other) : this() {
4327       data_ = other.data_;
4328     }
4329 
4330     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()4331     public Uint32Message Clone() {
4332       return new Uint32Message(this);
4333     }
4334 
4335     /// <summary>Field number for the "data" field.</summary>
4336     public const int DataFieldNumber = 1;
4337     private uint data_;
4338     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4339     public uint Data {
4340       get { return data_; }
4341       set {
4342         data_ = value;
4343       }
4344     }
4345 
4346     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)4347     public override bool Equals(object other) {
4348       return Equals(other as Uint32Message);
4349     }
4350 
4351     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(Uint32Message other)4352     public bool Equals(Uint32Message other) {
4353       if (ReferenceEquals(other, null)) {
4354         return false;
4355       }
4356       if (ReferenceEquals(other, this)) {
4357         return true;
4358       }
4359       if (Data != other.Data) return false;
4360       return true;
4361     }
4362 
4363     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()4364     public override int GetHashCode() {
4365       int hash = 1;
4366       if (Data != 0) hash ^= Data.GetHashCode();
4367       return hash;
4368     }
4369 
4370     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()4371     public override string ToString() {
4372       return pb::JsonFormatter.ToDiagnosticString(this);
4373     }
4374 
4375     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)4376     public void WriteTo(pb::CodedOutputStream output) {
4377       if (Data != 0) {
4378         output.WriteRawTag(8);
4379         output.WriteUInt32(Data);
4380       }
4381     }
4382 
4383     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()4384     public int CalculateSize() {
4385       int size = 0;
4386       if (Data != 0) {
4387         size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Data);
4388       }
4389       return size;
4390     }
4391 
4392     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(Uint32Message other)4393     public void MergeFrom(Uint32Message other) {
4394       if (other == null) {
4395         return;
4396       }
4397       if (other.Data != 0) {
4398         Data = other.Data;
4399       }
4400     }
4401 
4402     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)4403     public void MergeFrom(pb::CodedInputStream input) {
4404       uint tag;
4405       while ((tag = input.ReadTag()) != 0) {
4406         switch(tag) {
4407           default:
4408             input.SkipLastField();
4409             break;
4410           case 8: {
4411             Data = input.ReadUInt32();
4412             break;
4413           }
4414         }
4415       }
4416     }
4417 
4418   }
4419 
4420   public sealed partial class Int64Message : pb::IMessage<Int64Message> {
4421     private static readonly pb::MessageParser<Int64Message> _parser = new pb::MessageParser<Int64Message>(() => new Int64Message());
4422     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4423     public static pb::MessageParser<Int64Message> Parser { get { return _parser; } }
4424 
4425     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4426     public static pbr::MessageDescriptor Descriptor {
4427       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[19]; }
4428     }
4429 
4430     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4431     pbr::MessageDescriptor pb::IMessage.Descriptor {
4432       get { return Descriptor; }
4433     }
4434 
4435     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Int64Message()4436     public Int64Message() {
4437       OnConstruction();
4438     }
4439 
OnConstruction()4440     partial void OnConstruction();
4441 
4442     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Int64Message(Int64Message other)4443     public Int64Message(Int64Message other) : this() {
4444       data_ = other.data_;
4445     }
4446 
4447     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()4448     public Int64Message Clone() {
4449       return new Int64Message(this);
4450     }
4451 
4452     /// <summary>Field number for the "data" field.</summary>
4453     public const int DataFieldNumber = 1;
4454     private long data_;
4455     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4456     public long Data {
4457       get { return data_; }
4458       set {
4459         data_ = value;
4460       }
4461     }
4462 
4463     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)4464     public override bool Equals(object other) {
4465       return Equals(other as Int64Message);
4466     }
4467 
4468     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(Int64Message other)4469     public bool Equals(Int64Message other) {
4470       if (ReferenceEquals(other, null)) {
4471         return false;
4472       }
4473       if (ReferenceEquals(other, this)) {
4474         return true;
4475       }
4476       if (Data != other.Data) return false;
4477       return true;
4478     }
4479 
4480     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()4481     public override int GetHashCode() {
4482       int hash = 1;
4483       if (Data != 0L) hash ^= Data.GetHashCode();
4484       return hash;
4485     }
4486 
4487     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()4488     public override string ToString() {
4489       return pb::JsonFormatter.ToDiagnosticString(this);
4490     }
4491 
4492     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)4493     public void WriteTo(pb::CodedOutputStream output) {
4494       if (Data != 0L) {
4495         output.WriteRawTag(8);
4496         output.WriteInt64(Data);
4497       }
4498     }
4499 
4500     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()4501     public int CalculateSize() {
4502       int size = 0;
4503       if (Data != 0L) {
4504         size += 1 + pb::CodedOutputStream.ComputeInt64Size(Data);
4505       }
4506       return size;
4507     }
4508 
4509     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(Int64Message other)4510     public void MergeFrom(Int64Message other) {
4511       if (other == null) {
4512         return;
4513       }
4514       if (other.Data != 0L) {
4515         Data = other.Data;
4516       }
4517     }
4518 
4519     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)4520     public void MergeFrom(pb::CodedInputStream input) {
4521       uint tag;
4522       while ((tag = input.ReadTag()) != 0) {
4523         switch(tag) {
4524           default:
4525             input.SkipLastField();
4526             break;
4527           case 8: {
4528             Data = input.ReadInt64();
4529             break;
4530           }
4531         }
4532       }
4533     }
4534 
4535   }
4536 
4537   public sealed partial class Uint64Message : pb::IMessage<Uint64Message> {
4538     private static readonly pb::MessageParser<Uint64Message> _parser = new pb::MessageParser<Uint64Message>(() => new Uint64Message());
4539     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4540     public static pb::MessageParser<Uint64Message> Parser { get { return _parser; } }
4541 
4542     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4543     public static pbr::MessageDescriptor Descriptor {
4544       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[20]; }
4545     }
4546 
4547     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4548     pbr::MessageDescriptor pb::IMessage.Descriptor {
4549       get { return Descriptor; }
4550     }
4551 
4552     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Uint64Message()4553     public Uint64Message() {
4554       OnConstruction();
4555     }
4556 
OnConstruction()4557     partial void OnConstruction();
4558 
4559     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Uint64Message(Uint64Message other)4560     public Uint64Message(Uint64Message other) : this() {
4561       data_ = other.data_;
4562     }
4563 
4564     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()4565     public Uint64Message Clone() {
4566       return new Uint64Message(this);
4567     }
4568 
4569     /// <summary>Field number for the "data" field.</summary>
4570     public const int DataFieldNumber = 1;
4571     private ulong data_;
4572     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4573     public ulong Data {
4574       get { return data_; }
4575       set {
4576         data_ = value;
4577       }
4578     }
4579 
4580     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)4581     public override bool Equals(object other) {
4582       return Equals(other as Uint64Message);
4583     }
4584 
4585     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(Uint64Message other)4586     public bool Equals(Uint64Message other) {
4587       if (ReferenceEquals(other, null)) {
4588         return false;
4589       }
4590       if (ReferenceEquals(other, this)) {
4591         return true;
4592       }
4593       if (Data != other.Data) return false;
4594       return true;
4595     }
4596 
4597     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()4598     public override int GetHashCode() {
4599       int hash = 1;
4600       if (Data != 0UL) hash ^= Data.GetHashCode();
4601       return hash;
4602     }
4603 
4604     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()4605     public override string ToString() {
4606       return pb::JsonFormatter.ToDiagnosticString(this);
4607     }
4608 
4609     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)4610     public void WriteTo(pb::CodedOutputStream output) {
4611       if (Data != 0UL) {
4612         output.WriteRawTag(8);
4613         output.WriteUInt64(Data);
4614       }
4615     }
4616 
4617     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()4618     public int CalculateSize() {
4619       int size = 0;
4620       if (Data != 0UL) {
4621         size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Data);
4622       }
4623       return size;
4624     }
4625 
4626     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(Uint64Message other)4627     public void MergeFrom(Uint64Message other) {
4628       if (other == null) {
4629         return;
4630       }
4631       if (other.Data != 0UL) {
4632         Data = other.Data;
4633       }
4634     }
4635 
4636     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)4637     public void MergeFrom(pb::CodedInputStream input) {
4638       uint tag;
4639       while ((tag = input.ReadTag()) != 0) {
4640         switch(tag) {
4641           default:
4642             input.SkipLastField();
4643             break;
4644           case 8: {
4645             Data = input.ReadUInt64();
4646             break;
4647           }
4648         }
4649       }
4650     }
4651 
4652   }
4653 
4654   public sealed partial class BoolMessage : pb::IMessage<BoolMessage> {
4655     private static readonly pb::MessageParser<BoolMessage> _parser = new pb::MessageParser<BoolMessage>(() => new BoolMessage());
4656     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4657     public static pb::MessageParser<BoolMessage> Parser { get { return _parser; } }
4658 
4659     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4660     public static pbr::MessageDescriptor Descriptor {
4661       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[21]; }
4662     }
4663 
4664     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4665     pbr::MessageDescriptor pb::IMessage.Descriptor {
4666       get { return Descriptor; }
4667     }
4668 
4669     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
BoolMessage()4670     public BoolMessage() {
4671       OnConstruction();
4672     }
4673 
OnConstruction()4674     partial void OnConstruction();
4675 
4676     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
BoolMessage(BoolMessage other)4677     public BoolMessage(BoolMessage other) : this() {
4678       data_ = other.data_;
4679     }
4680 
4681     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()4682     public BoolMessage Clone() {
4683       return new BoolMessage(this);
4684     }
4685 
4686     /// <summary>Field number for the "data" field.</summary>
4687     public const int DataFieldNumber = 1;
4688     private bool data_;
4689     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4690     public bool Data {
4691       get { return data_; }
4692       set {
4693         data_ = value;
4694       }
4695     }
4696 
4697     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)4698     public override bool Equals(object other) {
4699       return Equals(other as BoolMessage);
4700     }
4701 
4702     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(BoolMessage other)4703     public bool Equals(BoolMessage other) {
4704       if (ReferenceEquals(other, null)) {
4705         return false;
4706       }
4707       if (ReferenceEquals(other, this)) {
4708         return true;
4709       }
4710       if (Data != other.Data) return false;
4711       return true;
4712     }
4713 
4714     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()4715     public override int GetHashCode() {
4716       int hash = 1;
4717       if (Data != false) hash ^= Data.GetHashCode();
4718       return hash;
4719     }
4720 
4721     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()4722     public override string ToString() {
4723       return pb::JsonFormatter.ToDiagnosticString(this);
4724     }
4725 
4726     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)4727     public void WriteTo(pb::CodedOutputStream output) {
4728       if (Data != false) {
4729         output.WriteRawTag(8);
4730         output.WriteBool(Data);
4731       }
4732     }
4733 
4734     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()4735     public int CalculateSize() {
4736       int size = 0;
4737       if (Data != false) {
4738         size += 1 + 1;
4739       }
4740       return size;
4741     }
4742 
4743     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(BoolMessage other)4744     public void MergeFrom(BoolMessage other) {
4745       if (other == null) {
4746         return;
4747       }
4748       if (other.Data != false) {
4749         Data = other.Data;
4750       }
4751     }
4752 
4753     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)4754     public void MergeFrom(pb::CodedInputStream input) {
4755       uint tag;
4756       while ((tag = input.ReadTag()) != 0) {
4757         switch(tag) {
4758           default:
4759             input.SkipLastField();
4760             break;
4761           case 8: {
4762             Data = input.ReadBool();
4763             break;
4764           }
4765         }
4766       }
4767     }
4768 
4769   }
4770 
4771   /// <summary>
4772   ///  Test oneofs.
4773   /// </summary>
4774   public sealed partial class TestOneof : pb::IMessage<TestOneof> {
4775     private static readonly pb::MessageParser<TestOneof> _parser = new pb::MessageParser<TestOneof>(() => new TestOneof());
4776     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4777     public static pb::MessageParser<TestOneof> Parser { get { return _parser; } }
4778 
4779     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4780     public static pbr::MessageDescriptor Descriptor {
4781       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[22]; }
4782     }
4783 
4784     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4785     pbr::MessageDescriptor pb::IMessage.Descriptor {
4786       get { return Descriptor; }
4787     }
4788 
4789     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestOneof()4790     public TestOneof() {
4791       OnConstruction();
4792     }
4793 
OnConstruction()4794     partial void OnConstruction();
4795 
4796     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestOneof(TestOneof other)4797     public TestOneof(TestOneof other) : this() {
4798       switch (other.FooCase) {
4799         case FooOneofCase.FooInt:
4800           FooInt = other.FooInt;
4801           break;
4802         case FooOneofCase.FooString:
4803           FooString = other.FooString;
4804           break;
4805         case FooOneofCase.FooMessage:
4806           FooMessage = other.FooMessage.Clone();
4807           break;
4808       }
4809 
4810     }
4811 
4812     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()4813     public TestOneof Clone() {
4814       return new TestOneof(this);
4815     }
4816 
4817     /// <summary>Field number for the "foo_int" field.</summary>
4818     public const int FooIntFieldNumber = 1;
4819     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4820     public int FooInt {
4821       get { return fooCase_ == FooOneofCase.FooInt ? (int) foo_ : 0; }
4822       set {
4823         foo_ = value;
4824         fooCase_ = FooOneofCase.FooInt;
4825       }
4826     }
4827 
4828     /// <summary>Field number for the "foo_string" field.</summary>
4829     public const int FooStringFieldNumber = 2;
4830     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4831     public string FooString {
4832       get { return fooCase_ == FooOneofCase.FooString ? (string) foo_ : ""; }
4833       set {
4834         foo_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
4835         fooCase_ = FooOneofCase.FooString;
4836       }
4837     }
4838 
4839     /// <summary>Field number for the "foo_message" field.</summary>
4840     public const int FooMessageFieldNumber = 3;
4841     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4842     public global::Google.Protobuf.TestProtos.TestAllTypes FooMessage {
4843       get { return fooCase_ == FooOneofCase.FooMessage ? (global::Google.Protobuf.TestProtos.TestAllTypes) foo_ : null; }
4844       set {
4845         foo_ = value;
4846         fooCase_ = value == null ? FooOneofCase.None : FooOneofCase.FooMessage;
4847       }
4848     }
4849 
4850     private object foo_;
4851     /// <summary>Enum of possible cases for the "foo" oneof.</summary>
4852     public enum FooOneofCase {
4853       None = 0,
4854       FooInt = 1,
4855       FooString = 2,
4856       FooMessage = 3,
4857     }
4858     private FooOneofCase fooCase_ = FooOneofCase.None;
4859     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4860     public FooOneofCase FooCase {
4861       get { return fooCase_; }
4862     }
4863 
4864     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ClearFoo()4865     public void ClearFoo() {
4866       fooCase_ = FooOneofCase.None;
4867       foo_ = null;
4868     }
4869 
4870     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)4871     public override bool Equals(object other) {
4872       return Equals(other as TestOneof);
4873     }
4874 
4875     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestOneof other)4876     public bool Equals(TestOneof other) {
4877       if (ReferenceEquals(other, null)) {
4878         return false;
4879       }
4880       if (ReferenceEquals(other, this)) {
4881         return true;
4882       }
4883       if (FooInt != other.FooInt) return false;
4884       if (FooString != other.FooString) return false;
4885       if (!object.Equals(FooMessage, other.FooMessage)) return false;
4886       if (FooCase != other.FooCase) return false;
4887       return true;
4888     }
4889 
4890     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()4891     public override int GetHashCode() {
4892       int hash = 1;
4893       if (fooCase_ == FooOneofCase.FooInt) hash ^= FooInt.GetHashCode();
4894       if (fooCase_ == FooOneofCase.FooString) hash ^= FooString.GetHashCode();
4895       if (fooCase_ == FooOneofCase.FooMessage) hash ^= FooMessage.GetHashCode();
4896       hash ^= (int) fooCase_;
4897       return hash;
4898     }
4899 
4900     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()4901     public override string ToString() {
4902       return pb::JsonFormatter.ToDiagnosticString(this);
4903     }
4904 
4905     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)4906     public void WriteTo(pb::CodedOutputStream output) {
4907       if (fooCase_ == FooOneofCase.FooInt) {
4908         output.WriteRawTag(8);
4909         output.WriteInt32(FooInt);
4910       }
4911       if (fooCase_ == FooOneofCase.FooString) {
4912         output.WriteRawTag(18);
4913         output.WriteString(FooString);
4914       }
4915       if (fooCase_ == FooOneofCase.FooMessage) {
4916         output.WriteRawTag(26);
4917         output.WriteMessage(FooMessage);
4918       }
4919     }
4920 
4921     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()4922     public int CalculateSize() {
4923       int size = 0;
4924       if (fooCase_ == FooOneofCase.FooInt) {
4925         size += 1 + pb::CodedOutputStream.ComputeInt32Size(FooInt);
4926       }
4927       if (fooCase_ == FooOneofCase.FooString) {
4928         size += 1 + pb::CodedOutputStream.ComputeStringSize(FooString);
4929       }
4930       if (fooCase_ == FooOneofCase.FooMessage) {
4931         size += 1 + pb::CodedOutputStream.ComputeMessageSize(FooMessage);
4932       }
4933       return size;
4934     }
4935 
4936     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestOneof other)4937     public void MergeFrom(TestOneof other) {
4938       if (other == null) {
4939         return;
4940       }
4941       switch (other.FooCase) {
4942         case FooOneofCase.FooInt:
4943           FooInt = other.FooInt;
4944           break;
4945         case FooOneofCase.FooString:
4946           FooString = other.FooString;
4947           break;
4948         case FooOneofCase.FooMessage:
4949           FooMessage = other.FooMessage;
4950           break;
4951       }
4952 
4953     }
4954 
4955     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)4956     public void MergeFrom(pb::CodedInputStream input) {
4957       uint tag;
4958       while ((tag = input.ReadTag()) != 0) {
4959         switch(tag) {
4960           default:
4961             input.SkipLastField();
4962             break;
4963           case 8: {
4964             FooInt = input.ReadInt32();
4965             break;
4966           }
4967           case 18: {
4968             FooString = input.ReadString();
4969             break;
4970           }
4971           case 26: {
4972             global::Google.Protobuf.TestProtos.TestAllTypes subBuilder = new global::Google.Protobuf.TestProtos.TestAllTypes();
4973             if (fooCase_ == FooOneofCase.FooMessage) {
4974               subBuilder.MergeFrom(FooMessage);
4975             }
4976             input.ReadMessage(subBuilder);
4977             FooMessage = subBuilder;
4978             break;
4979           }
4980         }
4981       }
4982     }
4983 
4984   }
4985 
4986   public sealed partial class TestPackedTypes : pb::IMessage<TestPackedTypes> {
4987     private static readonly pb::MessageParser<TestPackedTypes> _parser = new pb::MessageParser<TestPackedTypes>(() => new TestPackedTypes());
4988     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4989     public static pb::MessageParser<TestPackedTypes> Parser { get { return _parser; } }
4990 
4991     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4992     public static pbr::MessageDescriptor Descriptor {
4993       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[23]; }
4994     }
4995 
4996     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4997     pbr::MessageDescriptor pb::IMessage.Descriptor {
4998       get { return Descriptor; }
4999     }
5000 
5001     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestPackedTypes()5002     public TestPackedTypes() {
5003       OnConstruction();
5004     }
5005 
OnConstruction()5006     partial void OnConstruction();
5007 
5008     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestPackedTypes(TestPackedTypes other)5009     public TestPackedTypes(TestPackedTypes other) : this() {
5010       packedInt32_ = other.packedInt32_.Clone();
5011       packedInt64_ = other.packedInt64_.Clone();
5012       packedUint32_ = other.packedUint32_.Clone();
5013       packedUint64_ = other.packedUint64_.Clone();
5014       packedSint32_ = other.packedSint32_.Clone();
5015       packedSint64_ = other.packedSint64_.Clone();
5016       packedFixed32_ = other.packedFixed32_.Clone();
5017       packedFixed64_ = other.packedFixed64_.Clone();
5018       packedSfixed32_ = other.packedSfixed32_.Clone();
5019       packedSfixed64_ = other.packedSfixed64_.Clone();
5020       packedFloat_ = other.packedFloat_.Clone();
5021       packedDouble_ = other.packedDouble_.Clone();
5022       packedBool_ = other.packedBool_.Clone();
5023       packedEnum_ = other.packedEnum_.Clone();
5024     }
5025 
5026     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()5027     public TestPackedTypes Clone() {
5028       return new TestPackedTypes(this);
5029     }
5030 
5031     /// <summary>Field number for the "packed_int32" field.</summary>
5032     public const int PackedInt32FieldNumber = 90;
5033     private static readonly pb::FieldCodec<int> _repeated_packedInt32_codec
5034         = pb::FieldCodec.ForInt32(722);
5035     private readonly pbc::RepeatedField<int> packedInt32_ = new pbc::RepeatedField<int>();
5036     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5037     public pbc::RepeatedField<int> PackedInt32 {
5038       get { return packedInt32_; }
5039     }
5040 
5041     /// <summary>Field number for the "packed_int64" field.</summary>
5042     public const int PackedInt64FieldNumber = 91;
5043     private static readonly pb::FieldCodec<long> _repeated_packedInt64_codec
5044         = pb::FieldCodec.ForInt64(730);
5045     private readonly pbc::RepeatedField<long> packedInt64_ = new pbc::RepeatedField<long>();
5046     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5047     public pbc::RepeatedField<long> PackedInt64 {
5048       get { return packedInt64_; }
5049     }
5050 
5051     /// <summary>Field number for the "packed_uint32" field.</summary>
5052     public const int PackedUint32FieldNumber = 92;
5053     private static readonly pb::FieldCodec<uint> _repeated_packedUint32_codec
5054         = pb::FieldCodec.ForUInt32(738);
5055     private readonly pbc::RepeatedField<uint> packedUint32_ = new pbc::RepeatedField<uint>();
5056     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5057     public pbc::RepeatedField<uint> PackedUint32 {
5058       get { return packedUint32_; }
5059     }
5060 
5061     /// <summary>Field number for the "packed_uint64" field.</summary>
5062     public const int PackedUint64FieldNumber = 93;
5063     private static readonly pb::FieldCodec<ulong> _repeated_packedUint64_codec
5064         = pb::FieldCodec.ForUInt64(746);
5065     private readonly pbc::RepeatedField<ulong> packedUint64_ = new pbc::RepeatedField<ulong>();
5066     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5067     public pbc::RepeatedField<ulong> PackedUint64 {
5068       get { return packedUint64_; }
5069     }
5070 
5071     /// <summary>Field number for the "packed_sint32" field.</summary>
5072     public const int PackedSint32FieldNumber = 94;
5073     private static readonly pb::FieldCodec<int> _repeated_packedSint32_codec
5074         = pb::FieldCodec.ForSInt32(754);
5075     private readonly pbc::RepeatedField<int> packedSint32_ = new pbc::RepeatedField<int>();
5076     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5077     public pbc::RepeatedField<int> PackedSint32 {
5078       get { return packedSint32_; }
5079     }
5080 
5081     /// <summary>Field number for the "packed_sint64" field.</summary>
5082     public const int PackedSint64FieldNumber = 95;
5083     private static readonly pb::FieldCodec<long> _repeated_packedSint64_codec
5084         = pb::FieldCodec.ForSInt64(762);
5085     private readonly pbc::RepeatedField<long> packedSint64_ = new pbc::RepeatedField<long>();
5086     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5087     public pbc::RepeatedField<long> PackedSint64 {
5088       get { return packedSint64_; }
5089     }
5090 
5091     /// <summary>Field number for the "packed_fixed32" field.</summary>
5092     public const int PackedFixed32FieldNumber = 96;
5093     private static readonly pb::FieldCodec<uint> _repeated_packedFixed32_codec
5094         = pb::FieldCodec.ForFixed32(770);
5095     private readonly pbc::RepeatedField<uint> packedFixed32_ = new pbc::RepeatedField<uint>();
5096     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5097     public pbc::RepeatedField<uint> PackedFixed32 {
5098       get { return packedFixed32_; }
5099     }
5100 
5101     /// <summary>Field number for the "packed_fixed64" field.</summary>
5102     public const int PackedFixed64FieldNumber = 97;
5103     private static readonly pb::FieldCodec<ulong> _repeated_packedFixed64_codec
5104         = pb::FieldCodec.ForFixed64(778);
5105     private readonly pbc::RepeatedField<ulong> packedFixed64_ = new pbc::RepeatedField<ulong>();
5106     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5107     public pbc::RepeatedField<ulong> PackedFixed64 {
5108       get { return packedFixed64_; }
5109     }
5110 
5111     /// <summary>Field number for the "packed_sfixed32" field.</summary>
5112     public const int PackedSfixed32FieldNumber = 98;
5113     private static readonly pb::FieldCodec<int> _repeated_packedSfixed32_codec
5114         = pb::FieldCodec.ForSFixed32(786);
5115     private readonly pbc::RepeatedField<int> packedSfixed32_ = new pbc::RepeatedField<int>();
5116     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5117     public pbc::RepeatedField<int> PackedSfixed32 {
5118       get { return packedSfixed32_; }
5119     }
5120 
5121     /// <summary>Field number for the "packed_sfixed64" field.</summary>
5122     public const int PackedSfixed64FieldNumber = 99;
5123     private static readonly pb::FieldCodec<long> _repeated_packedSfixed64_codec
5124         = pb::FieldCodec.ForSFixed64(794);
5125     private readonly pbc::RepeatedField<long> packedSfixed64_ = new pbc::RepeatedField<long>();
5126     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5127     public pbc::RepeatedField<long> PackedSfixed64 {
5128       get { return packedSfixed64_; }
5129     }
5130 
5131     /// <summary>Field number for the "packed_float" field.</summary>
5132     public const int PackedFloatFieldNumber = 100;
5133     private static readonly pb::FieldCodec<float> _repeated_packedFloat_codec
5134         = pb::FieldCodec.ForFloat(802);
5135     private readonly pbc::RepeatedField<float> packedFloat_ = new pbc::RepeatedField<float>();
5136     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5137     public pbc::RepeatedField<float> PackedFloat {
5138       get { return packedFloat_; }
5139     }
5140 
5141     /// <summary>Field number for the "packed_double" field.</summary>
5142     public const int PackedDoubleFieldNumber = 101;
5143     private static readonly pb::FieldCodec<double> _repeated_packedDouble_codec
5144         = pb::FieldCodec.ForDouble(810);
5145     private readonly pbc::RepeatedField<double> packedDouble_ = new pbc::RepeatedField<double>();
5146     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5147     public pbc::RepeatedField<double> PackedDouble {
5148       get { return packedDouble_; }
5149     }
5150 
5151     /// <summary>Field number for the "packed_bool" field.</summary>
5152     public const int PackedBoolFieldNumber = 102;
5153     private static readonly pb::FieldCodec<bool> _repeated_packedBool_codec
5154         = pb::FieldCodec.ForBool(818);
5155     private readonly pbc::RepeatedField<bool> packedBool_ = new pbc::RepeatedField<bool>();
5156     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5157     public pbc::RepeatedField<bool> PackedBool {
5158       get { return packedBool_; }
5159     }
5160 
5161     /// <summary>Field number for the "packed_enum" field.</summary>
5162     public const int PackedEnumFieldNumber = 103;
5163     private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ForeignEnum> _repeated_packedEnum_codec
5164         = pb::FieldCodec.ForEnum(826, x => (int) x, x => (global::Google.Protobuf.TestProtos.ForeignEnum) x);
5165     private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> packedEnum_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum>();
5166     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5167     public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> PackedEnum {
5168       get { return packedEnum_; }
5169     }
5170 
5171     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)5172     public override bool Equals(object other) {
5173       return Equals(other as TestPackedTypes);
5174     }
5175 
5176     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestPackedTypes other)5177     public bool Equals(TestPackedTypes other) {
5178       if (ReferenceEquals(other, null)) {
5179         return false;
5180       }
5181       if (ReferenceEquals(other, this)) {
5182         return true;
5183       }
5184       if(!packedInt32_.Equals(other.packedInt32_)) return false;
5185       if(!packedInt64_.Equals(other.packedInt64_)) return false;
5186       if(!packedUint32_.Equals(other.packedUint32_)) return false;
5187       if(!packedUint64_.Equals(other.packedUint64_)) return false;
5188       if(!packedSint32_.Equals(other.packedSint32_)) return false;
5189       if(!packedSint64_.Equals(other.packedSint64_)) return false;
5190       if(!packedFixed32_.Equals(other.packedFixed32_)) return false;
5191       if(!packedFixed64_.Equals(other.packedFixed64_)) return false;
5192       if(!packedSfixed32_.Equals(other.packedSfixed32_)) return false;
5193       if(!packedSfixed64_.Equals(other.packedSfixed64_)) return false;
5194       if(!packedFloat_.Equals(other.packedFloat_)) return false;
5195       if(!packedDouble_.Equals(other.packedDouble_)) return false;
5196       if(!packedBool_.Equals(other.packedBool_)) return false;
5197       if(!packedEnum_.Equals(other.packedEnum_)) return false;
5198       return true;
5199     }
5200 
5201     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()5202     public override int GetHashCode() {
5203       int hash = 1;
5204       hash ^= packedInt32_.GetHashCode();
5205       hash ^= packedInt64_.GetHashCode();
5206       hash ^= packedUint32_.GetHashCode();
5207       hash ^= packedUint64_.GetHashCode();
5208       hash ^= packedSint32_.GetHashCode();
5209       hash ^= packedSint64_.GetHashCode();
5210       hash ^= packedFixed32_.GetHashCode();
5211       hash ^= packedFixed64_.GetHashCode();
5212       hash ^= packedSfixed32_.GetHashCode();
5213       hash ^= packedSfixed64_.GetHashCode();
5214       hash ^= packedFloat_.GetHashCode();
5215       hash ^= packedDouble_.GetHashCode();
5216       hash ^= packedBool_.GetHashCode();
5217       hash ^= packedEnum_.GetHashCode();
5218       return hash;
5219     }
5220 
5221     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()5222     public override string ToString() {
5223       return pb::JsonFormatter.ToDiagnosticString(this);
5224     }
5225 
5226     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)5227     public void WriteTo(pb::CodedOutputStream output) {
5228       packedInt32_.WriteTo(output, _repeated_packedInt32_codec);
5229       packedInt64_.WriteTo(output, _repeated_packedInt64_codec);
5230       packedUint32_.WriteTo(output, _repeated_packedUint32_codec);
5231       packedUint64_.WriteTo(output, _repeated_packedUint64_codec);
5232       packedSint32_.WriteTo(output, _repeated_packedSint32_codec);
5233       packedSint64_.WriteTo(output, _repeated_packedSint64_codec);
5234       packedFixed32_.WriteTo(output, _repeated_packedFixed32_codec);
5235       packedFixed64_.WriteTo(output, _repeated_packedFixed64_codec);
5236       packedSfixed32_.WriteTo(output, _repeated_packedSfixed32_codec);
5237       packedSfixed64_.WriteTo(output, _repeated_packedSfixed64_codec);
5238       packedFloat_.WriteTo(output, _repeated_packedFloat_codec);
5239       packedDouble_.WriteTo(output, _repeated_packedDouble_codec);
5240       packedBool_.WriteTo(output, _repeated_packedBool_codec);
5241       packedEnum_.WriteTo(output, _repeated_packedEnum_codec);
5242     }
5243 
5244     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()5245     public int CalculateSize() {
5246       int size = 0;
5247       size += packedInt32_.CalculateSize(_repeated_packedInt32_codec);
5248       size += packedInt64_.CalculateSize(_repeated_packedInt64_codec);
5249       size += packedUint32_.CalculateSize(_repeated_packedUint32_codec);
5250       size += packedUint64_.CalculateSize(_repeated_packedUint64_codec);
5251       size += packedSint32_.CalculateSize(_repeated_packedSint32_codec);
5252       size += packedSint64_.CalculateSize(_repeated_packedSint64_codec);
5253       size += packedFixed32_.CalculateSize(_repeated_packedFixed32_codec);
5254       size += packedFixed64_.CalculateSize(_repeated_packedFixed64_codec);
5255       size += packedSfixed32_.CalculateSize(_repeated_packedSfixed32_codec);
5256       size += packedSfixed64_.CalculateSize(_repeated_packedSfixed64_codec);
5257       size += packedFloat_.CalculateSize(_repeated_packedFloat_codec);
5258       size += packedDouble_.CalculateSize(_repeated_packedDouble_codec);
5259       size += packedBool_.CalculateSize(_repeated_packedBool_codec);
5260       size += packedEnum_.CalculateSize(_repeated_packedEnum_codec);
5261       return size;
5262     }
5263 
5264     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestPackedTypes other)5265     public void MergeFrom(TestPackedTypes other) {
5266       if (other == null) {
5267         return;
5268       }
5269       packedInt32_.Add(other.packedInt32_);
5270       packedInt64_.Add(other.packedInt64_);
5271       packedUint32_.Add(other.packedUint32_);
5272       packedUint64_.Add(other.packedUint64_);
5273       packedSint32_.Add(other.packedSint32_);
5274       packedSint64_.Add(other.packedSint64_);
5275       packedFixed32_.Add(other.packedFixed32_);
5276       packedFixed64_.Add(other.packedFixed64_);
5277       packedSfixed32_.Add(other.packedSfixed32_);
5278       packedSfixed64_.Add(other.packedSfixed64_);
5279       packedFloat_.Add(other.packedFloat_);
5280       packedDouble_.Add(other.packedDouble_);
5281       packedBool_.Add(other.packedBool_);
5282       packedEnum_.Add(other.packedEnum_);
5283     }
5284 
5285     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)5286     public void MergeFrom(pb::CodedInputStream input) {
5287       uint tag;
5288       while ((tag = input.ReadTag()) != 0) {
5289         switch(tag) {
5290           default:
5291             input.SkipLastField();
5292             break;
5293           case 722:
5294           case 720: {
5295             packedInt32_.AddEntriesFrom(input, _repeated_packedInt32_codec);
5296             break;
5297           }
5298           case 730:
5299           case 728: {
5300             packedInt64_.AddEntriesFrom(input, _repeated_packedInt64_codec);
5301             break;
5302           }
5303           case 738:
5304           case 736: {
5305             packedUint32_.AddEntriesFrom(input, _repeated_packedUint32_codec);
5306             break;
5307           }
5308           case 746:
5309           case 744: {
5310             packedUint64_.AddEntriesFrom(input, _repeated_packedUint64_codec);
5311             break;
5312           }
5313           case 754:
5314           case 752: {
5315             packedSint32_.AddEntriesFrom(input, _repeated_packedSint32_codec);
5316             break;
5317           }
5318           case 762:
5319           case 760: {
5320             packedSint64_.AddEntriesFrom(input, _repeated_packedSint64_codec);
5321             break;
5322           }
5323           case 770:
5324           case 773: {
5325             packedFixed32_.AddEntriesFrom(input, _repeated_packedFixed32_codec);
5326             break;
5327           }
5328           case 778:
5329           case 777: {
5330             packedFixed64_.AddEntriesFrom(input, _repeated_packedFixed64_codec);
5331             break;
5332           }
5333           case 786:
5334           case 789: {
5335             packedSfixed32_.AddEntriesFrom(input, _repeated_packedSfixed32_codec);
5336             break;
5337           }
5338           case 794:
5339           case 793: {
5340             packedSfixed64_.AddEntriesFrom(input, _repeated_packedSfixed64_codec);
5341             break;
5342           }
5343           case 802:
5344           case 805: {
5345             packedFloat_.AddEntriesFrom(input, _repeated_packedFloat_codec);
5346             break;
5347           }
5348           case 810:
5349           case 809: {
5350             packedDouble_.AddEntriesFrom(input, _repeated_packedDouble_codec);
5351             break;
5352           }
5353           case 818:
5354           case 816: {
5355             packedBool_.AddEntriesFrom(input, _repeated_packedBool_codec);
5356             break;
5357           }
5358           case 826:
5359           case 824: {
5360             packedEnum_.AddEntriesFrom(input, _repeated_packedEnum_codec);
5361             break;
5362           }
5363         }
5364       }
5365     }
5366 
5367   }
5368 
5369   /// <summary>
5370   ///  A message with the same fields as TestPackedTypes, but without packing. Used
5371   ///  to test packed &lt;-> unpacked wire compatibility.
5372   /// </summary>
5373   public sealed partial class TestUnpackedTypes : pb::IMessage<TestUnpackedTypes> {
5374     private static readonly pb::MessageParser<TestUnpackedTypes> _parser = new pb::MessageParser<TestUnpackedTypes>(() => new TestUnpackedTypes());
5375     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5376     public static pb::MessageParser<TestUnpackedTypes> Parser { get { return _parser; } }
5377 
5378     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5379     public static pbr::MessageDescriptor Descriptor {
5380       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[24]; }
5381     }
5382 
5383     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5384     pbr::MessageDescriptor pb::IMessage.Descriptor {
5385       get { return Descriptor; }
5386     }
5387 
5388     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestUnpackedTypes()5389     public TestUnpackedTypes() {
5390       OnConstruction();
5391     }
5392 
OnConstruction()5393     partial void OnConstruction();
5394 
5395     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestUnpackedTypes(TestUnpackedTypes other)5396     public TestUnpackedTypes(TestUnpackedTypes other) : this() {
5397       unpackedInt32_ = other.unpackedInt32_.Clone();
5398       unpackedInt64_ = other.unpackedInt64_.Clone();
5399       unpackedUint32_ = other.unpackedUint32_.Clone();
5400       unpackedUint64_ = other.unpackedUint64_.Clone();
5401       unpackedSint32_ = other.unpackedSint32_.Clone();
5402       unpackedSint64_ = other.unpackedSint64_.Clone();
5403       unpackedFixed32_ = other.unpackedFixed32_.Clone();
5404       unpackedFixed64_ = other.unpackedFixed64_.Clone();
5405       unpackedSfixed32_ = other.unpackedSfixed32_.Clone();
5406       unpackedSfixed64_ = other.unpackedSfixed64_.Clone();
5407       unpackedFloat_ = other.unpackedFloat_.Clone();
5408       unpackedDouble_ = other.unpackedDouble_.Clone();
5409       unpackedBool_ = other.unpackedBool_.Clone();
5410       unpackedEnum_ = other.unpackedEnum_.Clone();
5411     }
5412 
5413     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()5414     public TestUnpackedTypes Clone() {
5415       return new TestUnpackedTypes(this);
5416     }
5417 
5418     /// <summary>Field number for the "unpacked_int32" field.</summary>
5419     public const int UnpackedInt32FieldNumber = 90;
5420     private static readonly pb::FieldCodec<int> _repeated_unpackedInt32_codec
5421         = pb::FieldCodec.ForInt32(720);
5422     private readonly pbc::RepeatedField<int> unpackedInt32_ = new pbc::RepeatedField<int>();
5423     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5424     public pbc::RepeatedField<int> UnpackedInt32 {
5425       get { return unpackedInt32_; }
5426     }
5427 
5428     /// <summary>Field number for the "unpacked_int64" field.</summary>
5429     public const int UnpackedInt64FieldNumber = 91;
5430     private static readonly pb::FieldCodec<long> _repeated_unpackedInt64_codec
5431         = pb::FieldCodec.ForInt64(728);
5432     private readonly pbc::RepeatedField<long> unpackedInt64_ = new pbc::RepeatedField<long>();
5433     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5434     public pbc::RepeatedField<long> UnpackedInt64 {
5435       get { return unpackedInt64_; }
5436     }
5437 
5438     /// <summary>Field number for the "unpacked_uint32" field.</summary>
5439     public const int UnpackedUint32FieldNumber = 92;
5440     private static readonly pb::FieldCodec<uint> _repeated_unpackedUint32_codec
5441         = pb::FieldCodec.ForUInt32(736);
5442     private readonly pbc::RepeatedField<uint> unpackedUint32_ = new pbc::RepeatedField<uint>();
5443     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5444     public pbc::RepeatedField<uint> UnpackedUint32 {
5445       get { return unpackedUint32_; }
5446     }
5447 
5448     /// <summary>Field number for the "unpacked_uint64" field.</summary>
5449     public const int UnpackedUint64FieldNumber = 93;
5450     private static readonly pb::FieldCodec<ulong> _repeated_unpackedUint64_codec
5451         = pb::FieldCodec.ForUInt64(744);
5452     private readonly pbc::RepeatedField<ulong> unpackedUint64_ = new pbc::RepeatedField<ulong>();
5453     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5454     public pbc::RepeatedField<ulong> UnpackedUint64 {
5455       get { return unpackedUint64_; }
5456     }
5457 
5458     /// <summary>Field number for the "unpacked_sint32" field.</summary>
5459     public const int UnpackedSint32FieldNumber = 94;
5460     private static readonly pb::FieldCodec<int> _repeated_unpackedSint32_codec
5461         = pb::FieldCodec.ForSInt32(752);
5462     private readonly pbc::RepeatedField<int> unpackedSint32_ = new pbc::RepeatedField<int>();
5463     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5464     public pbc::RepeatedField<int> UnpackedSint32 {
5465       get { return unpackedSint32_; }
5466     }
5467 
5468     /// <summary>Field number for the "unpacked_sint64" field.</summary>
5469     public const int UnpackedSint64FieldNumber = 95;
5470     private static readonly pb::FieldCodec<long> _repeated_unpackedSint64_codec
5471         = pb::FieldCodec.ForSInt64(760);
5472     private readonly pbc::RepeatedField<long> unpackedSint64_ = new pbc::RepeatedField<long>();
5473     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5474     public pbc::RepeatedField<long> UnpackedSint64 {
5475       get { return unpackedSint64_; }
5476     }
5477 
5478     /// <summary>Field number for the "unpacked_fixed32" field.</summary>
5479     public const int UnpackedFixed32FieldNumber = 96;
5480     private static readonly pb::FieldCodec<uint> _repeated_unpackedFixed32_codec
5481         = pb::FieldCodec.ForFixed32(773);
5482     private readonly pbc::RepeatedField<uint> unpackedFixed32_ = new pbc::RepeatedField<uint>();
5483     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5484     public pbc::RepeatedField<uint> UnpackedFixed32 {
5485       get { return unpackedFixed32_; }
5486     }
5487 
5488     /// <summary>Field number for the "unpacked_fixed64" field.</summary>
5489     public const int UnpackedFixed64FieldNumber = 97;
5490     private static readonly pb::FieldCodec<ulong> _repeated_unpackedFixed64_codec
5491         = pb::FieldCodec.ForFixed64(777);
5492     private readonly pbc::RepeatedField<ulong> unpackedFixed64_ = new pbc::RepeatedField<ulong>();
5493     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5494     public pbc::RepeatedField<ulong> UnpackedFixed64 {
5495       get { return unpackedFixed64_; }
5496     }
5497 
5498     /// <summary>Field number for the "unpacked_sfixed32" field.</summary>
5499     public const int UnpackedSfixed32FieldNumber = 98;
5500     private static readonly pb::FieldCodec<int> _repeated_unpackedSfixed32_codec
5501         = pb::FieldCodec.ForSFixed32(789);
5502     private readonly pbc::RepeatedField<int> unpackedSfixed32_ = new pbc::RepeatedField<int>();
5503     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5504     public pbc::RepeatedField<int> UnpackedSfixed32 {
5505       get { return unpackedSfixed32_; }
5506     }
5507 
5508     /// <summary>Field number for the "unpacked_sfixed64" field.</summary>
5509     public const int UnpackedSfixed64FieldNumber = 99;
5510     private static readonly pb::FieldCodec<long> _repeated_unpackedSfixed64_codec
5511         = pb::FieldCodec.ForSFixed64(793);
5512     private readonly pbc::RepeatedField<long> unpackedSfixed64_ = new pbc::RepeatedField<long>();
5513     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5514     public pbc::RepeatedField<long> UnpackedSfixed64 {
5515       get { return unpackedSfixed64_; }
5516     }
5517 
5518     /// <summary>Field number for the "unpacked_float" field.</summary>
5519     public const int UnpackedFloatFieldNumber = 100;
5520     private static readonly pb::FieldCodec<float> _repeated_unpackedFloat_codec
5521         = pb::FieldCodec.ForFloat(805);
5522     private readonly pbc::RepeatedField<float> unpackedFloat_ = new pbc::RepeatedField<float>();
5523     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5524     public pbc::RepeatedField<float> UnpackedFloat {
5525       get { return unpackedFloat_; }
5526     }
5527 
5528     /// <summary>Field number for the "unpacked_double" field.</summary>
5529     public const int UnpackedDoubleFieldNumber = 101;
5530     private static readonly pb::FieldCodec<double> _repeated_unpackedDouble_codec
5531         = pb::FieldCodec.ForDouble(809);
5532     private readonly pbc::RepeatedField<double> unpackedDouble_ = new pbc::RepeatedField<double>();
5533     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5534     public pbc::RepeatedField<double> UnpackedDouble {
5535       get { return unpackedDouble_; }
5536     }
5537 
5538     /// <summary>Field number for the "unpacked_bool" field.</summary>
5539     public const int UnpackedBoolFieldNumber = 102;
5540     private static readonly pb::FieldCodec<bool> _repeated_unpackedBool_codec
5541         = pb::FieldCodec.ForBool(816);
5542     private readonly pbc::RepeatedField<bool> unpackedBool_ = new pbc::RepeatedField<bool>();
5543     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5544     public pbc::RepeatedField<bool> UnpackedBool {
5545       get { return unpackedBool_; }
5546     }
5547 
5548     /// <summary>Field number for the "unpacked_enum" field.</summary>
5549     public const int UnpackedEnumFieldNumber = 103;
5550     private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ForeignEnum> _repeated_unpackedEnum_codec
5551         = pb::FieldCodec.ForEnum(824, x => (int) x, x => (global::Google.Protobuf.TestProtos.ForeignEnum) x);
5552     private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> unpackedEnum_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum>();
5553     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5554     public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> UnpackedEnum {
5555       get { return unpackedEnum_; }
5556     }
5557 
5558     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)5559     public override bool Equals(object other) {
5560       return Equals(other as TestUnpackedTypes);
5561     }
5562 
5563     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestUnpackedTypes other)5564     public bool Equals(TestUnpackedTypes other) {
5565       if (ReferenceEquals(other, null)) {
5566         return false;
5567       }
5568       if (ReferenceEquals(other, this)) {
5569         return true;
5570       }
5571       if(!unpackedInt32_.Equals(other.unpackedInt32_)) return false;
5572       if(!unpackedInt64_.Equals(other.unpackedInt64_)) return false;
5573       if(!unpackedUint32_.Equals(other.unpackedUint32_)) return false;
5574       if(!unpackedUint64_.Equals(other.unpackedUint64_)) return false;
5575       if(!unpackedSint32_.Equals(other.unpackedSint32_)) return false;
5576       if(!unpackedSint64_.Equals(other.unpackedSint64_)) return false;
5577       if(!unpackedFixed32_.Equals(other.unpackedFixed32_)) return false;
5578       if(!unpackedFixed64_.Equals(other.unpackedFixed64_)) return false;
5579       if(!unpackedSfixed32_.Equals(other.unpackedSfixed32_)) return false;
5580       if(!unpackedSfixed64_.Equals(other.unpackedSfixed64_)) return false;
5581       if(!unpackedFloat_.Equals(other.unpackedFloat_)) return false;
5582       if(!unpackedDouble_.Equals(other.unpackedDouble_)) return false;
5583       if(!unpackedBool_.Equals(other.unpackedBool_)) return false;
5584       if(!unpackedEnum_.Equals(other.unpackedEnum_)) return false;
5585       return true;
5586     }
5587 
5588     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()5589     public override int GetHashCode() {
5590       int hash = 1;
5591       hash ^= unpackedInt32_.GetHashCode();
5592       hash ^= unpackedInt64_.GetHashCode();
5593       hash ^= unpackedUint32_.GetHashCode();
5594       hash ^= unpackedUint64_.GetHashCode();
5595       hash ^= unpackedSint32_.GetHashCode();
5596       hash ^= unpackedSint64_.GetHashCode();
5597       hash ^= unpackedFixed32_.GetHashCode();
5598       hash ^= unpackedFixed64_.GetHashCode();
5599       hash ^= unpackedSfixed32_.GetHashCode();
5600       hash ^= unpackedSfixed64_.GetHashCode();
5601       hash ^= unpackedFloat_.GetHashCode();
5602       hash ^= unpackedDouble_.GetHashCode();
5603       hash ^= unpackedBool_.GetHashCode();
5604       hash ^= unpackedEnum_.GetHashCode();
5605       return hash;
5606     }
5607 
5608     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()5609     public override string ToString() {
5610       return pb::JsonFormatter.ToDiagnosticString(this);
5611     }
5612 
5613     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)5614     public void WriteTo(pb::CodedOutputStream output) {
5615       unpackedInt32_.WriteTo(output, _repeated_unpackedInt32_codec);
5616       unpackedInt64_.WriteTo(output, _repeated_unpackedInt64_codec);
5617       unpackedUint32_.WriteTo(output, _repeated_unpackedUint32_codec);
5618       unpackedUint64_.WriteTo(output, _repeated_unpackedUint64_codec);
5619       unpackedSint32_.WriteTo(output, _repeated_unpackedSint32_codec);
5620       unpackedSint64_.WriteTo(output, _repeated_unpackedSint64_codec);
5621       unpackedFixed32_.WriteTo(output, _repeated_unpackedFixed32_codec);
5622       unpackedFixed64_.WriteTo(output, _repeated_unpackedFixed64_codec);
5623       unpackedSfixed32_.WriteTo(output, _repeated_unpackedSfixed32_codec);
5624       unpackedSfixed64_.WriteTo(output, _repeated_unpackedSfixed64_codec);
5625       unpackedFloat_.WriteTo(output, _repeated_unpackedFloat_codec);
5626       unpackedDouble_.WriteTo(output, _repeated_unpackedDouble_codec);
5627       unpackedBool_.WriteTo(output, _repeated_unpackedBool_codec);
5628       unpackedEnum_.WriteTo(output, _repeated_unpackedEnum_codec);
5629     }
5630 
5631     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()5632     public int CalculateSize() {
5633       int size = 0;
5634       size += unpackedInt32_.CalculateSize(_repeated_unpackedInt32_codec);
5635       size += unpackedInt64_.CalculateSize(_repeated_unpackedInt64_codec);
5636       size += unpackedUint32_.CalculateSize(_repeated_unpackedUint32_codec);
5637       size += unpackedUint64_.CalculateSize(_repeated_unpackedUint64_codec);
5638       size += unpackedSint32_.CalculateSize(_repeated_unpackedSint32_codec);
5639       size += unpackedSint64_.CalculateSize(_repeated_unpackedSint64_codec);
5640       size += unpackedFixed32_.CalculateSize(_repeated_unpackedFixed32_codec);
5641       size += unpackedFixed64_.CalculateSize(_repeated_unpackedFixed64_codec);
5642       size += unpackedSfixed32_.CalculateSize(_repeated_unpackedSfixed32_codec);
5643       size += unpackedSfixed64_.CalculateSize(_repeated_unpackedSfixed64_codec);
5644       size += unpackedFloat_.CalculateSize(_repeated_unpackedFloat_codec);
5645       size += unpackedDouble_.CalculateSize(_repeated_unpackedDouble_codec);
5646       size += unpackedBool_.CalculateSize(_repeated_unpackedBool_codec);
5647       size += unpackedEnum_.CalculateSize(_repeated_unpackedEnum_codec);
5648       return size;
5649     }
5650 
5651     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestUnpackedTypes other)5652     public void MergeFrom(TestUnpackedTypes other) {
5653       if (other == null) {
5654         return;
5655       }
5656       unpackedInt32_.Add(other.unpackedInt32_);
5657       unpackedInt64_.Add(other.unpackedInt64_);
5658       unpackedUint32_.Add(other.unpackedUint32_);
5659       unpackedUint64_.Add(other.unpackedUint64_);
5660       unpackedSint32_.Add(other.unpackedSint32_);
5661       unpackedSint64_.Add(other.unpackedSint64_);
5662       unpackedFixed32_.Add(other.unpackedFixed32_);
5663       unpackedFixed64_.Add(other.unpackedFixed64_);
5664       unpackedSfixed32_.Add(other.unpackedSfixed32_);
5665       unpackedSfixed64_.Add(other.unpackedSfixed64_);
5666       unpackedFloat_.Add(other.unpackedFloat_);
5667       unpackedDouble_.Add(other.unpackedDouble_);
5668       unpackedBool_.Add(other.unpackedBool_);
5669       unpackedEnum_.Add(other.unpackedEnum_);
5670     }
5671 
5672     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)5673     public void MergeFrom(pb::CodedInputStream input) {
5674       uint tag;
5675       while ((tag = input.ReadTag()) != 0) {
5676         switch(tag) {
5677           default:
5678             input.SkipLastField();
5679             break;
5680           case 722:
5681           case 720: {
5682             unpackedInt32_.AddEntriesFrom(input, _repeated_unpackedInt32_codec);
5683             break;
5684           }
5685           case 730:
5686           case 728: {
5687             unpackedInt64_.AddEntriesFrom(input, _repeated_unpackedInt64_codec);
5688             break;
5689           }
5690           case 738:
5691           case 736: {
5692             unpackedUint32_.AddEntriesFrom(input, _repeated_unpackedUint32_codec);
5693             break;
5694           }
5695           case 746:
5696           case 744: {
5697             unpackedUint64_.AddEntriesFrom(input, _repeated_unpackedUint64_codec);
5698             break;
5699           }
5700           case 754:
5701           case 752: {
5702             unpackedSint32_.AddEntriesFrom(input, _repeated_unpackedSint32_codec);
5703             break;
5704           }
5705           case 762:
5706           case 760: {
5707             unpackedSint64_.AddEntriesFrom(input, _repeated_unpackedSint64_codec);
5708             break;
5709           }
5710           case 770:
5711           case 773: {
5712             unpackedFixed32_.AddEntriesFrom(input, _repeated_unpackedFixed32_codec);
5713             break;
5714           }
5715           case 778:
5716           case 777: {
5717             unpackedFixed64_.AddEntriesFrom(input, _repeated_unpackedFixed64_codec);
5718             break;
5719           }
5720           case 786:
5721           case 789: {
5722             unpackedSfixed32_.AddEntriesFrom(input, _repeated_unpackedSfixed32_codec);
5723             break;
5724           }
5725           case 794:
5726           case 793: {
5727             unpackedSfixed64_.AddEntriesFrom(input, _repeated_unpackedSfixed64_codec);
5728             break;
5729           }
5730           case 802:
5731           case 805: {
5732             unpackedFloat_.AddEntriesFrom(input, _repeated_unpackedFloat_codec);
5733             break;
5734           }
5735           case 810:
5736           case 809: {
5737             unpackedDouble_.AddEntriesFrom(input, _repeated_unpackedDouble_codec);
5738             break;
5739           }
5740           case 818:
5741           case 816: {
5742             unpackedBool_.AddEntriesFrom(input, _repeated_unpackedBool_codec);
5743             break;
5744           }
5745           case 826:
5746           case 824: {
5747             unpackedEnum_.AddEntriesFrom(input, _repeated_unpackedEnum_codec);
5748             break;
5749           }
5750         }
5751       }
5752     }
5753 
5754   }
5755 
5756   public sealed partial class TestRepeatedScalarDifferentTagSizes : pb::IMessage<TestRepeatedScalarDifferentTagSizes> {
5757     private static readonly pb::MessageParser<TestRepeatedScalarDifferentTagSizes> _parser = new pb::MessageParser<TestRepeatedScalarDifferentTagSizes>(() => new TestRepeatedScalarDifferentTagSizes());
5758     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5759     public static pb::MessageParser<TestRepeatedScalarDifferentTagSizes> Parser { get { return _parser; } }
5760 
5761     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5762     public static pbr::MessageDescriptor Descriptor {
5763       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[25]; }
5764     }
5765 
5766     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5767     pbr::MessageDescriptor pb::IMessage.Descriptor {
5768       get { return Descriptor; }
5769     }
5770 
5771     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestRepeatedScalarDifferentTagSizes()5772     public TestRepeatedScalarDifferentTagSizes() {
5773       OnConstruction();
5774     }
5775 
OnConstruction()5776     partial void OnConstruction();
5777 
5778     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestRepeatedScalarDifferentTagSizes(TestRepeatedScalarDifferentTagSizes other)5779     public TestRepeatedScalarDifferentTagSizes(TestRepeatedScalarDifferentTagSizes other) : this() {
5780       repeatedFixed32_ = other.repeatedFixed32_.Clone();
5781       repeatedInt32_ = other.repeatedInt32_.Clone();
5782       repeatedFixed64_ = other.repeatedFixed64_.Clone();
5783       repeatedInt64_ = other.repeatedInt64_.Clone();
5784       repeatedFloat_ = other.repeatedFloat_.Clone();
5785       repeatedUint64_ = other.repeatedUint64_.Clone();
5786     }
5787 
5788     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()5789     public TestRepeatedScalarDifferentTagSizes Clone() {
5790       return new TestRepeatedScalarDifferentTagSizes(this);
5791     }
5792 
5793     /// <summary>Field number for the "repeated_fixed32" field.</summary>
5794     public const int RepeatedFixed32FieldNumber = 12;
5795     private static readonly pb::FieldCodec<uint> _repeated_repeatedFixed32_codec
5796         = pb::FieldCodec.ForFixed32(98);
5797     private readonly pbc::RepeatedField<uint> repeatedFixed32_ = new pbc::RepeatedField<uint>();
5798     /// <summary>
5799     ///  Parsing repeated fixed size values used to fail. This message needs to be
5800     ///  used in order to get a tag of the right size; all of the repeated fields
5801     ///  in TestAllTypes didn't trigger the check.
5802     /// </summary>
5803     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5804     public pbc::RepeatedField<uint> RepeatedFixed32 {
5805       get { return repeatedFixed32_; }
5806     }
5807 
5808     /// <summary>Field number for the "repeated_int32" field.</summary>
5809     public const int RepeatedInt32FieldNumber = 13;
5810     private static readonly pb::FieldCodec<int> _repeated_repeatedInt32_codec
5811         = pb::FieldCodec.ForInt32(106);
5812     private readonly pbc::RepeatedField<int> repeatedInt32_ = new pbc::RepeatedField<int>();
5813     /// <summary>
5814     ///  Check for a varint type, just for good measure.
5815     /// </summary>
5816     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5817     public pbc::RepeatedField<int> RepeatedInt32 {
5818       get { return repeatedInt32_; }
5819     }
5820 
5821     /// <summary>Field number for the "repeated_fixed64" field.</summary>
5822     public const int RepeatedFixed64FieldNumber = 2046;
5823     private static readonly pb::FieldCodec<ulong> _repeated_repeatedFixed64_codec
5824         = pb::FieldCodec.ForFixed64(16370);
5825     private readonly pbc::RepeatedField<ulong> repeatedFixed64_ = new pbc::RepeatedField<ulong>();
5826     /// <summary>
5827     ///  These have two-byte tags.
5828     /// </summary>
5829     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5830     public pbc::RepeatedField<ulong> RepeatedFixed64 {
5831       get { return repeatedFixed64_; }
5832     }
5833 
5834     /// <summary>Field number for the "repeated_int64" field.</summary>
5835     public const int RepeatedInt64FieldNumber = 2047;
5836     private static readonly pb::FieldCodec<long> _repeated_repeatedInt64_codec
5837         = pb::FieldCodec.ForInt64(16378);
5838     private readonly pbc::RepeatedField<long> repeatedInt64_ = new pbc::RepeatedField<long>();
5839     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5840     public pbc::RepeatedField<long> RepeatedInt64 {
5841       get { return repeatedInt64_; }
5842     }
5843 
5844     /// <summary>Field number for the "repeated_float" field.</summary>
5845     public const int RepeatedFloatFieldNumber = 262142;
5846     private static readonly pb::FieldCodec<float> _repeated_repeatedFloat_codec
5847         = pb::FieldCodec.ForFloat(2097138);
5848     private readonly pbc::RepeatedField<float> repeatedFloat_ = new pbc::RepeatedField<float>();
5849     /// <summary>
5850     ///  Three byte tags.
5851     /// </summary>
5852     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5853     public pbc::RepeatedField<float> RepeatedFloat {
5854       get { return repeatedFloat_; }
5855     }
5856 
5857     /// <summary>Field number for the "repeated_uint64" field.</summary>
5858     public const int RepeatedUint64FieldNumber = 262143;
5859     private static readonly pb::FieldCodec<ulong> _repeated_repeatedUint64_codec
5860         = pb::FieldCodec.ForUInt64(2097146);
5861     private readonly pbc::RepeatedField<ulong> repeatedUint64_ = new pbc::RepeatedField<ulong>();
5862     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5863     public pbc::RepeatedField<ulong> RepeatedUint64 {
5864       get { return repeatedUint64_; }
5865     }
5866 
5867     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)5868     public override bool Equals(object other) {
5869       return Equals(other as TestRepeatedScalarDifferentTagSizes);
5870     }
5871 
5872     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestRepeatedScalarDifferentTagSizes other)5873     public bool Equals(TestRepeatedScalarDifferentTagSizes other) {
5874       if (ReferenceEquals(other, null)) {
5875         return false;
5876       }
5877       if (ReferenceEquals(other, this)) {
5878         return true;
5879       }
5880       if(!repeatedFixed32_.Equals(other.repeatedFixed32_)) return false;
5881       if(!repeatedInt32_.Equals(other.repeatedInt32_)) return false;
5882       if(!repeatedFixed64_.Equals(other.repeatedFixed64_)) return false;
5883       if(!repeatedInt64_.Equals(other.repeatedInt64_)) return false;
5884       if(!repeatedFloat_.Equals(other.repeatedFloat_)) return false;
5885       if(!repeatedUint64_.Equals(other.repeatedUint64_)) return false;
5886       return true;
5887     }
5888 
5889     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()5890     public override int GetHashCode() {
5891       int hash = 1;
5892       hash ^= repeatedFixed32_.GetHashCode();
5893       hash ^= repeatedInt32_.GetHashCode();
5894       hash ^= repeatedFixed64_.GetHashCode();
5895       hash ^= repeatedInt64_.GetHashCode();
5896       hash ^= repeatedFloat_.GetHashCode();
5897       hash ^= repeatedUint64_.GetHashCode();
5898       return hash;
5899     }
5900 
5901     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()5902     public override string ToString() {
5903       return pb::JsonFormatter.ToDiagnosticString(this);
5904     }
5905 
5906     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)5907     public void WriteTo(pb::CodedOutputStream output) {
5908       repeatedFixed32_.WriteTo(output, _repeated_repeatedFixed32_codec);
5909       repeatedInt32_.WriteTo(output, _repeated_repeatedInt32_codec);
5910       repeatedFixed64_.WriteTo(output, _repeated_repeatedFixed64_codec);
5911       repeatedInt64_.WriteTo(output, _repeated_repeatedInt64_codec);
5912       repeatedFloat_.WriteTo(output, _repeated_repeatedFloat_codec);
5913       repeatedUint64_.WriteTo(output, _repeated_repeatedUint64_codec);
5914     }
5915 
5916     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()5917     public int CalculateSize() {
5918       int size = 0;
5919       size += repeatedFixed32_.CalculateSize(_repeated_repeatedFixed32_codec);
5920       size += repeatedInt32_.CalculateSize(_repeated_repeatedInt32_codec);
5921       size += repeatedFixed64_.CalculateSize(_repeated_repeatedFixed64_codec);
5922       size += repeatedInt64_.CalculateSize(_repeated_repeatedInt64_codec);
5923       size += repeatedFloat_.CalculateSize(_repeated_repeatedFloat_codec);
5924       size += repeatedUint64_.CalculateSize(_repeated_repeatedUint64_codec);
5925       return size;
5926     }
5927 
5928     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestRepeatedScalarDifferentTagSizes other)5929     public void MergeFrom(TestRepeatedScalarDifferentTagSizes other) {
5930       if (other == null) {
5931         return;
5932       }
5933       repeatedFixed32_.Add(other.repeatedFixed32_);
5934       repeatedInt32_.Add(other.repeatedInt32_);
5935       repeatedFixed64_.Add(other.repeatedFixed64_);
5936       repeatedInt64_.Add(other.repeatedInt64_);
5937       repeatedFloat_.Add(other.repeatedFloat_);
5938       repeatedUint64_.Add(other.repeatedUint64_);
5939     }
5940 
5941     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)5942     public void MergeFrom(pb::CodedInputStream input) {
5943       uint tag;
5944       while ((tag = input.ReadTag()) != 0) {
5945         switch(tag) {
5946           default:
5947             input.SkipLastField();
5948             break;
5949           case 98:
5950           case 101: {
5951             repeatedFixed32_.AddEntriesFrom(input, _repeated_repeatedFixed32_codec);
5952             break;
5953           }
5954           case 106:
5955           case 104: {
5956             repeatedInt32_.AddEntriesFrom(input, _repeated_repeatedInt32_codec);
5957             break;
5958           }
5959           case 16370:
5960           case 16369: {
5961             repeatedFixed64_.AddEntriesFrom(input, _repeated_repeatedFixed64_codec);
5962             break;
5963           }
5964           case 16378:
5965           case 16376: {
5966             repeatedInt64_.AddEntriesFrom(input, _repeated_repeatedInt64_codec);
5967             break;
5968           }
5969           case 2097138:
5970           case 2097141: {
5971             repeatedFloat_.AddEntriesFrom(input, _repeated_repeatedFloat_codec);
5972             break;
5973           }
5974           case 2097146:
5975           case 2097144: {
5976             repeatedUint64_.AddEntriesFrom(input, _repeated_repeatedUint64_codec);
5977             break;
5978           }
5979         }
5980       }
5981     }
5982 
5983   }
5984 
5985   public sealed partial class TestCommentInjectionMessage : pb::IMessage<TestCommentInjectionMessage> {
5986     private static readonly pb::MessageParser<TestCommentInjectionMessage> _parser = new pb::MessageParser<TestCommentInjectionMessage>(() => new TestCommentInjectionMessage());
5987     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5988     public static pb::MessageParser<TestCommentInjectionMessage> Parser { get { return _parser; } }
5989 
5990     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5991     public static pbr::MessageDescriptor Descriptor {
5992       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[26]; }
5993     }
5994 
5995     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5996     pbr::MessageDescriptor pb::IMessage.Descriptor {
5997       get { return Descriptor; }
5998     }
5999 
6000     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestCommentInjectionMessage()6001     public TestCommentInjectionMessage() {
6002       OnConstruction();
6003     }
6004 
OnConstruction()6005     partial void OnConstruction();
6006 
6007     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
TestCommentInjectionMessage(TestCommentInjectionMessage other)6008     public TestCommentInjectionMessage(TestCommentInjectionMessage other) : this() {
6009       a_ = other.a_;
6010     }
6011 
6012     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()6013     public TestCommentInjectionMessage Clone() {
6014       return new TestCommentInjectionMessage(this);
6015     }
6016 
6017     /// <summary>Field number for the "a" field.</summary>
6018     public const int AFieldNumber = 1;
6019     private string a_ = "";
6020     /// <summary>
6021     ///  */ &lt;- This should not close the generated doc comment
6022     /// </summary>
6023     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6024     public string A {
6025       get { return a_; }
6026       set {
6027         a_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
6028       }
6029     }
6030 
6031     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)6032     public override bool Equals(object other) {
6033       return Equals(other as TestCommentInjectionMessage);
6034     }
6035 
6036     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(TestCommentInjectionMessage other)6037     public bool Equals(TestCommentInjectionMessage other) {
6038       if (ReferenceEquals(other, null)) {
6039         return false;
6040       }
6041       if (ReferenceEquals(other, this)) {
6042         return true;
6043       }
6044       if (A != other.A) return false;
6045       return true;
6046     }
6047 
6048     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()6049     public override int GetHashCode() {
6050       int hash = 1;
6051       if (A.Length != 0) hash ^= A.GetHashCode();
6052       return hash;
6053     }
6054 
6055     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()6056     public override string ToString() {
6057       return pb::JsonFormatter.ToDiagnosticString(this);
6058     }
6059 
6060     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)6061     public void WriteTo(pb::CodedOutputStream output) {
6062       if (A.Length != 0) {
6063         output.WriteRawTag(10);
6064         output.WriteString(A);
6065       }
6066     }
6067 
6068     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()6069     public int CalculateSize() {
6070       int size = 0;
6071       if (A.Length != 0) {
6072         size += 1 + pb::CodedOutputStream.ComputeStringSize(A);
6073       }
6074       return size;
6075     }
6076 
6077     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(TestCommentInjectionMessage other)6078     public void MergeFrom(TestCommentInjectionMessage other) {
6079       if (other == null) {
6080         return;
6081       }
6082       if (other.A.Length != 0) {
6083         A = other.A;
6084       }
6085     }
6086 
6087     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)6088     public void MergeFrom(pb::CodedInputStream input) {
6089       uint tag;
6090       while ((tag = input.ReadTag()) != 0) {
6091         switch(tag) {
6092           default:
6093             input.SkipLastField();
6094             break;
6095           case 10: {
6096             A = input.ReadString();
6097             break;
6098           }
6099         }
6100       }
6101     }
6102 
6103   }
6104 
6105   /// <summary>
6106   ///  Test that RPC services work.
6107   /// </summary>
6108   public sealed partial class FooRequest : pb::IMessage<FooRequest> {
6109     private static readonly pb::MessageParser<FooRequest> _parser = new pb::MessageParser<FooRequest>(() => new FooRequest());
6110     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6111     public static pb::MessageParser<FooRequest> Parser { get { return _parser; } }
6112 
6113     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6114     public static pbr::MessageDescriptor Descriptor {
6115       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[27]; }
6116     }
6117 
6118     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6119     pbr::MessageDescriptor pb::IMessage.Descriptor {
6120       get { return Descriptor; }
6121     }
6122 
6123     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
FooRequest()6124     public FooRequest() {
6125       OnConstruction();
6126     }
6127 
OnConstruction()6128     partial void OnConstruction();
6129 
6130     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
FooRequest(FooRequest other)6131     public FooRequest(FooRequest other) : this() {
6132     }
6133 
6134     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()6135     public FooRequest Clone() {
6136       return new FooRequest(this);
6137     }
6138 
6139     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)6140     public override bool Equals(object other) {
6141       return Equals(other as FooRequest);
6142     }
6143 
6144     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(FooRequest other)6145     public bool Equals(FooRequest other) {
6146       if (ReferenceEquals(other, null)) {
6147         return false;
6148       }
6149       if (ReferenceEquals(other, this)) {
6150         return true;
6151       }
6152       return true;
6153     }
6154 
6155     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()6156     public override int GetHashCode() {
6157       int hash = 1;
6158       return hash;
6159     }
6160 
6161     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()6162     public override string ToString() {
6163       return pb::JsonFormatter.ToDiagnosticString(this);
6164     }
6165 
6166     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)6167     public void WriteTo(pb::CodedOutputStream output) {
6168     }
6169 
6170     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()6171     public int CalculateSize() {
6172       int size = 0;
6173       return size;
6174     }
6175 
6176     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(FooRequest other)6177     public void MergeFrom(FooRequest other) {
6178       if (other == null) {
6179         return;
6180       }
6181     }
6182 
6183     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)6184     public void MergeFrom(pb::CodedInputStream input) {
6185       uint tag;
6186       while ((tag = input.ReadTag()) != 0) {
6187         switch(tag) {
6188           default:
6189             input.SkipLastField();
6190             break;
6191         }
6192       }
6193     }
6194 
6195   }
6196 
6197   public sealed partial class FooResponse : pb::IMessage<FooResponse> {
6198     private static readonly pb::MessageParser<FooResponse> _parser = new pb::MessageParser<FooResponse>(() => new FooResponse());
6199     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6200     public static pb::MessageParser<FooResponse> Parser { get { return _parser; } }
6201 
6202     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6203     public static pbr::MessageDescriptor Descriptor {
6204       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[28]; }
6205     }
6206 
6207     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6208     pbr::MessageDescriptor pb::IMessage.Descriptor {
6209       get { return Descriptor; }
6210     }
6211 
6212     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
FooResponse()6213     public FooResponse() {
6214       OnConstruction();
6215     }
6216 
OnConstruction()6217     partial void OnConstruction();
6218 
6219     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
FooResponse(FooResponse other)6220     public FooResponse(FooResponse other) : this() {
6221     }
6222 
6223     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()6224     public FooResponse Clone() {
6225       return new FooResponse(this);
6226     }
6227 
6228     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)6229     public override bool Equals(object other) {
6230       return Equals(other as FooResponse);
6231     }
6232 
6233     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(FooResponse other)6234     public bool Equals(FooResponse other) {
6235       if (ReferenceEquals(other, null)) {
6236         return false;
6237       }
6238       if (ReferenceEquals(other, this)) {
6239         return true;
6240       }
6241       return true;
6242     }
6243 
6244     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()6245     public override int GetHashCode() {
6246       int hash = 1;
6247       return hash;
6248     }
6249 
6250     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()6251     public override string ToString() {
6252       return pb::JsonFormatter.ToDiagnosticString(this);
6253     }
6254 
6255     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)6256     public void WriteTo(pb::CodedOutputStream output) {
6257     }
6258 
6259     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()6260     public int CalculateSize() {
6261       int size = 0;
6262       return size;
6263     }
6264 
6265     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(FooResponse other)6266     public void MergeFrom(FooResponse other) {
6267       if (other == null) {
6268         return;
6269       }
6270     }
6271 
6272     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)6273     public void MergeFrom(pb::CodedInputStream input) {
6274       uint tag;
6275       while ((tag = input.ReadTag()) != 0) {
6276         switch(tag) {
6277           default:
6278             input.SkipLastField();
6279             break;
6280         }
6281       }
6282     }
6283 
6284   }
6285 
6286   public sealed partial class FooClientMessage : pb::IMessage<FooClientMessage> {
6287     private static readonly pb::MessageParser<FooClientMessage> _parser = new pb::MessageParser<FooClientMessage>(() => new FooClientMessage());
6288     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6289     public static pb::MessageParser<FooClientMessage> Parser { get { return _parser; } }
6290 
6291     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6292     public static pbr::MessageDescriptor Descriptor {
6293       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[29]; }
6294     }
6295 
6296     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6297     pbr::MessageDescriptor pb::IMessage.Descriptor {
6298       get { return Descriptor; }
6299     }
6300 
6301     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
FooClientMessage()6302     public FooClientMessage() {
6303       OnConstruction();
6304     }
6305 
OnConstruction()6306     partial void OnConstruction();
6307 
6308     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
FooClientMessage(FooClientMessage other)6309     public FooClientMessage(FooClientMessage other) : this() {
6310     }
6311 
6312     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()6313     public FooClientMessage Clone() {
6314       return new FooClientMessage(this);
6315     }
6316 
6317     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)6318     public override bool Equals(object other) {
6319       return Equals(other as FooClientMessage);
6320     }
6321 
6322     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(FooClientMessage other)6323     public bool Equals(FooClientMessage other) {
6324       if (ReferenceEquals(other, null)) {
6325         return false;
6326       }
6327       if (ReferenceEquals(other, this)) {
6328         return true;
6329       }
6330       return true;
6331     }
6332 
6333     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()6334     public override int GetHashCode() {
6335       int hash = 1;
6336       return hash;
6337     }
6338 
6339     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()6340     public override string ToString() {
6341       return pb::JsonFormatter.ToDiagnosticString(this);
6342     }
6343 
6344     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)6345     public void WriteTo(pb::CodedOutputStream output) {
6346     }
6347 
6348     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()6349     public int CalculateSize() {
6350       int size = 0;
6351       return size;
6352     }
6353 
6354     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(FooClientMessage other)6355     public void MergeFrom(FooClientMessage other) {
6356       if (other == null) {
6357         return;
6358       }
6359     }
6360 
6361     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)6362     public void MergeFrom(pb::CodedInputStream input) {
6363       uint tag;
6364       while ((tag = input.ReadTag()) != 0) {
6365         switch(tag) {
6366           default:
6367             input.SkipLastField();
6368             break;
6369         }
6370       }
6371     }
6372 
6373   }
6374 
6375   public sealed partial class FooServerMessage : pb::IMessage<FooServerMessage> {
6376     private static readonly pb::MessageParser<FooServerMessage> _parser = new pb::MessageParser<FooServerMessage>(() => new FooServerMessage());
6377     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6378     public static pb::MessageParser<FooServerMessage> Parser { get { return _parser; } }
6379 
6380     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6381     public static pbr::MessageDescriptor Descriptor {
6382       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[30]; }
6383     }
6384 
6385     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6386     pbr::MessageDescriptor pb::IMessage.Descriptor {
6387       get { return Descriptor; }
6388     }
6389 
6390     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
FooServerMessage()6391     public FooServerMessage() {
6392       OnConstruction();
6393     }
6394 
OnConstruction()6395     partial void OnConstruction();
6396 
6397     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
FooServerMessage(FooServerMessage other)6398     public FooServerMessage(FooServerMessage other) : this() {
6399     }
6400 
6401     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()6402     public FooServerMessage Clone() {
6403       return new FooServerMessage(this);
6404     }
6405 
6406     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)6407     public override bool Equals(object other) {
6408       return Equals(other as FooServerMessage);
6409     }
6410 
6411     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(FooServerMessage other)6412     public bool Equals(FooServerMessage other) {
6413       if (ReferenceEquals(other, null)) {
6414         return false;
6415       }
6416       if (ReferenceEquals(other, this)) {
6417         return true;
6418       }
6419       return true;
6420     }
6421 
6422     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()6423     public override int GetHashCode() {
6424       int hash = 1;
6425       return hash;
6426     }
6427 
6428     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()6429     public override string ToString() {
6430       return pb::JsonFormatter.ToDiagnosticString(this);
6431     }
6432 
6433     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)6434     public void WriteTo(pb::CodedOutputStream output) {
6435     }
6436 
6437     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()6438     public int CalculateSize() {
6439       int size = 0;
6440       return size;
6441     }
6442 
6443     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(FooServerMessage other)6444     public void MergeFrom(FooServerMessage other) {
6445       if (other == null) {
6446         return;
6447       }
6448     }
6449 
6450     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)6451     public void MergeFrom(pb::CodedInputStream input) {
6452       uint tag;
6453       while ((tag = input.ReadTag()) != 0) {
6454         switch(tag) {
6455           default:
6456             input.SkipLastField();
6457             break;
6458         }
6459       }
6460     }
6461 
6462   }
6463 
6464   public sealed partial class BarRequest : pb::IMessage<BarRequest> {
6465     private static readonly pb::MessageParser<BarRequest> _parser = new pb::MessageParser<BarRequest>(() => new BarRequest());
6466     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6467     public static pb::MessageParser<BarRequest> Parser { get { return _parser; } }
6468 
6469     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6470     public static pbr::MessageDescriptor Descriptor {
6471       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[31]; }
6472     }
6473 
6474     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6475     pbr::MessageDescriptor pb::IMessage.Descriptor {
6476       get { return Descriptor; }
6477     }
6478 
6479     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
BarRequest()6480     public BarRequest() {
6481       OnConstruction();
6482     }
6483 
OnConstruction()6484     partial void OnConstruction();
6485 
6486     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
BarRequest(BarRequest other)6487     public BarRequest(BarRequest other) : this() {
6488     }
6489 
6490     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()6491     public BarRequest Clone() {
6492       return new BarRequest(this);
6493     }
6494 
6495     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)6496     public override bool Equals(object other) {
6497       return Equals(other as BarRequest);
6498     }
6499 
6500     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(BarRequest other)6501     public bool Equals(BarRequest other) {
6502       if (ReferenceEquals(other, null)) {
6503         return false;
6504       }
6505       if (ReferenceEquals(other, this)) {
6506         return true;
6507       }
6508       return true;
6509     }
6510 
6511     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()6512     public override int GetHashCode() {
6513       int hash = 1;
6514       return hash;
6515     }
6516 
6517     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()6518     public override string ToString() {
6519       return pb::JsonFormatter.ToDiagnosticString(this);
6520     }
6521 
6522     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)6523     public void WriteTo(pb::CodedOutputStream output) {
6524     }
6525 
6526     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()6527     public int CalculateSize() {
6528       int size = 0;
6529       return size;
6530     }
6531 
6532     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(BarRequest other)6533     public void MergeFrom(BarRequest other) {
6534       if (other == null) {
6535         return;
6536       }
6537     }
6538 
6539     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)6540     public void MergeFrom(pb::CodedInputStream input) {
6541       uint tag;
6542       while ((tag = input.ReadTag()) != 0) {
6543         switch(tag) {
6544           default:
6545             input.SkipLastField();
6546             break;
6547         }
6548       }
6549     }
6550 
6551   }
6552 
6553   public sealed partial class BarResponse : pb::IMessage<BarResponse> {
6554     private static readonly pb::MessageParser<BarResponse> _parser = new pb::MessageParser<BarResponse>(() => new BarResponse());
6555     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6556     public static pb::MessageParser<BarResponse> Parser { get { return _parser; } }
6557 
6558     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6559     public static pbr::MessageDescriptor Descriptor {
6560       get { return global::Google.Protobuf.TestProtos.UnittestProto3Reflection.Descriptor.MessageTypes[32]; }
6561     }
6562 
6563     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6564     pbr::MessageDescriptor pb::IMessage.Descriptor {
6565       get { return Descriptor; }
6566     }
6567 
6568     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
BarResponse()6569     public BarResponse() {
6570       OnConstruction();
6571     }
6572 
OnConstruction()6573     partial void OnConstruction();
6574 
6575     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
BarResponse(BarResponse other)6576     public BarResponse(BarResponse other) : this() {
6577     }
6578 
6579     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Clone()6580     public BarResponse Clone() {
6581       return new BarResponse(this);
6582     }
6583 
6584     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(object other)6585     public override bool Equals(object other) {
6586       return Equals(other as BarResponse);
6587     }
6588 
6589     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
Equals(BarResponse other)6590     public bool Equals(BarResponse other) {
6591       if (ReferenceEquals(other, null)) {
6592         return false;
6593       }
6594       if (ReferenceEquals(other, this)) {
6595         return true;
6596       }
6597       return true;
6598     }
6599 
6600     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
GetHashCode()6601     public override int GetHashCode() {
6602       int hash = 1;
6603       return hash;
6604     }
6605 
6606     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
ToString()6607     public override string ToString() {
6608       return pb::JsonFormatter.ToDiagnosticString(this);
6609     }
6610 
6611     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
WriteTo(pb::CodedOutputStream output)6612     public void WriteTo(pb::CodedOutputStream output) {
6613     }
6614 
6615     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
CalculateSize()6616     public int CalculateSize() {
6617       int size = 0;
6618       return size;
6619     }
6620 
6621     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(BarResponse other)6622     public void MergeFrom(BarResponse other) {
6623       if (other == null) {
6624         return;
6625       }
6626     }
6627 
6628     [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
MergeFrom(pb::CodedInputStream input)6629     public void MergeFrom(pb::CodedInputStream input) {
6630       uint tag;
6631       while ((tag = input.ReadTag()) != 0) {
6632         switch(tag) {
6633           default:
6634             input.SkipLastField();
6635             break;
6636         }
6637       }
6638     }
6639 
6640   }
6641 
6642   #endregion
6643 
6644 }
6645 
6646 #endregion Designer generated code
6647