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