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